usman 0.1.5dev4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/usman/admin/dashboard_controller.rb +1 -1
- data/app/controllers/usman/admin/features_controller.rb +0 -2
- data/app/controllers/usman/admin/permissions_controller.rb +15 -8
- data/app/controllers/usman/admin/roles_controller.rb +2 -3
- data/app/controllers/usman/admin/users_controller.rb +2 -4
- data/app/helpers/usman/authentication_helper.rb +9 -20
- data/app/models/feature.rb +37 -37
- data/app/models/permission.rb +8 -3
- data/app/models/role.rb +6 -3
- data/app/models/user.rb +79 -70
- data/app/models/usman/application_record.rb +0 -3
- data/app/views/layouts/kuppayam/_sidebar.html.erb +7 -8
- data/app/views/usman/admin/features/_action_buttons.html.erb +0 -0
- data/app/views/usman/admin/features/_form.html.erb +2 -5
- data/app/views/usman/admin/features/_index.html.erb +1 -4
- data/app/views/usman/admin/features/index.html.erb +3 -20
- data/app/views/usman/admin/features/temp/create.js.erb +29 -0
- data/app/views/usman/admin/features/temp/destroy.js.erb +16 -0
- data/app/views/usman/admin/features/temp/edit.js.erb +7 -0
- data/app/views/usman/admin/features/temp/index.js.erb +8 -0
- data/app/views/usman/admin/features/temp/new.js.erb +7 -0
- data/app/views/usman/admin/features/temp/row.js.erb +10 -0
- data/app/views/usman/admin/features/temp/show.js.erb +8 -0
- data/app/views/usman/admin/features/temp/update.js.erb +16 -0
- data/app/views/usman/admin/permissions/_show.html.erb +10 -2
- data/app/views/usman/admin/permissions/index.html.erb +3 -20
- data/app/views/usman/admin/permissions/temp/create.js.erb +29 -0
- data/app/views/usman/admin/permissions/temp/destroy.js.erb +22 -0
- data/app/views/usman/admin/permissions/temp/edit.js.erb +4 -0
- data/app/views/usman/admin/permissions/temp/index.js.erb +14 -0
- data/app/views/usman/admin/permissions/temp/new.js.erb +4 -0
- data/app/views/usman/admin/permissions/temp/row.js.erb +24 -0
- data/app/views/usman/admin/permissions/temp/show.js.erb +13 -0
- data/app/views/usman/admin/permissions/temp/update.js.erb +29 -0
- data/app/views/usman/admin/roles/_form.html.erb +1 -1
- data/app/views/usman/admin/roles/_index.html.erb +3 -3
- data/app/views/usman/admin/roles/_row.html.erb +2 -2
- data/app/views/usman/admin/roles/_show.html.erb +7 -41
- data/app/views/usman/admin/roles/index.html.erb +3 -22
- data/app/views/usman/admin/users/_index.html.erb +16 -22
- data/app/views/usman/admin/users/_row.html.erb +4 -4
- data/app/views/usman/admin/users/_show.html.erb +1 -1
- data/app/views/usman/admin/users/index.html.erb +2 -4
- data/app/views/usman/sessions/_form.html.erb +7 -19
- data/config/locales/kuppayam/authentication.en.yml +1 -1
- data/config/routes.rb +1 -3
- data/db/import_data/dummy/images/users/guna.neweast.png +0 -0
- data/db/import_data/dummy/images/users/junaid.ramzan.jpg +0 -0
- data/db/import_data/dummy/images/users/kpvarma.png +0 -0
- data/db/import_data/dummy/images/users/stephen.price.png +0 -0
- data/db/import_data/dummy/images/users/vinodh.jpg +0 -0
- data/db/import_data/dummy/users.csv +3 -3
- data/db/import_data/features.csv +10 -0
- data/db/import_data/images/users/junaid.ramzan.jpg +0 -0
- data/db/import_data/images/users/kpvarma.png +0 -0
- data/db/import_data/images/users/vinodh.jpg +0 -0
- data/db/import_data/permissions.csv +30 -0
- data/db/migrate/20170000000100_create_users.rb +1 -1
- data/db/migrate/20170000000101_create_features.rb +1 -1
- data/db/migrate/20170000000102_create_roles.rb +1 -1
- data/lib/tasks/usman/all.rake +10 -34
- data/lib/{temp → tasks/usman}/features.rake +6 -3
- data/lib/{temp → tasks/usman}/permissions.rake +5 -3
- data/lib/{temp → tasks/usman}/users.rake +5 -3
- data/lib/usman/engine.rb +2 -0
- data/lib/usman/extras/import_error_handler.rb +79 -0
- data/lib/usman/version.rb +1 -1
- metadata +37 -17
- data/app/controllers/usman/admin/user_roles_controller.rb +0 -142
- data/app/views/usman/admin/user_roles/_form.html.erb +0 -24
- data/app/views/usman/admin/user_roles/_index.html.erb +0 -59
- data/app/views/usman/admin/user_roles/_row.html.erb +0 -30
- data/app/views/usman/admin/user_roles/_show.html.erb +0 -74
- data/db/import_data/dummy/roles.csv +0 -9
- data/db/import_data/roles.csv +0 -5
- data/lib/temp/roles.rake +0 -24
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
module Usman
|
|
2
|
-
module Admin
|
|
3
|
-
class UserRolesController < ResourceController
|
|
4
|
-
|
|
5
|
-
before_action :get_role
|
|
6
|
-
|
|
7
|
-
def index
|
|
8
|
-
get_collections
|
|
9
|
-
respond_to do |format|
|
|
10
|
-
format.html {}
|
|
11
|
-
format.js {
|
|
12
|
-
js_view_path = @resource_options && @resource_options[:js_view_path] ? "#{@resource_options[:js_view_path]}/index" : :index
|
|
13
|
-
render js_view_path
|
|
14
|
-
}
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def show
|
|
19
|
-
@user = @r_object = @resource_options[:class].find_by_id(params[:id])
|
|
20
|
-
set_notification(false, I18n.t('status.error'), I18n.t('status.not_found', item: default_item_name.titleize)) unless @r_object
|
|
21
|
-
render_accordingly
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def new
|
|
25
|
-
@user = User.new
|
|
26
|
-
render_accordingly
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def create
|
|
30
|
-
@user = @r_object = User.find_by_id(permitted_params[:id])
|
|
31
|
-
if @user.add_role(@role)
|
|
32
|
-
set_notification(true, I18n.t('status.success'), "Role '#{@role.name}' has been assigned to the user '#{@user.name}'")
|
|
33
|
-
else
|
|
34
|
-
set_notification(false, I18n.t('status.success'), "Failed to assign the Role '#{@role.name}'")
|
|
35
|
-
end
|
|
36
|
-
action_name = params[:action].to_s == "create" ? "new" : "edit"
|
|
37
|
-
render_or_redirect(false, resource_url(@r_object), action_name)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def destroy
|
|
41
|
-
@user = @r_object = User.find_by_id(params[:id])
|
|
42
|
-
if @user
|
|
43
|
-
if @user.remove_role(@role)
|
|
44
|
-
get_collections
|
|
45
|
-
set_flash_message(I18n.t('success.deleted'), :success)
|
|
46
|
-
set_notification(true, I18n.t('status.success'), "Role '#{@role.name}' has been removed for the user '#{@user.name}'")
|
|
47
|
-
@destroyed = true
|
|
48
|
-
else
|
|
49
|
-
message = I18n.t('errors.failed_to_delete', item: default_item_name.titleize)
|
|
50
|
-
set_flash_message(message, :failure)
|
|
51
|
-
set_notification(false, I18n.t('status.success'), "Failed to remove the Role '#{@role.name}'")
|
|
52
|
-
@destroyed = false
|
|
53
|
-
end
|
|
54
|
-
else
|
|
55
|
-
set_notification(false, I18n.t('status.error'), I18n.t('status.not_found', item: default_item_name.titleize))
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
respond_to do |format|
|
|
59
|
-
format.html {}
|
|
60
|
-
format.js {
|
|
61
|
-
js_view_path = @resource_options && @resource_options[:js_view_path] ? "#{@resource_options[:js_view_path]}/destroy" : :destroy
|
|
62
|
-
render js_view_path
|
|
63
|
-
}
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
private
|
|
69
|
-
|
|
70
|
-
def get_role
|
|
71
|
-
@role = Role.find_by_id(params[:role_id])
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
def get_collections
|
|
75
|
-
@relation = @role.users.where("")
|
|
76
|
-
|
|
77
|
-
parse_filters
|
|
78
|
-
apply_filters
|
|
79
|
-
|
|
80
|
-
@users = @r_objects = @relation.page(@current_page).per(@per_page)
|
|
81
|
-
|
|
82
|
-
return true
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
def apply_filters
|
|
86
|
-
@relation = @relation.search(@query) if @query
|
|
87
|
-
|
|
88
|
-
@order_by = "name ASC" unless @order_by
|
|
89
|
-
@relation = @relation.order(@order_by)
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
def configure_filter_settings
|
|
93
|
-
@filter_settings = {
|
|
94
|
-
string_filters: [
|
|
95
|
-
{ filter_name: :query }
|
|
96
|
-
],
|
|
97
|
-
boolean_filters: [],
|
|
98
|
-
reference_filters: [],
|
|
99
|
-
variable_filters: [],
|
|
100
|
-
}
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
def configure_filter_ui_settings
|
|
104
|
-
@filter_ui_settings = {}
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
def resource_url(obj)
|
|
108
|
-
url_for([:admin, @role, obj])
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
def resource_controller_configuration
|
|
112
|
-
{
|
|
113
|
-
collection_name: :users,
|
|
114
|
-
item_name: :user,
|
|
115
|
-
class: User,
|
|
116
|
-
show_modal_after_update: false,
|
|
117
|
-
show_modal_after_update: false,
|
|
118
|
-
page_title: "Manage User Roles",
|
|
119
|
-
js_view_path: "/kuppayam/workflows/parrot",
|
|
120
|
-
view_path: "/usman/admin/user_roles"
|
|
121
|
-
}
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
def breadcrumbs_configuration
|
|
125
|
-
{
|
|
126
|
-
heading: "Manage User Roles",
|
|
127
|
-
description: "Listing all User Roles",
|
|
128
|
-
links: [{name: "Home", link: admin_dashboard_path, icon: 'fa-home'}]
|
|
129
|
-
}
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
def permitted_params
|
|
133
|
-
params.require(:user).permit(:id)
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
def set_navs
|
|
137
|
-
set_nav("admin/roles/user_roles")
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
end
|
|
141
|
-
end
|
|
142
|
-
end
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<%= form_for([:admin, @role, @user], :html => {:id=>"form_user", :class=>"mb-0 form-horizontal", :user => "form", :method => (@user.new_record? ? :post : :put), :remote=>true}) do |f| %>
|
|
2
|
-
|
|
3
|
-
<div id="user_form_error">
|
|
4
|
-
<%= @user.errors[:base].to_sentence %>
|
|
5
|
-
</div>
|
|
6
|
-
|
|
7
|
-
<div class="form-inputs mb-30 mt-30">
|
|
8
|
-
<% options = {assoc_collection: User.approved.normal_users.select("id, name").order("name ASC").all, required: false, editable: true, assoc_display_method: :name} %>
|
|
9
|
-
<%= theme_form_assoc_group(@user, :id, label: "Select User", **options) %>
|
|
10
|
-
</div>
|
|
11
|
-
|
|
12
|
-
<div>
|
|
13
|
-
|
|
14
|
-
<%= submit_tag("Save", :class=>"btn btn-primary pull-right ml-10") %>
|
|
15
|
-
|
|
16
|
-
<%= link_to raw("<i class='fa fa-close mr-5'></i><span>Cancel</span>"), "#", onclick: "closeGenericModal();", class: "pull-right ml-10 btn btn-white" %>
|
|
17
|
-
|
|
18
|
-
</div>
|
|
19
|
-
<%= clear_tag(10) %>
|
|
20
|
-
|
|
21
|
-
</div>
|
|
22
|
-
|
|
23
|
-
<% end %>
|
|
24
|
-
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
<div class="table-responsive">
|
|
2
|
-
<table class="table table-hover members-table middle-align">
|
|
3
|
-
<thead>
|
|
4
|
-
<tr>
|
|
5
|
-
<th style="text-align: center;width:60px">#</th>
|
|
6
|
-
<th style="text-align: center;width:100px"><i class="fa fa-photo"></i></th>
|
|
7
|
-
<th>Name</th>
|
|
8
|
-
<th>Roles</th>
|
|
9
|
-
<th style="text-align: center;" colspan="2">Actions</th>
|
|
10
|
-
</tr>
|
|
11
|
-
</thead>
|
|
12
|
-
|
|
13
|
-
<tbody>
|
|
14
|
-
<% @users.each_with_index do |user, i| %>
|
|
15
|
-
|
|
16
|
-
<% delete_link = admin_role_user_path(@role, user) %>
|
|
17
|
-
|
|
18
|
-
<tr id="tr_user_<%= user.id %>">
|
|
19
|
-
|
|
20
|
-
<th scope="row" style="text-align: center;">
|
|
21
|
-
<% if i < 0 %>
|
|
22
|
-
<i class="fa fa-check text-success"></i>
|
|
23
|
-
<% else %>
|
|
24
|
-
<%= i + 1 + (@per_page.to_i * (@current_page.to_i - 1)) %>
|
|
25
|
-
<% end %>
|
|
26
|
-
</th>
|
|
27
|
-
|
|
28
|
-
<td class="user-image">
|
|
29
|
-
<%= link_to(admin_user_path(user), remote: true) do %>
|
|
30
|
-
<%= display_image(user, "profile_picture.image.small.url", width: "120", height: "auto", class: "img-rectangle", alt: user.display_name) %>
|
|
31
|
-
<% end %>
|
|
32
|
-
</td>
|
|
33
|
-
|
|
34
|
-
<td class="user-name"><%= user.display_name %></td>
|
|
35
|
-
|
|
36
|
-
<td class="user-name">
|
|
37
|
-
<% user.roles.collect(&:name).each do |r| %>
|
|
38
|
-
<span class="ml-5 label label-primary"><%= r %></span>
|
|
39
|
-
<% end %>
|
|
40
|
-
</td>
|
|
41
|
-
|
|
42
|
-
<td class="action-links" style="width:10%">
|
|
43
|
-
|
|
44
|
-
<%= link_to raw("<i class=\"linecons-trash\"></i> Remove Role"), delete_link, method: :delete, user: "menuitem", tabindex: "-1", data: { confirm: 'Are you sure?' }, :remote=>true, class: "delete" %>
|
|
45
|
-
|
|
46
|
-
</td>
|
|
47
|
-
|
|
48
|
-
</tr>
|
|
49
|
-
<% end %>
|
|
50
|
-
</tbody>
|
|
51
|
-
</table>
|
|
52
|
-
</div>
|
|
53
|
-
|
|
54
|
-
<div class="row">
|
|
55
|
-
<div class="col-sm-12">
|
|
56
|
-
<%= paginate_kuppayam(@users) %>
|
|
57
|
-
</div>
|
|
58
|
-
</div>
|
|
59
|
-
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
<% edit_link = edit_admin_role_user_path(@role, user) %>
|
|
2
|
-
<% delete_link = admin_role_user_path(@role, user) %>
|
|
3
|
-
|
|
4
|
-
<tr id="tr_user_<%= user.id %>">
|
|
5
|
-
|
|
6
|
-
<th scope="row" style="text-align: center;">
|
|
7
|
-
<% if i < 0 %>
|
|
8
|
-
<i class="fa fa-check text-success"></i>
|
|
9
|
-
<% else %>
|
|
10
|
-
<%= i + 1 + (@per_page.to_i * (@current_page.to_i - 1)) %>
|
|
11
|
-
<% end %>
|
|
12
|
-
</th>
|
|
13
|
-
|
|
14
|
-
<td class="user-image">
|
|
15
|
-
<%= link_to(admin_user_path(user), remote: true) do %>
|
|
16
|
-
<%= display_image(user, "profile_picture.image.small.url", width: "120", height: "auto", class: "img-rectangle", alt: user.display_name) %>
|
|
17
|
-
<% end %>
|
|
18
|
-
</td>
|
|
19
|
-
|
|
20
|
-
<td class="user-name"><%= user.display_name %></td>
|
|
21
|
-
|
|
22
|
-
<td class="user-name"><%= user.roles.collect(&:name) %></td>
|
|
23
|
-
|
|
24
|
-
<td class="action-links" style="width:10%">
|
|
25
|
-
|
|
26
|
-
<%= link_to raw("<i class=\"linecons-trash\"></i> Remove Role"), delete_link, method: :delete, user: "menuitem", tabindex: "-1", data: { confirm: 'Are you sure?' }, :remote=>true, class: "delete" %>
|
|
27
|
-
|
|
28
|
-
</td>
|
|
29
|
-
|
|
30
|
-
</tr>
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
<div id="div_user_show">
|
|
2
|
-
|
|
3
|
-
<div class="row">
|
|
4
|
-
|
|
5
|
-
<div class="col-md-9 col-sm-12 col-xs-12" style="border-right:1px solid #f1f1f1;">
|
|
6
|
-
|
|
7
|
-
<div class="visible-sm visible-xs mt-50"></div>
|
|
8
|
-
|
|
9
|
-
<%= theme_panel_heading(@user.display_name) %>
|
|
10
|
-
<%= theme_panel_sub_heading(@user.code, "#") %>
|
|
11
|
-
<%= theme_panel_description(@user.role.name) if @user.role %>
|
|
12
|
-
|
|
13
|
-
<%= clear_tag(10) %>
|
|
14
|
-
|
|
15
|
-
<div class="visible-sm visible-xs mb-50"></div>
|
|
16
|
-
|
|
17
|
-
</div>
|
|
18
|
-
|
|
19
|
-
<div class="col-md-3 col-sm-12 col-xs-12">
|
|
20
|
-
|
|
21
|
-
<% edit_link = edit_admin_role_user_path(@user.role, @user) %>
|
|
22
|
-
<% delete_link = admin_role_user_path(@user.role, @user) %>
|
|
23
|
-
|
|
24
|
-
<%= link_to raw("<i class=\"linecons-pencil\"></i> Edit"), edit_link, :remote=>true, class: "btn btn-block btn-success" if @user.can_be_edited? %>
|
|
25
|
-
|
|
26
|
-
<%= link_to raw("<i class=\"linecons-trash\"></i> Delete"), delete_link, method: :delete, user: "menuitem", tabindex: "-1", data: { confirm: 'Are you sure?' }, :remote=>true, class: "btn btn-block btn-danger btn-only-hover" if @user.can_be_deleted? %>
|
|
27
|
-
|
|
28
|
-
<div class="visible-sm visible-xs mb-50"></div>
|
|
29
|
-
|
|
30
|
-
</div>
|
|
31
|
-
|
|
32
|
-
</div>
|
|
33
|
-
|
|
34
|
-
<%= clear_tag(50) %>
|
|
35
|
-
|
|
36
|
-
<ul class="nav nav-pills">
|
|
37
|
-
<li class="active">
|
|
38
|
-
<a href="#technical_details" data-toggle="tab" aria-expanded="false">
|
|
39
|
-
<span class="visible-xs"><i class="fa-database"></i></span>
|
|
40
|
-
<span class="hidden-xs">Technical Details</span>
|
|
41
|
-
</a>
|
|
42
|
-
</li>
|
|
43
|
-
</ul>
|
|
44
|
-
|
|
45
|
-
<div class="tab-content">
|
|
46
|
-
<div class="tab-pane active" id="technical_details">
|
|
47
|
-
|
|
48
|
-
<%= clear_tag(20) %>
|
|
49
|
-
|
|
50
|
-
<div class="table-responsive">
|
|
51
|
-
<table class="table table-striped table-condensed table-bordered mb-30">
|
|
52
|
-
<tbody>
|
|
53
|
-
|
|
54
|
-
<tr>
|
|
55
|
-
<th>ID</th><td colspan="3"><%= @user.id %></td>
|
|
56
|
-
</tr>
|
|
57
|
-
|
|
58
|
-
<tr>
|
|
59
|
-
<th>Created At</th><td><%= @user.created_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.created_at %></td>
|
|
60
|
-
<th>Updated At</th><td><%= @user.updated_at.strftime("%m/%d/%Y - %H:%M:%S") if @user.updated_at %></td>
|
|
61
|
-
</tr>
|
|
62
|
-
|
|
63
|
-
</tbody>
|
|
64
|
-
</table>
|
|
65
|
-
|
|
66
|
-
</div>
|
|
67
|
-
|
|
68
|
-
</div>
|
|
69
|
-
</div>
|
|
70
|
-
|
|
71
|
-
<%= link_to "Close", "#", onclick: "closeGenericModal();", class: "btn btn-primary pull-right" %>
|
|
72
|
-
|
|
73
|
-
<%= clear_tag %>
|
|
74
|
-
</div>
|
data/db/import_data/roles.csv
DELETED
data/lib/temp/roles.rake
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
require 'csv'
|
|
2
|
-
require 'open-uri'
|
|
3
|
-
require 'time'
|
|
4
|
-
|
|
5
|
-
namespace 'usman' do
|
|
6
|
-
namespace 'import' do
|
|
7
|
-
desc "Import Roles"
|
|
8
|
-
task 'roles' => :environment do
|
|
9
|
-
verbose = true
|
|
10
|
-
verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
|
|
11
|
-
path = ENV['path']
|
|
12
|
-
Role.import_data(Usman::Engine, path, false, verbose)
|
|
13
|
-
end
|
|
14
|
-
namespace 'dummy' do
|
|
15
|
-
desc "Load Dummy Roles"
|
|
16
|
-
task 'roles' => :environment do
|
|
17
|
-
verbose = true
|
|
18
|
-
verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
|
|
19
|
-
Role.import_data(Usman::Engine, nil, true, verbose)
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
end
|