faalis 0.7.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/faalis/dashboard/app.js +24 -9
- data/app/assets/javascripts/faalis/dashboard/application.js.erb +0 -1
- data/app/assets/javascripts/faalis/dashboard/functions.js.erb +4 -0
- data/app/assets/javascripts/faalis/dashboard/modules/anim.js +1 -1
- data/app/assets/javascripts/faalis/dashboard/modules/conversations.js +180 -0
- data/app/assets/javascripts/faalis/dashboard/modules/fields/boolean.js +49 -0
- data/app/assets/javascripts/faalis/dashboard/modules/fields/datetime.js +50 -0
- data/app/assets/javascripts/faalis/dashboard/modules/fields/fields.js +1 -0
- data/app/assets/javascripts/faalis/dashboard/modules/fields/integer.js +50 -0
- data/app/assets/javascripts/faalis/dashboard/modules/fields/relation.js +78 -0
- data/app/assets/javascripts/faalis/dashboard/modules/fields/string.js +49 -0
- data/app/assets/javascripts/faalis/dashboard/modules/fields/text.js +50 -0
- data/app/assets/javascripts/faalis/dashboard/modules/list-view.js +14 -1
- data/app/assets/javascripts/faalis/dashboard/modules/nav.js.erb +1 -1
- data/app/assets/javascripts/faalis/dashboard/modules/permissions.js +71 -0
- data/app/assets/javascripts/faalis/dashboard/variables.js.erb +2 -0
- data/app/assets/stylesheets/faalis/base.css.scss +28 -0
- data/app/controllers/faalis/api/v1/conversations_controller.rb +92 -0
- data/app/controllers/faalis/api/v1/permissions_controller.rb +39 -3
- data/app/controllers/faalis/dashboard_controller.rb +18 -1
- data/app/models/faalis/permissions/auth.rb +3 -0
- data/app/models/faalis/user.rb +3 -0
- data/app/views/angularjs_templates/auth/groups/new.html +7 -3
- data/app/views/angularjs_templates/auth/users/details.html +1 -1
- data/app/views/angularjs_templates/auth/users/new.html +4 -3
- data/app/views/angularjs_templates/conversations/details.html +18 -0
- data/app/views/angularjs_templates/conversations/index.html +6 -0
- data/app/views/angularjs_templates/conversations/new.html +39 -0
- data/app/views/angularjs_templates/conversations/show.html +6 -0
- data/app/views/angularjs_templates/conversations/show_details.html +18 -0
- data/app/views/angularjs_templates/fields/boolean/boolean.html +4 -0
- data/app/views/angularjs_templates/fields/datetime/datetime.html +4 -0
- data/app/views/angularjs_templates/fields/integer/integer.html +4 -0
- data/app/views/angularjs_templates/fields/relation/relation.html +28 -0
- data/app/views/angularjs_templates/fields/string/string.html +4 -0
- data/app/views/angularjs_templates/fields/text/text.html +4 -0
- data/app/views/angularjs_templates/list-view/index.html +1 -1
- data/app/views/angularjs_templates/modules.html +2 -2
- data/app/views/faalis/api/v1/conversations/create.json.jbuilder +1 -0
- data/app/views/faalis/api/v1/conversations/index.json.jbuilder +1 -0
- data/app/views/faalis/api/v1/conversations/show.json.jbuilder +10 -0
- data/app/views/faalis/api/v1/permissions/user_permissions.json.jbuilder +1 -0
- data/app/views/layouts/faalis/dashboard.html.erb +1 -1
- data/config/routes.rb +13 -2
- data/db/migrate/{20131013091000_devise_create_red_base_users.rb → 20131013091000_devise_create_faalis_users.rb} +0 -0
- data/db/migrate/{20131020124701_create_red_base_groups.rb → 20131020124701_create_faalis_groups.rb} +0 -0
- data/db/migrate/{20131021170923_create_red_base_permissions.rb → 20131021170923_create_faalis_permissions.rb} +0 -0
- data/db/seeds.rb +2 -0
- data/lib/faalis.rb +1 -0
- data/lib/faalis/active_record.rb +1 -56
- data/lib/faalis/engine.rb +1 -0
- data/lib/faalis/permissions.rb +65 -0
- data/lib/faalis/version.rb +1 -1
- data/lib/generators/faalis/install_generator.rb +4 -0
- data/lib/generators/faalis/js_scaffold_generator.rb +27 -8
- data/lib/generators/faalis/templates/angularjs/module.js.erb +11 -7
- data/lib/generators/faalis/templates/angularjs/new.html.erb +35 -78
- metadata +51 -11
- data/app/views/angularjs_templates/#index.html# +0 -8
data/lib/faalis/version.rb
CHANGED
@@ -25,6 +25,10 @@ module Faalis
|
|
25
25
|
desc "Copy all the necessary files to use Red Base"
|
26
26
|
class_option :orm
|
27
27
|
|
28
|
+
def install_mailboxer
|
29
|
+
invoke "mailboxer:install"
|
30
|
+
end
|
31
|
+
|
28
32
|
def copy_init_files
|
29
33
|
template "devise.rb", "config/initializers/devise.rb"
|
30
34
|
template "faalis.rb", "config/initializers/faalis.rb"
|
@@ -29,28 +29,41 @@ module Faalis
|
|
29
29
|
argument :resource_fields, type: :array, default: [], banner: "fields[:types]"
|
30
30
|
class_option :without_specs, :type => :boolean, :default => false, :desc => "Do not install specs"
|
31
31
|
class_option :only_specs, :type => :boolean, :default => false, :desc => "Generate only spec files"
|
32
|
+
class_option :only_controller, :type => :boolean, :default => false, :desc => "Generate only controller"
|
32
33
|
class_option :bulk_fields, :type => :string, :default => "", :desc => "Fields to use in in bulk edit, comma separated"
|
33
34
|
class_option :no_bulk, :type => :boolean, :default => false, :desc => "No bulk edit needed"
|
34
35
|
class_option :menu, :type => :string, :default => "", :desc => "Provide menu items which should be in sidebar. format: menu1:url,menu2:url"
|
35
36
|
class_option :title_field, :type => :string, :default => "name", :desc => "Field name to use as title of each object"
|
36
37
|
class_option :required, :type => :string, :default => "", :desc => "Non optional fields, comma separated"
|
37
38
|
class_option :deps, :type => :string, :default => "", :desc => "Dependencies of Angularjs module, comma separated"
|
39
|
+
class_option :path, :type => :string, :default => "", :desc => "Path to js_scaffold target inside 'app/assets/javascripts/'"
|
40
|
+
class_option :raw_path, :type => :string, :default => "", :desc => "Path to js_scaffold target"
|
38
41
|
class_option :tabs, :type => :string, :default => "", :desc => "Add tabs to 'new' view of scaffold. format: --tabs tab1:'field1;field2',tab2 Note: __all__ field include all fileds."
|
39
42
|
class_option :no_filter, :type => :boolean, :default => false, :desc => "Don't view a filter box"
|
43
|
+
class_option :no_new_template, :type => :boolean, :default => false, :desc => "Don't copy the new.html template"
|
44
|
+
|
40
45
|
|
41
46
|
desc "Create a new resource for client side application"
|
42
47
|
def create_module
|
43
|
-
unless options[:
|
44
|
-
|
48
|
+
unless options[:only_controller]
|
49
|
+
unless options[:only_specs]
|
50
|
+
template "angularjs/module.js.erb", "#{angularjs_app_path}modules/#{resource_path}.js"
|
51
|
+
end
|
45
52
|
end
|
46
53
|
end
|
47
54
|
|
48
55
|
def create_template
|
49
|
-
unless options[:
|
50
|
-
|
51
|
-
|
52
|
-
|
56
|
+
unless options[:only_controller]
|
57
|
+
unless options[:only_specs]
|
58
|
+
template "angularjs/index.html.erb", "app/views/angularjs_templates/#{resource.underscore}/index.html"
|
59
|
+
unless options[:no_new_template]
|
60
|
+
template "angularjs/new.html.erb", "app/views/angularjs_templates/#{resource.underscore}/new.html"
|
61
|
+
end
|
62
|
+
template "angularjs/details.html.erb", "app/views/angularjs_templates/#{resource.underscore}/details.html"
|
63
|
+
end
|
64
|
+
end
|
53
65
|
|
66
|
+
unless options[:only_specs]
|
54
67
|
template "views/index.json.jbuilder.erb", "app/views/api/v1/#{resource.pluralize.underscore}/index.json.jbuilder"
|
55
68
|
template "views/show.json.jbuilder.erb", "app/views/api/v1/#{resource.pluralize.underscore}/show.json.jbuilder"
|
56
69
|
template "views/create.json.jbuilder.erb", "app/views/api/v1/#{resource.pluralize.underscore}/create.json.jbuilder"
|
@@ -109,8 +122,14 @@ module Faalis
|
|
109
122
|
end
|
110
123
|
|
111
124
|
def angularjs_app_path
|
112
|
-
|
113
|
-
|
125
|
+
if options[:raw_path] != ""
|
126
|
+
options[:raw_path]
|
127
|
+
elsif options[:path] != ""
|
128
|
+
"app/assets/javascripts/#{options[:path]}/"
|
129
|
+
else
|
130
|
+
path = Faalis::Engine.dashboard_js_manifest.split("/")[0..-2].join("/")
|
131
|
+
"app/assets/javascripts/#{path}/"
|
132
|
+
end
|
114
133
|
end
|
115
134
|
|
116
135
|
# Tabs ------------------------------------
|
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
<% end %>
|
22
22
|
// <%= resource.pluralize %> Module
|
23
|
-
var <%= resource.pluralize %> = angular.module("<%= resource %>", ["ListView", "Filter", "Anim"
|
23
|
+
var <%= resource.pluralize %> = angular.module("<%= resource %>", ["ListView", "Filter", "Anim", "Fields",<% if options[:deps] %><% options[:deps].split(",").each do |dependency| %>, "<%= dependency.camelize %>"<% end %><% end %>]);
|
24
24
|
|
25
25
|
// <%= resource.pluralize %> configuration section ---------------------------
|
26
26
|
<%= resource.pluralize %>.config(["$routeProvider", function($routeProvider){
|
@@ -222,11 +222,13 @@ var <%= resource.pluralize %> = angular.module("<%= resource %>", ["ListView", "
|
|
222
222
|
$scope.obj_id = null;
|
223
223
|
var is_copy = false;
|
224
224
|
|
225
|
-
<% fields.each do |name, type| %><% if ["belongs_to", "has_many"].include? type
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
225
|
+
<% fields.each do |name, type| %><% if ["belongs_to", "in", "has_many"].include? type %>
|
226
|
+
$scope.<%= name %>_data = {
|
227
|
+
type: '<%= type %>',<% if type == "in" %>
|
228
|
+
choices: _.sortBy([<% type.to.split(",").each do |choice| %>{name: "<%= choice.underscore %>", title: "<%= choice.humanize %>"},<% end %>]),<% else %>
|
229
|
+
to: '<%= type.to %>',<% end %>
|
230
|
+
name: '<%= name %>'
|
231
|
+
};<% end %><% end %>
|
230
232
|
<% fields.each do |name, type| %><% if type == "in" %>$scope.<%= name %>_choices = _.sortBy([<% type.to.split(",").each do |choice| %>
|
231
233
|
{name: "<%= choice.underscore %>", title: "<%= choice.humanize %>"},<% end %>
|
232
234
|
], "title");<% end %><% end %>
|
@@ -248,7 +250,6 @@ var <%= resource.pluralize %> = angular.module("<%= resource %>", ["ListView", "
|
|
248
250
|
|
249
251
|
}
|
250
252
|
|
251
|
-
|
252
253
|
$scope.have = function(field, obj_id) {
|
253
254
|
var tmp = _.where($scope[field], {id: obj_id});
|
254
255
|
if (tmp.length > 0) {
|
@@ -265,6 +266,9 @@ var <%= resource.pluralize %> = angular.module("<%= resource %>", ["ListView", "
|
|
265
266
|
};
|
266
267
|
|
267
268
|
$scope.save = function(save_another){
|
269
|
+
$("small.error").html("");
|
270
|
+
$("small.error").removeClass("error");
|
271
|
+
|
268
272
|
var <%= resource.underscore %> = {<%= resource.underscore %>: {<% fields.each do |field_name, field_type| %>
|
269
273
|
<% if ["belongs_to"].include? field_type %><%= field_name %>_id: parseInt($scope.<%= field_name %>),<% else %><%= field_name %>: $scope.<%= field_name %>,<% end %><% end %>
|
270
274
|
__res__: 0
|
@@ -1,97 +1,54 @@
|
|
1
1
|
<% if any_tabs? %><section class="tabs"><% tab_count = 1 %>
|
2
2
|
<ul><% tabs.each do |name, fields| %>
|
3
|
-
<li ng-click="activate_tab(<%= tab_count %>)" ng-class="{active: current_tab == <%= tab_count %>, tab<%= tab_count %>: current_tab == <%= tab_count %>}"><span translate><%= name %></span></li> |<% tab_count += 1 %>
|
4
|
-
|
3
|
+
<li ng-click="activate_tab(<%= tab_count %>)" ng-class="{active: current_tab == <%= tab_count %>, tab<%= tab_count %>: current_tab == <%= tab_count %>}"><span translate><%= name %></span></li> |<% tab_count += 1 %><% end %>
|
4
|
+
</ul>
|
5
5
|
</section><% end %>
|
6
|
+
|
6
7
|
<% unless any_tabs? %>
|
7
8
|
<form novalidate name="form">
|
8
9
|
<div class="newform">
|
9
10
|
<fieldset class="form">
|
10
11
|
|
11
|
-
|
12
|
-
|
12
|
+
<legend ng-if="!editing"><span translate>New <%= resource.underscore.pluralize.humanize %></span></legend>
|
13
|
+
<legend ng-if="editing"><span translate>Edit <%= resource.underscore.pluralize.humanize %></span></legend>
|
13
14
|
|
14
|
-
|
15
|
-
<% fields.each do |field_name, field_type| %>
|
15
|
+
<% first = true %><% fields.each do |field_name, field_type| %>
|
16
16
|
<% if first %><div class="row"><% end %>
|
17
17
|
<div class="small-4 columns <% if not first %>float-left small-offset-2<% end %>">
|
18
|
-
<label><% if required_fields.include? field_name %><i class="inline fa fa-asterisk"></i> <% end %><span translate><%= field_name.to_s.humanize.capitalize %></span> :</label
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
<% when "has_many" %>
|
25
|
-
<select ui-select2="select2options" ng-model="<%= field_name %>" id="id_<%= field_name %>" name="<%= field_name %>" multiple <% if required_fields.include? field_name %>required<% end %>>
|
26
|
-
<option ng-repeat="item in all_<%= field_type.resource_name %>" value="{{ item.id }}" title="{{ item.name || item }}" ng-selected="have('<%= field_name %>', item.id)">{{ item.name || item }}</option>
|
27
|
-
</select>
|
28
|
-
<% when "in" %>
|
29
|
-
<select id="id_<%= field_name %>" ui-select2="select2options" ng-model="<%= field_name %>" name="<%= field_name %>" <% if required_fields.include? field_name %>required<% end %>>
|
30
|
-
<option ng-repeat="item in <%= field_name %>_choices" value="{{ item.name }}" title="{{ item.title }}" ng-selected="<%= field_name %> === item.name">{{ item.title }}</option>
|
31
|
-
</select>
|
32
|
-
<% when "text" %>
|
33
|
-
<textarea id="id_<%= field_name %>" class="rounded" ng-model="<%= field_name %>" name="<%= field_name %>" <% if required_fields.include? field_name %>required<% end %>></textarea>
|
34
|
-
<% when "boolean" %>
|
35
|
-
<input id="id_<%= field_name %>" ng-model="<%= field_name %>" type="checkbox" name="<%= field_name %>" class="rounded <%= field_type %>_field" <% if required_fields.include? field_name %>required<% end %> />
|
36
|
-
<% when "datetime" %>
|
37
|
-
<datepicker id="id_<%= field_name %>" ng-model="<%= field_name %>" class="datetime_field" name="<%= field_name %>" placeholder="{{ 'Click to pick a date' | translate }}" <% if required_fields.include? field_name %>required<% end %> />
|
38
|
-
<% when "string", nil %>
|
39
|
-
<input id="id_<%= field_name %>" ng-model="<%= field_name %>" name="<%= field_name %>" type="text" class="rounded <%= field_type %>_field" <% if required_fields.include? field_name %>required<% end %> />
|
18
|
+
<label><% if required_fields.include? field_name %><i class="inline fa fa-asterisk"></i> <% end %><span translate><%= field_name.to_s.humanize.capitalize %></span> :</label><% case field_type
|
19
|
+
when "belongs_to", "has_many", "in" %>
|
20
|
+
<relation-field select2-options="select2options" <% if required_fields.include? field_name %>required="true"<% end %> title-field="'name'" model="<%= field_name %>" field-data="<%= field_name %>_data">
|
21
|
+
</relation-field>
|
22
|
+
<% when nil %>
|
23
|
+
<string-field model="<%= field_name %>" field-name="'<%= field_name %>'" css-class="'rounded <%= field_type %>_field'" <% if required_fields.include? field_name %>required<% end %>></string-field>
|
40
24
|
<% else %>
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
</div>
|
45
|
-
<% if not first %></div><% end %>
|
46
|
-
<% first = !first %>
|
47
|
-
<% end %>
|
25
|
+
<<%= field_type%>-field model="<%= field_name %>" field-name="'<%= field_name %>'" css-class="'rounded <%= field_type %>_field'" <% if required_fields.include? field_name %>required="true"<% end %>></<%= field_type%>-field><% end %>
|
26
|
+
</div>
|
27
|
+
<% if not first %></div><% end %><% first = !first %><% end %>
|
48
28
|
</fieldset>
|
49
29
|
</form>
|
50
30
|
|
31
|
+
<% else %><form novalidate name="form"><% tab_count = 1 %><% tabs.each do |name, field_names| %>
|
32
|
+
<div class="newform">
|
33
|
+
<fieldset class="form" ng-show="current_tab == <%= tab_count %>">
|
34
|
+
<legend ng-if="!editing"><span translate>New <%= name %></span></legend>
|
35
|
+
<legend ng-if="editing"><span translate>Edit <%= name %></span></legend><% first = true %>
|
36
|
+
<% fields.each do |field_name, field_type| %><% if tabs[name].include? field_name or tabs[name].include? "__all__" %>
|
51
37
|
|
52
|
-
|
53
|
-
|
54
|
-
<
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
<option ng-repeat="item in all_<%= field_type.resource_name %>" value="{{ item.id }}" title="{{ item.name || item }}" ng-selected="item.id === <%= field_name %>.id">{{ item.name || item }}</option>
|
67
|
-
</select>
|
68
|
-
<% when "has_many" %>
|
69
|
-
<select ui-select2="select2options" ng-model="<%= field_name %>" id="id_<%= field_name %>" name="<%= field_name %>" multiple <% if required_fields.include? field_name %>required<% end %>>
|
70
|
-
<option ng-repeat="item in all_<%= field_type.resource_name %>" value="{{ item.id }}" title="{{ item.name || item }}" ng-selected="have('<%= field_name %>', item.id)">{{ item.name || item }}</option>
|
71
|
-
</select>
|
72
|
-
<% when "in" %>
|
73
|
-
<select ui-select2="select2options" id="id_<%= field_name %>" ng-model="<%= field_name %>" name="<%= field_name %>" <% if required_fields.include? field_name %>required<% end %>>
|
74
|
-
<option ng-repeat="item in <%= field_name %>_choices" value="{{ item.name }}" title="{{ item.title }}" ng-selected="<%= field_name %> === item.name">{{ item.title }}</option>
|
75
|
-
</select>
|
76
|
-
<% when "text" %>
|
77
|
-
<textarea id="id_<%= field_name %>" ng-model="<%= field_name %>" class="rounded" name="<%= field_name %>" <% if required_fields.include? field_name %>required<% end %>></textarea>
|
78
|
-
<% when "boolean" %>
|
79
|
-
<input id="id_<%= field_name %>" ng-model="<%= field_name %>" type="checkbox" name="<%= field_name %>" class="rounded <%= field_type %>_field" <% if required_fields.include? field_name %>required<% end %> />
|
80
|
-
<% when "datetime" %>
|
81
|
-
<datepicker id="id_<%= field_name %>" ng-model="<%= field_name %>" class="datetime_field" name="<%= field_name %>" placeholder="{{ 'Click to pick a date' | translate }}" <% if required_fields.include? field_name %>required<% end %> />
|
82
|
-
<% when "string", nil %>
|
83
|
-
<input id="id_<%= field_name %>" ng-model="<%= field_name %>" name="<%= field_name %>" type="text" class="rounded <%= field_type %>_field" <% if required_fields.include? field_name %>required<% end %> />
|
84
|
-
<% else %>
|
85
|
-
<input id="id_<%= field_name %>" ng-model="<%= field_name %>" type="<%= field_type %>" name="<%= field_name %>" class="rounded <%= field_type %>_field" <% if required_fields.include? field_name %>required<% end %> />
|
86
|
-
<% end %>
|
87
|
-
<small id="id_<%= field_name %>_msg"></small>
|
88
|
-
</div>
|
89
|
-
<% if not first %></div><% end %>
|
90
|
-
<% first = !first %>
|
91
|
-
<% end %>
|
92
|
-
<% end %>
|
93
|
-
</fieldset><% tab_count += 1 %>
|
94
|
-
<% end %>
|
38
|
+
<% if first %><div class="row"><% end %>
|
39
|
+
<div class="small-4 columns <% if not first %>float-left small-offset-2<% end %>">
|
40
|
+
<label><% if required_fields.include? field_name %><i class="inline fa fa-asterisk"></i> <% end %><span translate><%= field_name.to_s.humanize.capitalize %></span> :</label><% case field_type
|
41
|
+
when "belongs_to", "has_many", "in" %>
|
42
|
+
<relation-field select2-options="select2options" <% if required_fields.include? field_name %>required="true"<% end %> title-field="'name'" model="<%= field_name %>" field-data="<%= field_name %>_data">
|
43
|
+
</relation-field>
|
44
|
+
<% when nil %>
|
45
|
+
<string-field model="<%= field_name %>" field-name="'<%= field_name %>'" css-class="'rounded <%= field_type %>_field'" <% if required_fields.include? field_name %>required<% end %>></string-field>
|
46
|
+
<% else %>
|
47
|
+
<<%= field_type%>-field model="<%= field_name %>" field-name="'<%= field_name %>'" css-class="'rounded <%= field_type %>_field'" <% if required_fields.include? field_name %>required="true"<% end %>></<%= field_type%>-field><% end %>
|
48
|
+
</div>
|
49
|
+
<% if not first %></div><% end %><% first = !first %><% end %><% end %>
|
50
|
+
</fieldset>
|
51
|
+
</div><% tab_count += 1 %><% end %>
|
95
52
|
</form>
|
96
53
|
<% end %>
|
97
54
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faalis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sameer Rahmani
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-01-
|
12
|
+
date: 2014-01-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -67,6 +67,20 @@ dependencies:
|
|
67
67
|
- - '>='
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: mailboxer
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - '>='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
70
84
|
- !ruby/object:Gem::Dependency
|
71
85
|
name: jbuilder
|
72
86
|
requirement: !ruby/object:Gem::Requirement
|
@@ -222,19 +236,19 @@ dependencies:
|
|
222
236
|
- !ruby/object:Gem::Version
|
223
237
|
version: '0'
|
224
238
|
- !ruby/object:Gem::Dependency
|
225
|
-
name:
|
239
|
+
name: model_discovery
|
226
240
|
requirement: !ruby/object:Gem::Requirement
|
227
241
|
requirements:
|
228
|
-
- -
|
242
|
+
- - ~>
|
229
243
|
- !ruby/object:Gem::Version
|
230
|
-
version:
|
244
|
+
version: 0.2.0
|
231
245
|
type: :runtime
|
232
246
|
prerelease: false
|
233
247
|
version_requirements: !ruby/object:Gem::Requirement
|
234
248
|
requirements:
|
235
|
-
- -
|
249
|
+
- - ~>
|
236
250
|
- !ruby/object:Gem::Version
|
237
|
-
version:
|
251
|
+
version: 0.2.0
|
238
252
|
- !ruby/object:Gem::Dependency
|
239
253
|
name: sqlite3
|
240
254
|
requirement: !ruby/object:Gem::Requirement
|
@@ -332,6 +346,7 @@ files:
|
|
332
346
|
- app/models/faalis/group.rb
|
333
347
|
- app/models/faalis/user.rb
|
334
348
|
- app/models/faalis/permission.rb
|
349
|
+
- app/models/faalis/permissions/auth.rb
|
335
350
|
- app/views/devise/unlocks/new.html.erb
|
336
351
|
- app/views/devise/sessions/new.html.erb
|
337
352
|
- app/views/devise/confirmations/new.html.erb
|
@@ -346,7 +361,6 @@ files:
|
|
346
361
|
- app/views/angularjs_templates/list-view/index.html
|
347
362
|
- app/views/angularjs_templates/filter/index.html
|
348
363
|
- app/views/angularjs_templates/modules.html
|
349
|
-
- app/views/angularjs_templates/#index.html#
|
350
364
|
- app/views/angularjs_templates/auth/users/new.html
|
351
365
|
- app/views/angularjs_templates/auth/users/index.html
|
352
366
|
- app/views/angularjs_templates/auth/users/details.html
|
@@ -355,17 +369,32 @@ files:
|
|
355
369
|
- app/views/angularjs_templates/auth/groups/index.html
|
356
370
|
- app/views/angularjs_templates/auth/groups/details.html
|
357
371
|
- app/views/angularjs_templates/auth/profile/edit.html
|
372
|
+
- app/views/angularjs_templates/conversations/new.html
|
373
|
+
- app/views/angularjs_templates/conversations/show_details.html
|
374
|
+
- app/views/angularjs_templates/conversations/index.html
|
375
|
+
- app/views/angularjs_templates/conversations/show.html
|
376
|
+
- app/views/angularjs_templates/conversations/details.html
|
358
377
|
- app/views/angularjs_templates/index.html
|
359
378
|
- app/views/angularjs_templates/locale/fa.po
|
360
379
|
- app/views/angularjs_templates/locale/templates.pot
|
361
380
|
- app/views/angularjs_templates/logs/index.html
|
381
|
+
- app/views/angularjs_templates/fields/boolean/boolean.html
|
382
|
+
- app/views/angularjs_templates/fields/string/string.html
|
383
|
+
- app/views/angularjs_templates/fields/integer/integer.html
|
384
|
+
- app/views/angularjs_templates/fields/text/text.html
|
385
|
+
- app/views/angularjs_templates/fields/relation/relation.html
|
386
|
+
- app/views/angularjs_templates/fields/datetime/datetime.html
|
362
387
|
- app/views/angularjs_templates/nav.html.erb
|
363
388
|
- app/views/layouts/faalis/application.html.erb
|
364
389
|
- app/views/layouts/faalis/dashboard.html.erb
|
365
390
|
- app/views/faalis/home/index.html.erb
|
366
391
|
- app/views/faalis/dashboard/index.html.erb
|
367
392
|
- app/views/faalis/dashboard/login_required_page.html.erb
|
393
|
+
- app/views/faalis/api/v1/permissions/user_permissions.json.jbuilder
|
368
394
|
- app/views/faalis/api/v1/permissions/index.json.jbuilder
|
395
|
+
- app/views/faalis/api/v1/conversations/show.json.jbuilder
|
396
|
+
- app/views/faalis/api/v1/conversations/create.json.jbuilder
|
397
|
+
- app/views/faalis/api/v1/conversations/index.json.jbuilder
|
369
398
|
- app/views/faalis/api/v1/users/show.json.jbuilder
|
370
399
|
- app/views/faalis/api/v1/users/show.html.erb
|
371
400
|
- app/views/faalis/api/v1/users/edit.html.erb
|
@@ -424,8 +453,17 @@ files:
|
|
424
453
|
- app/assets/javascripts/faalis/dashboard/modules/auth/user.js
|
425
454
|
- app/assets/javascripts/faalis/dashboard/modules/api.js
|
426
455
|
- app/assets/javascripts/faalis/dashboard/modules/modules.js
|
456
|
+
- app/assets/javascripts/faalis/dashboard/modules/conversations.js
|
427
457
|
- app/assets/javascripts/faalis/dashboard/modules/filter.js
|
428
458
|
- app/assets/javascripts/faalis/dashboard/modules/logs.js
|
459
|
+
- app/assets/javascripts/faalis/dashboard/modules/permissions.js
|
460
|
+
- app/assets/javascripts/faalis/dashboard/modules/fields/relation.js
|
461
|
+
- app/assets/javascripts/faalis/dashboard/modules/fields/datetime.js
|
462
|
+
- app/assets/javascripts/faalis/dashboard/modules/fields/string.js
|
463
|
+
- app/assets/javascripts/faalis/dashboard/modules/fields/boolean.js
|
464
|
+
- app/assets/javascripts/faalis/dashboard/modules/fields/fields.js
|
465
|
+
- app/assets/javascripts/faalis/dashboard/modules/fields/integer.js
|
466
|
+
- app/assets/javascripts/faalis/dashboard/modules/fields/text.js
|
429
467
|
- app/assets/javascripts/faalis/dashboard/modules/errors.js
|
430
468
|
- app/assets/javascripts/faalis/dashboard/functions.js.erb
|
431
469
|
- app/assets/javascripts/faalis/dashboard/application.js.erb
|
@@ -491,6 +529,7 @@ files:
|
|
491
529
|
- app/controllers/faalis/api/v1/users_controller.rb
|
492
530
|
- app/controllers/faalis/api/v1/logs_controller.rb
|
493
531
|
- app/controllers/faalis/api/v1/permissions_controller.rb
|
532
|
+
- app/controllers/faalis/api/v1/conversations_controller.rb
|
494
533
|
- app/controllers/faalis/api/v1/groups_controller.rb
|
495
534
|
- app/controllers/faalis/api/v1/profiles_controller.rb
|
496
535
|
- app/helpers/faalis/users_helper.rb
|
@@ -506,10 +545,10 @@ files:
|
|
506
545
|
- config/locales/devise.en.yml
|
507
546
|
- config/locales/faalis.pot
|
508
547
|
- config/initializers/devise.rb
|
509
|
-
- db/migrate/
|
548
|
+
- db/migrate/20131020124701_create_faalis_groups.rb
|
549
|
+
- db/migrate/20131021170923_create_faalis_permissions.rb
|
510
550
|
- db/migrate/20131123120422_add_permissions_groups_table.rb
|
511
|
-
- db/migrate/
|
512
|
-
- db/migrate/20131013091000_devise_create_red_base_users.rb
|
551
|
+
- db/migrate/20131013091000_devise_create_faalis_users.rb
|
513
552
|
- db/seeds.rb
|
514
553
|
- lib/faalis_plugin.rb
|
515
554
|
- lib/tasks/faalis_tasks.rake
|
@@ -550,6 +589,7 @@ files:
|
|
550
589
|
- lib/generators/faalis/install_specs_generator.rb
|
551
590
|
- lib/faalis/initialize.rb
|
552
591
|
- lib/faalis/i18n.rb
|
592
|
+
- lib/faalis/permissions.rb
|
553
593
|
- lib/faalis/plugins.rb
|
554
594
|
- lib/faalis/dashboard.rb
|
555
595
|
- lib/faalis/active_record.rb
|