permissify 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -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/interface', __FILE__)
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: 11
4
+ hash: 9
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 10
10
- version: 0.0.10
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/interface/permissified_controller.rb
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