permissify 0.0.10 → 0.0.11
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.
- data/lib/generators/permissify/controller/controller_generator.rb +2 -1
- data/lib/generators/permissify/controller/template/permissions_controller.rb +78 -0
- data/lib/generators/permissify/views/template/permissions/_form.erb +1 -1
- metadata +5 -4
- /data/lib/generators/permissify/controller/template/{interface/permissified_controller.rb → permissified_controller.rb} +0 -0
@@ -1,9 +1,10 @@
|
|
1
1
|
module Permissify
|
2
2
|
module Generators
|
3
3
|
class ControllerGenerator < Rails::Generators::Base
|
4
|
-
source_root File.expand_path('../template
|
4
|
+
source_root File.expand_path('../template', __FILE__)
|
5
5
|
|
6
6
|
def generate_controller
|
7
|
+
copy_file "permissions_controller.rb", "app/controllers/permissions_controller.rb"
|
7
8
|
copy_file "permissified_controller.rb", "app/controllers/permissified_controller.rb"
|
8
9
|
end
|
9
10
|
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
class PermissionsController < ApplicationController
|
2
|
+
before_filter :require_user
|
3
|
+
before_filter :set_permissions_class
|
4
|
+
before_filter :find_permissions_object, :only => [:edit, :update, :destroy]
|
5
|
+
before_filter :set_nav
|
6
|
+
|
7
|
+
def index
|
8
|
+
render :template => 'permissions/index'
|
9
|
+
end
|
10
|
+
|
11
|
+
def edit
|
12
|
+
js_response
|
13
|
+
end
|
14
|
+
|
15
|
+
def destroy
|
16
|
+
if @permissions_object.respond_to?(:deleted_at)
|
17
|
+
@permissions_object.update_attribute(:deleted_at, Time.now)
|
18
|
+
else
|
19
|
+
@permissions_object.destroy
|
20
|
+
end
|
21
|
+
js_response
|
22
|
+
end
|
23
|
+
|
24
|
+
def create
|
25
|
+
@permissions_object = @permissions_class.new
|
26
|
+
@permissions_object.name = params[:role][:name]
|
27
|
+
@permissions_object.from = params[:role][:from]
|
28
|
+
@permissions_object.save
|
29
|
+
set_permissions_object
|
30
|
+
@response_message = @permissions_object.errors.full_messages.join(', ')
|
31
|
+
js_response
|
32
|
+
end
|
33
|
+
|
34
|
+
def update
|
35
|
+
permission_attributes = params[@permissions_name]
|
36
|
+
permission_attributes ||= {}
|
37
|
+
class_attributes = params[@corresponding_class_params_key]
|
38
|
+
class_attributes ||= {}
|
39
|
+
# @saved = @permissions_object.update_attributes class_attributes.merge(permission_attributes)
|
40
|
+
attrs = class_attributes.merge(permission_attributes)
|
41
|
+
@permissions_object.domain_type = attrs[:domain_type]
|
42
|
+
@permissions_object.managed_by = attrs[:managed_by]
|
43
|
+
@permissions_object.can_manage_roles = attrs[:can_manage_roles]
|
44
|
+
@permissions_object.permissions = attrs[:permissions]
|
45
|
+
# @permissions_object.attributes = class_attributes.merge(permission_attributes)
|
46
|
+
@saved = @permissions_object.save
|
47
|
+
js_response
|
48
|
+
end
|
49
|
+
|
50
|
+
def set_the_permissions_class(the_class, corresponding_class_params_key, prefix, applicability, permissions_header, sort_field = :name)
|
51
|
+
@permissions_prefix = prefix
|
52
|
+
@permissions_class = the_class
|
53
|
+
@corresponding_class_params_key = corresponding_class_params_key
|
54
|
+
@applicability = applicability
|
55
|
+
# relative pathing isn't working in devint (ok in dev): working around with post-deploy symlinks
|
56
|
+
@view_directory = Rails.env == 'development' ? '../permissions/' : ''
|
57
|
+
@permissions_name = @permissions_prefix.chop
|
58
|
+
@permissions_category = @permissions_name+'s'
|
59
|
+
@sort_field = sort_field
|
60
|
+
@index_columns = corresponding_class_params_key == :role ? 6 : 4
|
61
|
+
@permissions_header = permissions_header
|
62
|
+
end
|
63
|
+
|
64
|
+
def find_permissions_object
|
65
|
+
@permissions_object = @permissions_class.find(params[:id])
|
66
|
+
set_permissions_object
|
67
|
+
end
|
68
|
+
|
69
|
+
def js_response
|
70
|
+
render :action => "#{@view_directory}#{params[:action]}_response"
|
71
|
+
end
|
72
|
+
|
73
|
+
def set_nav
|
74
|
+
@active_tab = 'admin'
|
75
|
+
@active_section = 'Admin'
|
76
|
+
@active_nav = 'Roles'
|
77
|
+
end
|
78
|
+
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<h1 class="pageName">Edit <%= @permissions_header %></h1>
|
3
3
|
<%= form_tag form_path, :method => :put, :remote => true do |f| %>
|
4
4
|
<!-- %= error_messages_for :product_tier % -->
|
5
|
-
<table>
|
5
|
+
<table style="border-spacing:8px;">
|
6
6
|
<tbody>
|
7
7
|
<%= render :partial => 'permissions_fields' %>
|
8
8
|
<tr>
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: permissify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 9
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 11
|
10
|
+
version: 0.0.11
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Frederick Fix
|
@@ -62,7 +62,8 @@ files:
|
|
62
62
|
- lib/generators/permissify/ability/template/ability.rb
|
63
63
|
- lib/generators/permissify/ability/USAGE
|
64
64
|
- lib/generators/permissify/controller/controller_generator.rb
|
65
|
-
- lib/generators/permissify/controller/template/
|
65
|
+
- lib/generators/permissify/controller/template/permissified_controller.rb
|
66
|
+
- lib/generators/permissify/controller/template/permissions_controller.rb
|
66
67
|
- lib/generators/permissify/controller/USAGE
|
67
68
|
- lib/generators/permissify/product/product_generator.rb
|
68
69
|
- lib/generators/permissify/product/template/interface/permissified_brand.rb
|