faalis 1.0.0.alpha0 → 1.0.0.alpha1

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.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +44 -22
  3. data/Rakefile +1 -0
  4. data/app/assets/javascripts/faalis/angular-manifest.js +1 -0
  5. data/app/assets/javascripts/faalis/dashboard/app.js +4 -3
  6. data/app/assets/javascripts/faalis/dashboard/application.js.erb +0 -1
  7. data/app/assets/javascripts/faalis/dashboard/functions.js.erb +5 -7
  8. data/app/assets/javascripts/faalis/dashboard/init.js +1 -2
  9. data/app/assets/javascripts/faalis/dashboard/modules/fields/datetime.js +5 -3
  10. data/app/assets/javascripts/faalis/dashboard/modules/fields/image.js +46 -105
  11. data/app/assets/javascripts/faalis/dashboard/modules/services/upload_service.js +17 -0
  12. data/app/assets/javascripts/faalis/dashboard/variables.js.erb +1 -1
  13. data/app/assets/javascripts/faalis/{locale → locales}/en.json +0 -0
  14. data/app/assets/javascripts/faalis/{locale → locales}/fa.json +0 -0
  15. data/app/assets/javascripts/faalis/locales/translations.fa.js +4 -0
  16. data/app/assets/locale/templates.fa.pot +275 -0
  17. data/app/assets/locale/templates.pot +0 -8
  18. data/app/controllers/faalis/#api_controller.rb# +51 -0
  19. data/app/controllers/faalis/#dashboard_controller.rb# +65 -0
  20. data/app/controllers/faalis/application_controller.rb +9 -10
  21. data/app/controllers/faalis/dashboard_controller.rb +2 -2
  22. data/app/models/faalis/user.rb +11 -11
  23. data/app/models/faalis/user/auth_definitions.rb +2 -14
  24. data/app/models/faalis/user/mongoid_fields.rb +0 -1
  25. data/app/views/angularjs_templates/fields/datetime/datetime.html +7 -1
  26. data/app/views/angularjs_templates/fields/image/image.html +1 -1
  27. data/app/views/angularjs_templates/index.html +1 -6
  28. data/app/views/angularjs_templates/modules.html +1 -1
  29. data/app/views/devise/registrations/new.html.erb +5 -1
  30. data/app/views/devise/sessions/new.html.erb +17 -16
  31. data/app/views/devise/shared/_links.erb +8 -6
  32. data/app/views/layouts/faalis/application.html.erb +0 -4
  33. data/app/views/layouts/faalis/dashboard.html.erb +2 -2
  34. data/app/views/layouts/faalis/simple.html.erb +18 -20
  35. data/config/locales/fa/LC_MESSAGES/faalis.mo +0 -0
  36. data/config/locales/fa/faalis.edit.mo +0 -0
  37. data/config/locales/fa/faalis.edit.po +104 -0
  38. data/config/locales/fa/faalis.mo +0 -0
  39. data/config/locales/fa/faalis.po +29 -108
  40. data/{app/controllers/faalis/#1.sh# → config/locales/fa/faalis.po.time_stamp} +0 -0
  41. data/config/locales/faalis.pot +10 -88
  42. data/config/routes.rb +16 -3
  43. data/lib/faalis.rb +1 -0
  44. data/lib/faalis/discovery/permissions.rb +10 -3
  45. data/lib/faalis/engine.rb +21 -0
  46. data/lib/faalis/generators/concerns.rb +2 -0
  47. data/lib/faalis/generators/concerns/allow_query_on.rb +8 -12
  48. data/lib/faalis/generators/concerns/angular.rb +4 -5
  49. data/lib/faalis/generators/concerns/child.rb +31 -0
  50. data/lib/faalis/generators/concerns/fieldset.rb +2 -2
  51. data/lib/faalis/generators/concerns/globalize.rb +14 -0
  52. data/lib/faalis/generators/concerns/hstore.rb +19 -0
  53. data/lib/faalis/generators/concerns/model.rb +3 -3
  54. data/lib/faalis/generators/concerns/parent.rb +4 -6
  55. data/lib/faalis/generators/concerns/required.rb +2 -1
  56. data/lib/faalis/generators/concerns/resource_name.rb +1 -0
  57. data/lib/faalis/generators/concerns/tabs.rb +4 -7
  58. data/lib/faalis/generators/concerns/where.rb +1 -3
  59. data/lib/faalis/generators/dashboard_scaffold.rb +2 -0
  60. data/lib/faalis/generators/fields/#relation.rb# +61 -0
  61. data/lib/faalis/i18n.rb +6 -1
  62. data/lib/faalis/middlewares.rb +1 -0
  63. data/lib/faalis/middlewares/locale.rb +29 -0
  64. data/lib/faalis/route.rb +12 -19
  65. data/lib/faalis/version.rb +1 -1
  66. data/lib/generators/faalis/install_all_generator.rb +5 -3
  67. data/lib/generators/faalis/install_generator.rb +4 -0
  68. data/lib/generators/faalis/js/install_i18n_generator.rb +1 -1
  69. data/lib/generators/faalis/scaffold_generator.rb +72 -25
  70. data/lib/generators/faalis/templates/i18n/Gruntfile.js.erb +2 -2
  71. data/lib/generators/faalis/templates/i18n/fa.js +2 -2
  72. data/lib/generators/faalis/templates/js/list_view/details.html.erb +26 -3
  73. data/lib/generators/faalis/templates/views/create.json.jbuilder.erb +2 -1
  74. data/lib/generators/faalis/templates/views/index.json.jbuilder.erb +4 -2
  75. data/lib/generators/faalis/templates/views/show.json.jbuilder.erb +2 -1
  76. data/lib/generators/faalis/templates/views/update.json.jbuilder.erb +2 -1
  77. data/lib/tasks/faalis_tasks.rake +25 -27
  78. data/lib/tasks/grunt/Gruntfile.js +2 -2
  79. data/lib/tasks/sync.rake +3 -4
  80. metadata +43 -90
  81. data/app/assets/javascripts/faalis/dashboard/modules/list-view.js +0 -341
  82. data/app/assets/javascripts/faalis/dashboard/modules/modules.js +0 -75
  83. data/app/assets/javascripts/faalis/dashboard/modules/nav.js.erb +0 -78
  84. data/app/assets/stylesheets/faalis/base.css.scss +0 -334
  85. data/app/assets/stylesheets/faalis/dashboard/dashboard.css.scss +0 -246
  86. data/app/assets/stylesheets/faalis/dashboard/list_view.css.scss +0 -169
  87. data/app/assets/stylesheets/faalis/dashboard/ltr/application.css +0 -29
  88. data/app/assets/stylesheets/faalis/dashboard/ltr/base.css.scss.erb +0 -33
  89. data/app/assets/stylesheets/faalis/dashboard/ltr/buttons.css.scss.erb +0 -55
  90. data/app/assets/stylesheets/faalis/dashboard/ltr/direction.css.scss +0 -38
  91. data/app/assets/stylesheets/faalis/dashboard/ltr/foundation_and_overrides.css.scss +0 -1261
  92. data/app/assets/stylesheets/faalis/dashboard/ltr/time.css.scss +0 -58
  93. data/app/assets/stylesheets/faalis/dashboard/rtl/application.css +0 -27
  94. data/app/assets/stylesheets/faalis/dashboard/rtl/base.css.scss.erb +0 -35
  95. data/app/assets/stylesheets/faalis/dashboard/rtl/buttons.css.scss.erb +0 -45
  96. data/app/assets/stylesheets/faalis/dashboard/rtl/direction.css.scss +0 -37
  97. data/app/assets/stylesheets/faalis/dashboard/rtl/foundation_and_overrides.css.scss +0 -1264
  98. data/app/assets/stylesheets/faalis/dashboard/share/time.css.scss +0 -57
  99. data/app/assets/stylesheets/faalis/dashboard/sidebar.css.scss +0 -93
  100. data/app/assets/stylesheets/faalis/devise.css.scss +0 -34
  101. data/app/assets/stylesheets/faalis/groups.css +0 -4
  102. data/app/assets/stylesheets/faalis/home.css.scss +0 -14
  103. data/app/assets/stylesheets/faalis/ltr/application.css +0 -20
  104. data/app/assets/stylesheets/faalis/ltr/buttons.css.scss.erb +0 -45
  105. data/app/assets/stylesheets/faalis/ltr/foundation_and_overrides.scss +0 -1258
  106. data/app/assets/stylesheets/faalis/mixins.css.scss +0 -15
  107. data/app/assets/stylesheets/faalis/rtl/application.css +0 -20
  108. data/app/assets/stylesheets/faalis/rtl/buttons.css.scss.erb +0 -50
  109. data/app/assets/stylesheets/faalis/rtl/foundation_and_overrides.css.scss +0 -1264
  110. data/app/assets/stylesheets/faalis/users.css +0 -4
  111. data/app/assets/stylesheets/faalis/variables.css.scss +0 -102
  112. data/app/controllers/faalis/api/v1/workflows_controller.rb +0 -18
  113. data/app/views/angularjs_templates/list-view/index.html +0 -82
  114. data/app/views/faalis/api/v1/workflows/index.json.jbuilder +0 -5
  115. data/app/workflows/faalis/administration_workflow.rb +0 -7
  116. data/spec/dummy/log/development.log +0 -0
  117. data/spec/dummy/log/test.log +0 -15
  118. data/spec/dummy/tmp/ember-rails/ember-data.js +0 -10204
  119. data/spec/dummy/tmp/ember-rails/ember.js +0 -36991
  120. data/spec/factories/faalis_workflows.rb +0 -7
  121. data/spec/models/faalis/workflow_spec.rb +0 -7
@@ -21,7 +21,6 @@ module Faalis
21
21
 
22
22
  # I18n related utility functions
23
23
  class I18n
24
-
25
24
  RTL = [:fa, :ar]
26
25
 
27
26
  def self.direction(locale)
@@ -31,5 +30,11 @@ module Faalis
31
30
  'ltr'
32
31
  end
33
32
  end
33
+
34
+ module Locale
35
+ def self.default_url_options
36
+ { :locale => I18n.locale }
37
+ end
38
+ end
34
39
  end
35
40
  end
@@ -0,0 +1 @@
1
+ require 'faalis/middlewares/locale'
@@ -0,0 +1,29 @@
1
+ module Faalis
2
+ module Middlewares
3
+
4
+ # Locale middleware for `Faalis`. This middleware try to set
5
+ # the locale from url.
6
+ class Locale
7
+ def initialize(app)
8
+ @app = app
9
+ end
10
+
11
+ def call(env)
12
+ req = Rack::Request.new(env)
13
+
14
+ # Check whether locale is presence or not.
15
+ if locale = req.path_info.match(/^([a-z]{2})\/.*/)
16
+ # If its set the default locale to it.
17
+ locale = locale[1]
18
+ else
19
+ # Use pre-defined default if it isn't
20
+ locale = ::I18n.default_locale
21
+ end
22
+
23
+ req.params['locale'] ||= locale
24
+ ::I18n.locale = locale
25
+ @app.call env
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,34 +1,27 @@
1
+
1
2
  module Faalis
2
3
  class Routes
3
- def self.define_api_routes(routes=Rails.application.routes)
4
+ # This class method will add `Faalis` routes to host application
5
+ # Router
6
+ def self.define_api_routes(routes = Rails.application.routes)
4
7
 
5
8
  routes.draw do
6
9
  scope 'module'.to_sym => 'faalis' do
7
- namespace :api, :defaults => {:format => :json} do
10
+ # TODO: Add a dynamic solution for formats
11
+ namespace :api, defaults: {format: :json} do
8
12
  namespace :v1 do
9
- get 'permissions', :to => 'permissions#index'
10
- get 'permissions/user', :to => 'permissions#user_permissions'
11
- resources :groups, :except => [:new]
12
- resources :users, :except => [:new]
13
- resource :profile, :except => [:new, :destroy]
13
+ get 'permissions', to: 'permissions#index'
14
+ get 'permissions/user', to: 'permissions#user_permissions'
15
+ resources :groups, except: [:new]
16
+ resources :users, except: [:new]
17
+ resource :profile, except: [:new, :destroy]
14
18
 
15
19
  get 'logs' => 'logs#index'
16
- get 'workflows' => 'workflows#index'
17
-
18
- resources :conversations, only: [:index, :show, :create, :destroy] do
19
- collection do
20
- get ':box/box' => 'conversations#index'
21
- post 'trash' => 'conversations#trash'
22
- post 'untrash' => 'conversations#untrash'
23
- end
24
- member do
25
- post :reply
26
- end
27
- end
28
20
  end
29
21
  end
30
22
  end
31
23
  end
24
+
32
25
  end
33
26
  end
34
27
  end
@@ -18,5 +18,5 @@
18
18
  # -----------------------------------------------------------------------------
19
19
 
20
20
  module Faalis
21
- VERSION = '1.0.0.alpha0'
21
+ VERSION = '1.0.0.alpha1'
22
22
  end
@@ -22,15 +22,17 @@ module Faalis
22
22
  class InstallAllGenerator < Rails::Generators::Base
23
23
  source_root File.expand_path('../templates', __FILE__)
24
24
 
25
- desc "Copy all the necessary files to use Faalis (migrations included)"
25
+ class_option :mongoid, type: :boolean, default: false, desc: 'Use mongoid with faalis'
26
+
27
+ desc 'Copy all the necessary files to use Faalis (migrations included)'
26
28
  hook_for :install_generator
27
29
 
28
30
  def copy_migrations
29
- rake("faalis:install:migrations")
31
+ rake('faalis:install:migrations') unless options[:mongoid]
30
32
  end
31
33
 
32
34
  def copy_install
33
- invoke "faalis:install"
35
+ invoke 'faalis:install'
34
36
  end
35
37
 
36
38
  end
@@ -61,6 +61,10 @@ module Faalis
61
61
  route 'Faalis::Routes.define_api_routes'
62
62
  end
63
63
 
64
+ def patch_application_controller
65
+ inject_into_class "app/controllers/application_controller.rb", ApplicationController, " extend Faalis::I18n::Locale\n"
66
+ end
67
+
64
68
  def show_readme
65
69
  readme 'README' if behavior == :invoke
66
70
  end
@@ -28,7 +28,7 @@ module Faalis
28
28
 
29
29
  def copy_init_files
30
30
  template 'i18n/Gruntfile.js.erb', 'lib/tasks/grunt/Gruntfile.js'
31
- copy_file 'i18n/fa.js', 'app/assets/javascripts/locale/'
31
+ copy_file 'i18n/fa.js', 'app/assets/javascripts/locales/fa.js'
32
32
  end
33
33
 
34
34
  def show_readme
@@ -23,24 +23,28 @@ module Faalis
23
23
  class ScaffoldGenerator < Rails::Generators::Base
24
24
  include Faalis::Generators::Concerns::RequireFields
25
25
  include Faalis::Generators::Concerns::Parent
26
+ include Faalis::Generators::Concerns::Child
26
27
  include Faalis::Generators::Concerns::JsonInput
27
28
  include Faalis::Generators::Concerns::ResourceName
28
29
  include Faalis::Generators::Concerns::ResourceFields
30
+ include Faalis::Generators::Concerns::Globalize
31
+
29
32
 
30
33
  desc 'Create full faalis full scaffold'
31
- # FIXME: These options should have :type and :desc or even default
34
+ # FIXME: These options should have :desc or even default
32
35
  # value
33
- class_option :no_model
34
- class_option :no_route
35
- class_option :no_controller
36
- class_option :no_migration
37
- class_option :no_asset
36
+ class_option :no_model, :type => :boolean
37
+ class_option :no_route, :type => :boolean
38
+ class_option :no_controller, :type => :boolean
39
+ class_option :no_migration, :type => :boolean
40
+ class_option :no_asset, :type => :boolean
38
41
 
39
- # FIXME: Add method documents HERE
42
+ # This method will create full scaffold based on user options
40
43
  def create_scaffold
41
44
  if options.empty?
42
45
  # TODO: ....
43
46
  end
47
+ # TODO: Show error if in class_option migration is selected by model not
44
48
  create_model unless options[:no_model]
45
49
  create_route unless options[:no_route]
46
50
  create_controller unless options[:no_controller]
@@ -53,7 +57,6 @@ module Faalis
53
57
  # It does not have any relation to Faalis
54
58
  # TODO: Check for better way
55
59
  def create_controller
56
- #invoke "scaffold_controller", resource_data["name"]
57
60
  if options[:no_asset]
58
61
  `rails g scaffold_controller #{resource_data["name"]} --skip`
59
62
  else
@@ -72,61 +75,88 @@ module Faalis
72
75
  result = []
73
76
  all_fields = []
74
77
  relations = "\n"
75
- fields.each do |name, type, to|
76
78
 
79
+ fields.each do |name, type, to|
77
80
  case type
78
81
  when 'belongs_to'
79
82
  type_ = 'integer'
80
83
  if to.singularize != name
81
- relations << "belongs_to :#{name.singularize},
84
+ relations << " belongs_to :#{name.singularize},
82
85
  :class_name => \"#{to.singularize.capitalize}\"\n"
83
86
  else
84
- relations << "belongs_to :#{to.singularize}\n"
87
+ relations << " belongs_to :#{to.singularize}\n"
85
88
  end
86
89
  name_ = "#{name.singularize}_id"
87
90
  result << [name_, type_]
88
91
 
89
- when 'text', 'integer', 'string', 'boolean', 'datetime'
92
+ when 'text', 'integer', 'string', 'boolean', 'datetime', 'date', 'float'
90
93
  result << [name, type]
91
94
 
92
95
  when 'image'
93
96
  generate "paperclicp #{resource_data['name']} #{name}"
94
- relations << "has_attached_file :#{name}\n"
95
- relations << "validates_attachment_content_type :image, :content_type => %w(image/jpeg image/jpg image/png),:less_than => 1.megabytes]\n"
97
+ relations << " has_attached_file :#{name}\n"
98
+ relations << " validates_attachment_content_type :#{name},
99
+ content_type: %w(image/jpeg image/jpg image/png),
100
+ less_than: 1.megabytes]\n"
101
+ # TODO: Run this generator just once for all images
102
+ `rails generate paperclip #{resource_data['name']} #{name}`
96
103
  when 'tag'
97
104
  rake "rake acts_as_taggable_on_engine:install:migrations"
98
- relations << "acts_as_taggable_on :#{name}\n"
105
+ relations << " acts_as_taggable_on :#{name}\n"
99
106
  result << [name, 'string']
100
107
 
101
108
  when 'in'
102
109
  result << [name, 'string']
103
110
 
104
111
  when 'has_many'
105
- relations << "has_and_belongs_to_many :#{to}\n"
106
- say_status 'warn', "There is a many to many relation between #{resource_data['name']} to #{to}, You should create it manually in model files"
112
+ relations << " has_and_belongs_to_many :#{to}\n"
113
+ say_status 'warn', "There is a many to many relation between #{resource_data['name']} and #{to},
114
+ You should create it manually in model files"
107
115
 
108
116
  end
117
+ end
109
118
 
110
- all_fields = result.collect do |x|
111
- x.join(':')
119
+ if parent?
120
+ parents.each do |parent|
121
+ result << ["#{parent.singularize}_id", "integer"]
122
+ relations << " belongs_to :#{parent.singularize}\n"
112
123
  end
124
+ end
113
125
 
126
+
127
+ childs.each do |child|
128
+ relations << " has_many :#{child.pluralize}\n"
114
129
  end
115
130
 
116
- if parent?
117
- all_fields << ["#{resource_data["parents"]}_id", "integer"]
131
+ all_fields = result.collect do |x|
132
+ x.join(':')
118
133
  end
119
134
 
120
- invoke('active_record:model', [resource_data['name'], *all_fields], {
135
+ # Load all globalize field and create a string to adding in model
136
+ globalizes = "\n translates "+
137
+ globalize_fields.map { |field | ":#{field['name'].underscore}" }.join(", ")
138
+
139
+
140
+
141
+ invoke('active_record:model', [resource_data['name'].underscore, *all_fields], {
121
142
  migration: !options[:no_migration], timestamps: true
122
143
  })
144
+ if globalize_fields.any?
145
+ create_globalize_migration
146
+ end
147
+
123
148
  if File.exist?("app/models/#{resource_data["name"]}.rb")
124
- inject_into_file "app/models/#{resource_data["name"]}.rb", after: 'Base' do
125
- relations
149
+
150
+ inject_into_file "app/models/#{resource_data["name"].underscore}.rb", after: 'Base' do
151
+
152
+ globalize_fields.empty? ? relations : relations + globalizes
126
153
  end
127
154
  else
128
- puts "Could not find file app/models/#{resource_data["name"]}"
155
+ puts "Could not find file app/models/#{resource_data["name"].underscore}"
129
156
  end
157
+
158
+
159
+
130
160
  end
131
161
 
132
162
  #Invoke Faalis list view generator
@@ -134,6 +164,23 @@ module Faalis
134
164
  invoke 'faalis:js:list_view', [jsonfile]
135
165
 
136
166
  end
167
+
168
+ def create_globalize_migration
169
+ `rails g migration add_globalize_to_#{resource_data["name"].underscore} `
170
+ Dir["#{Rails.root}/db/migrate/**/*globalize*.rb"].each {|file| require file }
171
+ klass = "add_globalize_to_#{resource_data['name']}".underscore.camelize
172
+
173
+ migration_class = "::#{klass}".constantize
174
+ migration_path = migration_class.instance_method(:change).source_location
175
+
176
+ fields = globalize_fields.map { |field | ":#{field['name']} => :#{field['type']}" }.join(", ")
177
+
178
+ inject_into_file migration_path[0], after: 'change' do
179
+ "\n #{resource_data['name'].camelize}"+
180
+ '.create_translation_table! '+
181
+ fields
182
+ end
183
+ end
137
184
  end
138
185
  end
139
186
  end
@@ -3,7 +3,7 @@ module.exports = function (grunt) {
3
3
  nggettext_extract: {
4
4
  pot: {
5
5
  files: {
6
- 'app/assets/javascripts/locale/templates.pot': ['app/views/angularjs_templates/**/*.html',
6
+ 'app/assets/locales/templates.pot': ['app/views/angularjs_templates/**/*.html',
7
7
  'app/views/angularjs_templates/**/*.html.erb',
8
8
  'app/assets/javascripts/**/*.js',
9
9
  'app/assets/javascripts/**/*.js',
@@ -18,7 +18,7 @@ module.exports = function (grunt) {
18
18
  module: "Dashboard"
19
19
  },
20
20
  files: {
21
- 'app/assets/javascripts/locale/translations.fa.js': ['app/assets/locale/*.fa.pot']
21
+ 'app/assets/javascripts/locales/translations.fa.js': ['app/assets/locales/*.fa.pot']
22
22
  }
23
23
  }
24
24
  }
@@ -1,3 +1,3 @@
1
1
  // require translations for your specific languages.
2
- //= require faalis/locale/translations.fa
3
- //= require locale/translations.fa
2
+ //= require faalis/locales/translations.fa
3
+ //= require locales/translations.fa
@@ -1,9 +1,13 @@
1
1
  <div class="details">
2
- <% fields.each do |f, field_type| %>
2
+ <% if child? %>
3
+ <div class="row">
4
+ <div class="small-8 column">
5
+ <% end %>
6
+ <% fields.each do |f, field_type| %>
3
7
  <p>
4
- <% case field_type
8
+ <% case field_type
5
9
  when "belongs_to" %> <b translate><%= f.capitalize %> :</b> {{object.<%= f %>.name}}
6
- <% when "has_many" %><p>
10
+ <% when "has_many" %><p>
7
11
  <b translate><%= f.capitalize %> :</b>
8
12
  <ul>
9
13
  <li ng-repeat="item in object.<%= f %>"> {{ item.name }}</li>
@@ -12,6 +16,25 @@
12
16
  <% else %><b translate><%= f.capitalize %> :</b> {{object.<%= f %>}}
13
17
  <% end %></p>
14
18
  <% end %>
19
+
20
+ <% if child? %>
21
+ </div>
22
+
23
+ <div class="small-4 column">
24
+ <ul>
25
+ <% childs.each do |child| %>
26
+
27
+ <li>
28
+ <a ng-href="#/<%= resource_data['name'].pluralize %>/{{ object.id }}/<%= child.pluralize %>" class="small">
29
+ <span translated><%= child.split('_').tap{|a| a[0].upcase }.join(' ') %></span>
30
+ </a>
31
+ </li>
32
+ <% end %>
33
+ </ul>
34
+ </div>
35
+ </div>
36
+
37
+ <% end %>
15
38
  <ul class="button-group float-right">
16
39
  <a ng-href="#<% parents.each do |p| %>/<%= p %>/{{ this.$parent.$parent.$parent.$parent.<%= p %>_id }}<% end %>/<%= resource_url %>/{{ object.id }}/edit" class="small">
17
40
  <span class="fa fa-edit"></span> <span translated>Edit</span>
@@ -1,2 +1,3 @@
1
- json.extract! @<%= resource.underscore %>, :id<%= fields_as_params %>
1
+ json.id @<%= resource.underscore %>.id.to_s
2
+ json.extract! @<%= resource.underscore %><%= fields_as_params %>
2
3
  <% fields.each do |name, type| %><% if type == "has_many" %>json.<%= name %> @<%= resource.underscore %>.<%= name %>, :id, :name<% end %><% end %>
@@ -1,5 +1,6 @@
1
1
  json.array! @<%= resource.pluralize.underscore %> do |<%= resource.underscore %>|
2
- json.extract! <%= resource.underscore %>, :id<%= fields_as_params %><% fields.each do |name, type| %><% case type
2
+ json.id <%= resource.underscore %>.id.to_s
3
+ json.extract! <%= resource.underscore %><%= fields_as_params %><% fields.each do |name, type| %><% case type
3
4
  when "belongs_to" %>
4
5
  json.<%= name %> do
5
6
  if <%= resource.underscore %>.<%= name %>
@@ -7,5 +8,6 @@ json.array! @<%= resource.pluralize.underscore %> do |<%= resource.underscore %>
7
8
  json.name <%= resource.underscore %>.<%= name %>.name
8
9
  end
9
10
  end
10
- <% when "has_many" %> json.<%= name %> <%= resource.underscore %>.<%= name %>, :id, :name<% end %><% end %>
11
+ <% when "has_many" %>
12
+ json.<%= name %> <%= resource.underscore %>.<%= name %>, :id, :name<% end %><% end %>
11
13
  end
@@ -1,4 +1,5 @@
1
- json.extract! @<%= resource.underscore %>, :id<%= fields_as_params %><% fields.each do |name, type| %>
1
+ json.id @<%= resource.underscore %>.id.to_s
2
+ json.extract! @<%= resource.underscore %><%= fields_as_params %><% fields.each do |name, type| %>
2
3
  <% case type
3
4
  when "belongs_to" %>
4
5
  json.partial! 'faalis/relations/belongs_to', object: @<%= resource.underscore %>.<%= name %>, :name => :<%= name %>, :fields => [:id, :name]
@@ -1,4 +1,5 @@
1
- json.extract! @<%= resource.underscore %>, :id<%= fields_as_params %>
1
+ json.id @<%= resource.underscore %>.id.to_s
2
+ json.extract! @<%= resource.underscore %><%= fields_as_params %>
2
3
  <% fields.each do |name, type| %><% if type == "has_many" %>json.<%= name %> @<%= resource.underscore %>.<%= name %>, :id, :name
3
4
  <% end %><% if type == "belongs_to" %>
4
5
  json.partial! 'faalis/relations/belongs_to', object: @<%= resource.underscore %>.<%= name %>, :name => :<%= name %>, :fields => [:id, :name]
@@ -1,40 +1,38 @@
1
- namespace :faalis do
1
+ namespace :js do
2
+ namespace :i18n do
3
+
4
+ desc "Collect all the strings which marked for translation from javascript files"
5
+ task :collect do
6
+ base = "--base #{Rails.root}/"
7
+ puts "grunt --gruntfile #{Rails.root}/lib/tasks/grunt/Gruntfile.js #{base} nggettext_extract -d -v"
8
+ puts `grunt --gruntfile #{Rails.root}/lib/tasks/grunt/Gruntfile.js #{base} nggettext_extract -d -v`
9
+ end
10
+
11
+ desc "Compile all the strings which marked for translation in javascript files"
12
+ task :compile do
13
+ base = "--base #{Rails.root}/"
14
+ puts `grunt --gruntfile #{Rails.root}/lib/tasks/grunt/Gruntfile.js #{base} nggettext_compile -d -v`
15
+ end
16
+ end
2
17
 
18
+ end
19
+
20
+
21
+ namespace :faalis do
3
22
  namespace :js do
4
23
  namespace :i18n do
5
-
6
24
  desc "Collect all the strings which marked for translation from javascript files"
7
25
  task :collect do
8
- base = "--base #{Rails.root}/"
9
- puts "grunt --gruntfile #{Rails.root}/lib/tasks/grunt/Gruntfile.js #{base} nggettext_extract -d -v"
10
- puts `grunt --gruntfile #{Rails.root}/lib/tasks/grunt/Gruntfile.js #{base} nggettext_extract -d -v`
26
+ base = "--base #{Faalis::Engine.root}/"
27
+ puts "grunt --gruntfile #{Faalis::Engine.root}/lib/tasks/grunt/Gruntfile.js #{base} nggettext_extract -d -v"
28
+ puts `grunt --gruntfile #{Faalis::Engine.root}/lib/tasks/grunt/Gruntfile.js #{base} nggettext_extract -d -v`
11
29
  end
12
30
 
13
31
  desc "Compile all the strings which marked for translation in javascript files"
14
32
  task :compile do
15
- base = "--base #{Rails.root}/"
16
- puts `grunt --gruntfile #{Rails.root}/lib/tasks/grunt/Gruntfile.js #{base} nggettext_compile -d -v`
33
+ base = "--base #{Faalis::Engine.root}/"
34
+ puts `grunt --gruntfile #{Faalis::Engine.root}/lib/tasks/grunt/Gruntfile.js #{base} nggettext_compile -d -v`
17
35
  end
18
36
  end
19
-
20
- end
21
- end
22
-
23
-
24
- namespace :js do
25
- namespace :i18n do
26
- desc "Collect all the strings which marked for translation from javascript files"
27
- task :collect do
28
- base = "--base #{Faalis::Engine.root}/"
29
- puts "grunt --gruntfile #{Faalis::Engine.root}/lib/tasks/grunt/Gruntfile.js #{base} nggettext_extract -d -v"
30
- puts `grunt --gruntfile #{Faalis::Engine.root}/lib/tasks/grunt/Gruntfile.js #{base} nggettext_extract -d -v`
31
- end
32
-
33
- desc "Compile all the strings which marked for translation in javascript files"
34
- task :compile do
35
- base = "--base #{Faalis::Engine.root}/"
36
- puts `grunt --gruntfile #{Faalis::Engine.root}/lib/tasks/grunt/Gruntfile.js #{base} nggettext_compile -d -v`
37
- end
38
-
39
37
  end
40
38
  end