feat: Unify user and super admin credentials (#3830)
Fixes: #3061, #3489
This commit is contained in:
26
app/views/fields/belongs_to/_form.html.erb
Normal file
26
app/views/fields/belongs_to/_form.html.erb
Normal file
@@ -0,0 +1,26 @@
|
||||
<%#
|
||||
# BelongsTo Form Partial
|
||||
|
||||
This partial renders an input element for belongs_to relationships.
|
||||
By default, the input is a collection select box
|
||||
that displays all possible records to associate with.
|
||||
|
||||
## Local variables:
|
||||
|
||||
- `f`:
|
||||
A Rails form generator, used to help create the appropriate input fields.
|
||||
- `field`:
|
||||
An instance of [Administrate::Field::BelongsTo][1].
|
||||
Contains helper methods for displaying a collection select box.
|
||||
|
||||
[1]: http://www.rubydoc.info/gems/administrate/Administrate/Field/BelongsTo
|
||||
%>
|
||||
|
||||
<div class="field-unit__label">
|
||||
<%= f.label field.permitted_attribute %>
|
||||
</div>
|
||||
<div class="field-unit__field">
|
||||
<%= f.select(field.permitted_attribute,
|
||||
options_for_select(field.associated_resource_options, field.selected_option),
|
||||
include_blank: field.include_blank_option) %>
|
||||
</div>
|
||||
32
app/views/fields/belongs_to/_index.html.erb
Normal file
32
app/views/fields/belongs_to/_index.html.erb
Normal file
@@ -0,0 +1,32 @@
|
||||
<%#
|
||||
# BelongsTo Index Partial
|
||||
|
||||
This partial renders a belongs_to relationship,
|
||||
to be displayed on a resource's index page.
|
||||
|
||||
By default, the relationship is rendered as a link to the associated object.
|
||||
|
||||
## Local variables:
|
||||
|
||||
- `field`:
|
||||
An instance of [Administrate::Field::BelongsTo][1].
|
||||
A wrapper around the belongs_to relationship pulled from the database.
|
||||
|
||||
[1]: http://www.rubydoc.info/gems/administrate/Administrate/Field/BelongsTo
|
||||
%>
|
||||
|
||||
<% if field.data %>
|
||||
<% if field.data.is_a? User %>
|
||||
<%= link_to(
|
||||
field.display_associated_resource,
|
||||
super_admin_user_path(field.data),
|
||||
) %>
|
||||
<% elsif valid_action?(:show, field.associated_class) %>
|
||||
<%= link_to(
|
||||
field.display_associated_resource,
|
||||
[namespace, field.data],
|
||||
) %>
|
||||
<% else %>
|
||||
<%= field.display_associated_resource %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
27
app/views/fields/belongs_to/_show.html.erb
Normal file
27
app/views/fields/belongs_to/_show.html.erb
Normal file
@@ -0,0 +1,27 @@
|
||||
<%#
|
||||
# BelongsTo Show Partial
|
||||
|
||||
This partial renders a belongs_to relationship,
|
||||
to be displayed on a resource's show page.
|
||||
|
||||
By default, the relationship is rendered as a link to the associated object.
|
||||
|
||||
## Local variables:
|
||||
|
||||
- `field`:
|
||||
An instance of [Administrate::Field::BelongsTo][1].
|
||||
A wrapper around the belongs_to relationship pulled from the database.
|
||||
|
||||
[1]: http://www.rubydoc.info/gems/administrate/Administrate/Field/BelongsTo
|
||||
%>
|
||||
|
||||
<% if field.data %>
|
||||
<% if valid_action?(:show, field.associated_class) %>
|
||||
<%= link_to(
|
||||
field.display_associated_resource,
|
||||
[namespace, field.data],
|
||||
) %>
|
||||
<% else %>
|
||||
<%= field.display_associated_resource %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
29
app/views/fields/polymorphic/_form.html.erb
Normal file
29
app/views/fields/polymorphic/_form.html.erb
Normal file
@@ -0,0 +1,29 @@
|
||||
<%#
|
||||
# Polymorphic Form Partial
|
||||
|
||||
This partial renders an input element for polymorphic relationships.
|
||||
|
||||
## Local variables:
|
||||
|
||||
- `f`:
|
||||
A Rails form generator, used to help create the appropriate input fields.
|
||||
- `field`:
|
||||
An instance of [Administrate::Field::Polymorphic][1].
|
||||
A wrapper around the polymorphic belongs_to relationship
|
||||
pulled from the database.
|
||||
|
||||
[1]: http://www.rubydoc.info/gems/administrate/Administrate/Field/Polymorphic
|
||||
%>
|
||||
|
||||
<%= f.fields_for field.attribute do |pf| %>
|
||||
<div class="field-unit__label">
|
||||
<%= pf.label :value, field.name.humanize %>
|
||||
</div>
|
||||
|
||||
<div class="field-unit__field">
|
||||
<%= pf.hidden_field(:type, value: field.class.name) %>
|
||||
<%= pf.select(:value) do %>
|
||||
<%= grouped_options_for_select(field.associated_resource_grouped_options, field.selected_global_id, prompt: true) %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
31
app/views/fields/polymorphic/_index.html.erb
Normal file
31
app/views/fields/polymorphic/_index.html.erb
Normal file
@@ -0,0 +1,31 @@
|
||||
<%#
|
||||
# Polymorphic Index Partial
|
||||
|
||||
This partial renders a polymorphic relationship,
|
||||
to be displayed on a resource's index page.
|
||||
|
||||
By default, the relationship is rendered as a link to the associated object.
|
||||
|
||||
## Local variables:
|
||||
|
||||
- `field`:
|
||||
An instance of [Administrate::Field::Polymorphic][1].
|
||||
A wrapper around the polymorphic belongs_to relationship
|
||||
pulled from the database.
|
||||
|
||||
[1]: http://www.rubydoc.info/gems/administrate/Administrate/Field/Polymorphic
|
||||
%>
|
||||
|
||||
<% if field.data %>
|
||||
<% if field.data.is_a? User %>
|
||||
<%= link_to(
|
||||
"User ##{field.data.id}",
|
||||
super_admin_user_path(field.data)
|
||||
) %>
|
||||
<% else %>
|
||||
<%= link_to(
|
||||
field.display_associated_resource,
|
||||
[namespace, field.data]
|
||||
) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
28
app/views/fields/polymorphic/_show.html.erb
Normal file
28
app/views/fields/polymorphic/_show.html.erb
Normal file
@@ -0,0 +1,28 @@
|
||||
<%#
|
||||
# Polymorphic Show Partial
|
||||
|
||||
This partial renders a polymorphic relationship,
|
||||
to be displayed on a resource's show page.
|
||||
|
||||
By default, the relationship is rendered as a link to the associated object.
|
||||
|
||||
## Local variables:
|
||||
|
||||
- `field`:
|
||||
An instance of [Administrate::Field::Polymorphic][1].
|
||||
A wrapper around the polymorphic belongs_to relationship
|
||||
pulled from the database.
|
||||
|
||||
[1]: http://www.rubydoc.info/gems/administrate/Administrate/Field/Polymorphic
|
||||
%>
|
||||
|
||||
<% if field.data %>
|
||||
<% if valid_action?(:show, field.data.class) %>
|
||||
<%= link_to(
|
||||
field.display_associated_resource,
|
||||
[namespace, field.data],
|
||||
) %>
|
||||
<% else %>
|
||||
<%= field.display_associated_resource %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
@@ -56,9 +56,14 @@ as defined by the routes in the `admin/` namespace
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="logout">
|
||||
|
||||
<li class="navigation__link">
|
||||
<i class="ion ion-log-out"></i>
|
||||
<%= link_to "Logout", super_admin_logout_url %>
|
||||
</li>
|
||||
<li class="navigation__link">
|
||||
<i class="ion ion-android-contacts"></i>
|
||||
<%= link_to "Agent Dashboard", '/' %>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -57,13 +57,13 @@ to display a collection of resources in an HTML table.
|
||||
<tr class="js-table-row"
|
||||
tabindex="0"
|
||||
<% if valid_action? :show, collection_presenter.resource_name %>
|
||||
<%= %(role=link data-url=#{polymorphic_path([namespace, resource])}) %>
|
||||
<%= %(role=link data-url=#{polymorphic_path([namespace, resource.becomes(User)])}) %>
|
||||
<% end %>
|
||||
>
|
||||
<% collection_presenter.attributes_for(resource).each do |attribute| %>
|
||||
<td class="cell-data cell-data--<%= attribute.html_class %>">
|
||||
<% if show_action? :show, resource -%>
|
||||
<a href="<%= polymorphic_path([namespace, resource]) -%>"
|
||||
<a href="<%= polymorphic_path([namespace, resource.becomes(User)]) -%>"
|
||||
class="action-show"
|
||||
>
|
||||
<%= render_field attribute %>
|
||||
@@ -75,7 +75,7 @@ to display a collection of resources in an HTML table.
|
||||
<% if valid_action? :edit, collection_presenter.resource_name %>
|
||||
<td><%= link_to(
|
||||
t("administrate.actions.edit"),
|
||||
[:edit, namespace, resource],
|
||||
[:edit, namespace, resource.becomes(User)],
|
||||
class: "action-edit",
|
||||
) if show_action? :edit, resource%></td>
|
||||
<% end %>
|
||||
@@ -83,7 +83,7 @@ to display a collection of resources in an HTML table.
|
||||
<% if valid_action? :destroy, collection_presenter.resource_name %>
|
||||
<td><%= link_to(
|
||||
t("administrate.actions.destroy"),
|
||||
[namespace, resource],
|
||||
[namespace, resource.becomes(User)],
|
||||
class: "text-color-red",
|
||||
method: :delete,
|
||||
data: { confirm: t("administrate.actions.confirm") }
|
||||
|
||||
Reference in New Issue
Block a user