lolita 3.1.18 → 3.2.0.rc1

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 (144) hide show
  1. data/Gemfile +5 -2
  2. data/History.rdoc +24 -0
  3. data/README.md +113 -0
  4. data/VERSION +1 -1
  5. data/{public → app/assets}/images/lolita/plus.png +0 -0
  6. data/{public → app/assets}/javascripts/lolita/application.js +0 -0
  7. data/{public → app/assets}/javascripts/lolita/base64.js +0 -0
  8. data/{public → app/assets}/javascripts/lolita/main.js +1 -0
  9. data/{public → app/assets}/javascripts/lolita/tab.js +0 -0
  10. data/{public → app/assets}/stylesheets/lolita/PIE-custom.htc +0 -0
  11. data/{public → app/assets}/stylesheets/lolita/PIE.htc +0 -0
  12. data/{public → app/assets}/stylesheets/lolita/default.css +0 -0
  13. data/{public → app/assets}/stylesheets/lolita/style.css +0 -21
  14. data/app/controllers/lolita/info_controller.rb +1 -12
  15. data/app/controllers/lolita/rest_controller.rb +2 -7
  16. data/app/helpers/lolita_helper.rb +1 -12
  17. data/app/views/components/lolita/configuration/column/_header.html.erb +1 -1
  18. data/app/views/components/lolita/configuration/column/_sort.html.erb +4 -7
  19. data/app/views/components/lolita/configuration/field/array/habtm/_display.html.haml +1 -1
  20. data/app/views/components/lolita/configuration/field/array/select/_display.html.erb +1 -1
  21. data/app/views/components/lolita/configuration/field/string/disabled/_display.html.erb +1 -1
  22. data/app/views/components/lolita/configuration/field/string/text/_display.html.erb +1 -1
  23. data/app/views/components/lolita/configuration/list/_paginator.html.erb +1 -1
  24. data/app/views/components/lolita/configuration/list/_title.html.erb +1 -6
  25. data/app/views/components/lolita/configuration/nested_form/_display.html.erb +6 -8
  26. data/app/views/components/lolita/navigation/_tree.html.erb +25 -18
  27. data/app/views/components/lolita/shared/_header.html.erb +1 -1
  28. data/app/views/components/lolita/shared/_right_sidebar.html.erb +6 -1
  29. data/app/views/layouts/lolita/application.html.erb +3 -3
  30. data/config/locales/en.yml +24 -1
  31. data/config/locales/lv.yml +0 -1
  32. data/config/routes.rb +1 -3
  33. data/lib/generators/lolita/install_generator.rb +1 -5
  34. data/lib/lolita.rb +23 -38
  35. data/lib/lolita/adapter/abstract_adapter.rb +0 -1
  36. data/lib/lolita/adapter/active_record.rb +4 -42
  37. data/lib/lolita/adapter/mongoid.rb +4 -76
  38. data/lib/lolita/configuration/base.rb +2 -15
  39. data/lib/lolita/configuration/column.rb +2 -25
  40. data/lib/lolita/configuration/factory/field.rb +2 -10
  41. data/lib/lolita/configuration/field.rb +1 -6
  42. data/lib/lolita/configuration/field/array.rb +31 -124
  43. data/lib/lolita/configuration/field/integer.rb +1 -0
  44. data/lib/lolita/configuration/list.rb +2 -23
  45. data/lib/lolita/configuration/tabs.rb +0 -6
  46. data/lib/lolita/controllers/component_helpers.rb +1 -1
  47. data/lib/lolita/controllers/internal_helpers.rb +4 -18
  48. data/lib/lolita/controllers/user_helpers.rb +11 -23
  49. data/lib/lolita/hooks.rb +120 -163
  50. data/lib/lolita/lazy_loader.rb +0 -3
  51. data/lib/lolita/mapping.rb +0 -23
  52. data/lib/lolita/modules/rest.rb +1 -1
  53. data/lib/lolita/navigation/branch.rb +1 -52
  54. data/lib/lolita/navigation/tree.rb +0 -10
  55. data/lib/lolita/rails.rb +2 -1
  56. data/lib/lolita/rails/routes.rb +5 -4
  57. data/lib/lolita/system_configuration/application.rb +1 -7
  58. data/lolita.gemspec +83 -100
  59. data/spec/configuration/field_spec.rb +1 -1
  60. data/spec/configuration/list_spec.rb +14 -19
  61. data/spec/rails_app/app/mongoid/post.rb +0 -4
  62. data/spec/rails_app/config/application.rb +1 -12
  63. data/spec/rails_app/config/environments/development.rb +2 -6
  64. data/spec/rails_app/config/environments/production.rb +1 -5
  65. data/spec/rails_app/config/environments/test.rb +1 -5
  66. data/vendor/assets/javascripts/jquery-1.6.2.min.js +18 -0
  67. data/{public → vendor/assets}/javascripts/jquery-ui-1.8.13.min.js +0 -0
  68. data/{public → vendor/assets}/javascripts/modernizr-1.7.min.js +0 -0
  69. data/{public → vendor/assets}/javascripts/tinymce/jquery.tinymce.js +0 -0
  70. data/{public → vendor/assets}/javascripts/tinymce/langs/en.js +0 -0
  71. data/{public → vendor/assets}/javascripts/tinymce/license.txt +0 -0
  72. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/about.htm +0 -0
  73. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/anchor.htm +0 -0
  74. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/charmap.htm +0 -0
  75. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/color_picker.htm +0 -0
  76. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/editor_template.js +0 -0
  77. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/editor_template_src.js +0 -0
  78. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/image.htm +0 -0
  79. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/img/colorpicker.jpg +0 -0
  80. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/img/flash.gif +0 -0
  81. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/img/icons.gif +0 -0
  82. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/img/iframe.gif +0 -0
  83. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/img/pagebreak.gif +0 -0
  84. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/img/quicktime.gif +0 -0
  85. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/img/realmedia.gif +0 -0
  86. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/img/shockwave.gif +0 -0
  87. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/img/trans.gif +0 -0
  88. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/img/video.gif +0 -0
  89. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/img/windowsmedia.gif +0 -0
  90. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/js/about.js +0 -0
  91. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/js/anchor.js +0 -0
  92. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/js/charmap.js +0 -0
  93. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/js/color_picker.js +0 -0
  94. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/js/image.js +0 -0
  95. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/js/link.js +0 -0
  96. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/js/source_editor.js +0 -0
  97. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/langs/en.js +0 -0
  98. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/langs/en_dlg.js +0 -0
  99. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/link.htm +0 -0
  100. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/shortcuts.htm +0 -0
  101. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/content.css +0 -0
  102. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/dialog.css +0 -0
  103. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/img/butt2.png +0 -0
  104. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/img/button-bg.png +0 -0
  105. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/img/buttons.png +0 -0
  106. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/img/down_arrow.gif +0 -0
  107. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/img/fade-butt.png +0 -0
  108. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/img/icons.png +0 -0
  109. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/img/items.gif +0 -0
  110. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/img/menu-arrow.png +0 -0
  111. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/img/menu-check.png +0 -0
  112. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/img/progress.gif +0 -0
  113. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/img/tabs.gif +0 -0
  114. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/img/toolbarbg.png +0 -0
  115. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/skins/cirkuit/ui.css +0 -0
  116. data/{public → vendor/assets}/javascripts/tinymce/themes/advanced/source_editor.htm +0 -0
  117. data/{public → vendor/assets}/javascripts/tinymce/tiny_mce.js +0 -0
  118. data/{public → vendor/assets}/javascripts/tinymce/tiny_mce_popup.js +0 -0
  119. data/{public → vendor/assets}/javascripts/tinymce/utils/editable_selects.js +0 -0
  120. data/{public → vendor/assets}/javascripts/tinymce/utils/form_utils.js +0 -0
  121. data/{public → vendor/assets}/javascripts/tinymce/utils/mctabs.js +0 -0
  122. data/{public → vendor/assets}/javascripts/tinymce/utils/validate.js +0 -0
  123. data/{public → vendor/assets}/javascripts/tinymce_config.js +1 -1
  124. metadata +121 -127
  125. data/README.rdoc +0 -100
  126. data/app/controllers/lolita/field_data_controller.rb +0 -36
  127. data/app/views/components/lolita/configuration/field/array/autocomplete/_display.html.haml +0 -11
  128. data/app/views/components/lolita/configuration/field/array/checkbox/_display.html.haml +0 -8
  129. data/app/views/components/lolita/configuration/field/array/polymorphic/_display.html.haml +0 -6
  130. data/app/views/components/lolita/configuration/field/array/polymorphic/_options_for_select.html.haml +0 -1
  131. data/app/views/components/lolita/configuration/search/_display.html.haml +0 -2
  132. data/app/views/components/lolita/shared/_save_button.html.erb +0 -6
  133. data/lib/generators/lolita/assets_generator.rb +0 -19
  134. data/lib/lolita/configuration/factory.rb +0 -56
  135. data/lib/lolita/configuration/helper.rb +0 -24
  136. data/lib/lolita/configuration/page.rb +0 -126
  137. data/lib/lolita/configuration/search.rb +0 -91
  138. data/lib/lolita/controller_additions.rb +0 -15
  139. data/lib/lolita/controllers/authorization_helpers.rb +0 -56
  140. data/lib/lolita/search/simple.rb +0 -76
  141. data/public/javascripts/jquery-1.6.min.js +0 -16
  142. data/public/javascripts/rails.js +0 -137
  143. data/spec/configuration/search_spec.rb +0 -44
  144. data/spec/search/simple_spec.rb +0 -48
data/Gemfile CHANGED
@@ -1,11 +1,14 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  # Thing how to seperate gems for Rails Engine from those that are only for lolita
4
- gem "rails", "~>3.0.10"
4
+ gem "rails", "~>3.1.0"
5
5
  gem "kaminari", "~>0.12.4"
6
6
  gem "abstract"
7
- gem "builder", "~> 2.1.2" #cucumber asks for builder 3 but rails supports 2.1
7
+
8
+ gem "builder", "~> 3.0"
9
+
8
10
  gem "haml", "~> 3.1.2"
11
+ gem 'jquery-rails'
9
12
 
10
13
  group :mongoid do
11
14
  gem "mongo", "~> 1.3.0"
data/History.rdoc CHANGED
@@ -1,3 +1,27 @@
1
+ === Version 3.2.0
2
+ * Enhancements
3
+ * Created adapter Field and Association classes. Field and association access methods convert data to thoes class objects
4
+ * Factory module created where factory classes are located
5
+ * Removed specific pagination methods from adapters
6
+ * Removed Lolita::Configuration::Factory and Lolita::Configuration::Page
7
+ * Range, Float, Symbol, Hash fields are added to support Mongoid ORM
8
+
9
+ * Changes
10
+ * #value, #value=, #record_value removed from Lolita::Configuration::Field
11
+ * Created pagination in list and in adapters; its possible to customize it for model.
12
+ * All fields must have name as well as tabs must have type
13
+
14
+ * Bug fixes
15
+ * All classes fixed to work with both mongoid and AR
16
+
17
+
18
+ === Version 3.1.18 /
19
+ * Enhancements
20
+ *
21
+ * Bug fixes
22
+ * Polymorphic bug fixed
23
+ * habtm field fixed
24
+
1
25
  === Version 3.1.17 / 2011-09-01
2
26
  * Bug fixes
3
27
  * Error explanation updated with nested errors
data/README.md ADDED
@@ -0,0 +1,113 @@
1
+ #Lolita
2
+
3
+ Great Rails CMS, that turns your business logic into good-looking, fully functional workspace.
4
+ ##Demo
5
+ See the demo page at [Demo](http://lolita-demo.ithouse.lv)
6
+
7
+ ##Installation
8
+
9
+ First install Lolita gem
10
+
11
+ sudo gem install lolita
12
+
13
+ Then go to your rails project and
14
+
15
+ rails g lolita:install
16
+
17
+ That will create initializer and copy all assets.
18
+ Also it will call *install* on all added modules to lolita.
19
+ So if you in Gemfile have following
20
+
21
+ gem "lolita"
22
+ gem "lolita-file-upload"
23
+ It will also call *lolita_file_upload:install*.
24
+ ##Usage
25
+
26
+ To make your model use Lolita do like this
27
+
28
+ class Post < ActiveRecord::Base
29
+ include Lolita::Configuration
30
+ lolita
31
+ end
32
+ Then in routes.rb file make resources accessable for lolita with
33
+
34
+ lolita_for :posts
35
+ This will make routes like
36
+ `/lolita/posts`
37
+ `/lolita/posts/1/edit`
38
+ `/lolita/posts/new`
39
+ or open `/lolita` and it will redirect to first available resource list view.
40
+
41
+ For more detailed usage read [Usage](https://github.com/ithouse/lolita/wiki/Usage) at wiki.
42
+
43
+ ###Add authorization to Lolita
44
+
45
+ Easiest way to add authentication is with Devise. First install Devise as gem, than add it to your project.
46
+ Make Devise model, lets say, *User*. After that add these lines in */config/initializers/lolita.rb*
47
+
48
+ config.user_classes << User
49
+ config.authentication = :authenticate_user!
50
+ This will make before each Lolita requests call before filter, that than will call *authenticate_user!*
51
+ that is Devise method for authenticating user. Without it Lolita will be acessable for everyone.
52
+ You can also add any other authentication method like
53
+
54
+ config.authentication = :authenticate_admin
55
+ And than put this method for common use in *ApplicationController* or in some other place that is accessable
56
+ to all controllers.
57
+ ###Using newer version of Lolita
58
+
59
+ If you decide to use some newer version, you most likely should copy new assets to your project.
60
+ This can be done with
61
+
62
+ rails g lolita:assets
63
+ ###Using hooks
64
+
65
+ Lolita define hooks for RestController and for components.
66
+ ####RestController hooks
67
+
68
+ There are two kind of hooks for all actions - *before_[action name]* and *after_[action name]*.
69
+ Define callbacks for those hooks outside of controller. This will call User#log_action each time when #destroy
70
+ action is requested.
71
+
72
+ Lolita::RestController.before_destroy do
73
+ User.log_action("Going to delete #{params[:id]}")
74
+ end
75
+ Also you can define callbacks in your controllers that extend Lolita::RestController. This will call #set\_default\_params
76
+ each time #new action is requested.
77
+
78
+ class PostController < Lolita::RestController
79
+ before_new :set_default_params
80
+
81
+ private
82
+
83
+ def set_default_params
84
+ params[:post][:title]="-Your title goes here-"
85
+ end
86
+ end
87
+ ####Component hooks
88
+
89
+ Components have three hooks - *before*, *after* and *around*.
90
+ Component hooks are different from controller hooks with names. Each component has it's own name, that is used to
91
+ call component, like
92
+
93
+ render_component :"lolita/configuration/list/display"
94
+ #same as
95
+ render_component :"lolita/configuration/list", :display
96
+ and this name is used to add callback for component. As components is not related to specific class, then there
97
+ are only one way to define callback for them.
98
+
99
+ Lolita::Hooks.component(:"/lolita/configuration/list/display").before do
100
+ "<div>My Custom text</div>"
101
+ end
102
+ That what are inside of blocks depends on place where you define callback if it is in _.rb_ file, than you
103
+ should put HTML in quotes, if in _.erb_ and similar files then there is no need for that. Also blocks with
104
+ Ruby code only return last line, so you should probably define HTML as shown in previous example.
105
+ For _around_ callback if you pass block, then original content will be replaced with that, but if you want
106
+ to let original content inside of your block content than it is done like this with #let_content method.
107
+
108
+ Lolita::Hooks.component(:"/lolita/configuration/list/display").around do
109
+ "<div style='color:red'>#{let_content}</div>"
110
+ end
111
+ ##License
112
+
113
+ Lolita is under MIT license. See [LICENSE.txt](https://github.com/ithouse/lolita/blob/master/LICENSE.txt)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.1.18
1
+ 3.2.0.rc1
File without changes
File without changes
@@ -1,3 +1,4 @@
1
+ //= require jquery_ujs
1
2
  $(function(){
2
3
  $.ajaxSetup({
3
4
  headers:{
File without changes
File without changes
@@ -315,27 +315,6 @@ a.create {
315
315
 
316
316
  .list table td a:active {position: relative; top: 1px;}
317
317
 
318
- /* search in list view */
319
-
320
- #main .boxtitle .black .search {
321
- position: absolute;
322
- right: 15px;
323
- top: 25px;
324
- background: none;
325
- padding: 0;
326
- }
327
- #main .boxtitle .black .search input {
328
- font-size: 13px;
329
- background: #fff url(<%= asset_data_uri "lolita/search_icon.png" %>) no-repeat 5px center;
330
- padding: 0 10px 0 18px;
331
- border: 1px solid #ccc;
332
- border-radius: 10px;
333
- -moz-border-radius: 10px;
334
- -webkit-border-radius: 10px;
335
- height: 20px;
336
- line-height: 20px\9;
337
- }
338
-
339
318
  /* filter */
340
319
  #main form.filter {
341
320
  background: #F3F3F3;
@@ -1,16 +1,9 @@
1
1
  class Lolita::InfoController < ApplicationController
2
2
  @@properties = []
3
- include Lolita::Controllers::UserHelpers
4
- include Lolita::Controllers::AuthorizationHelpers
5
- before_filter :authenticate_lolita_user!, :only => [:index]
6
3
 
7
4
  def index
8
5
  if Lolita.mappings.any?
9
- available_mapping = Lolita.mappings.detect{|name,mapping|
10
- can?(:read,mapping.to)
11
- }
12
- available_mapping &&= available_mapping.last
13
- return redirect_to(lolita_resources_path(available_mapping)) if available_mapping
6
+ return redirect_to(lolita_resources_path(Lolita.mappings.values.first))
14
7
  end
15
8
  render :layout => false
16
9
  end
@@ -23,10 +16,6 @@ class Lolita::InfoController < ApplicationController
23
16
  end
24
17
  end
25
18
 
26
- def is_lolita_resource?
27
- true
28
- end
29
-
30
19
  private
31
20
 
32
21
  def self.property(name, value = nil)
@@ -1,5 +1,6 @@
1
1
  class Lolita::RestController < ApplicationController
2
- include Lolita::ControllerAdditions
2
+ include Lolita::Controllers::UserHelpers
3
+ include Lolita::Controllers::InternalHelpers
3
4
 
4
5
  include Lolita::Hooks
5
6
  add_hook :before_new, :after_new, :before_create,:after_create,:before_edit,:after_edit
@@ -11,14 +12,12 @@ class Lolita::RestController < ApplicationController
11
12
 
12
13
  def new
13
14
  self.run(:before_new)
14
- authorize!(:create,self.resource_class)
15
15
  build_resource
16
16
  show_form
17
17
  end
18
18
 
19
19
  def create
20
20
  self.run(:before_create)
21
- authorize!(:create,self.resource_class)
22
21
  build_resource
23
22
  save_and_redirect
24
23
  end
@@ -26,14 +25,12 @@ class Lolita::RestController < ApplicationController
26
25
  def edit
27
26
  self.run(:before_edit)
28
27
  get_resource
29
- authorize!(:update,self.resource)
30
28
  show_form
31
29
  end
32
30
 
33
31
  def update
34
32
  self.run(:before_update)
35
33
  get_resource
36
- authorize!(:update,self.resource)
37
34
  if self.resource
38
35
  self.resource=resource_with_attributes(self.resource,resource_attributes)
39
36
  save_and_redirect
@@ -44,7 +41,6 @@ class Lolita::RestController < ApplicationController
44
41
  def destroy
45
42
  self.run(:before_destroy)
46
43
  get_resource
47
- authorize!(:destroy, self.resource)
48
44
  if self.resource && self.resource.destroy
49
45
  flash[:notice] = ::I18n.t "lolita.shared.destroy_notice"
50
46
  else
@@ -56,7 +52,6 @@ class Lolita::RestController < ApplicationController
56
52
 
57
53
  def index
58
54
  self.run(:before_index)
59
- authorize!(:read,self.resource_class)
60
55
  respond_to do |format|
61
56
  format.html do
62
57
  build_response_for(:list,:page=>page)
@@ -1,4 +1,5 @@
1
1
  module LolitaHelper
2
+
2
3
  # Classes for div block that is located to the right of menu
3
4
  # This is helpful because different positionings within it exist depending on action
4
5
  def content_classes
@@ -8,16 +9,4 @@ module LolitaHelper
8
9
  end
9
10
  classes.join(" ")
10
11
  end
11
-
12
- def include_application_assets
13
- result = ""
14
- Lolita.application.assets.each do |asset_name|
15
- if attr_name.match(/\.js(\.|$)/)
16
- result << javascript_include_tag(asset_name)
17
- elsif attr_name.match(/\.css(\.|$)/)
18
- result << stylesheet_link_tag(asset_name)
19
- end
20
- end
21
- raw(result)
22
- end
23
12
  end
@@ -1,4 +1,4 @@
1
- <th>
1
+ <th <%=column.currently_sorting?(params) ? "class='active'" : ""%> >
2
2
  <% if column.sortable? %>
3
3
  <%= render_component column, :sort %>
4
4
  <% else %>
@@ -1,7 +1,4 @@
1
- <%
2
- sort_mapping = {"desc" => '&dArr;', "asc" => '&uArr;'}
3
- new_params = params.reject{|k,v| ["controller","action"].include?(k.to_s)}
4
- direction_indicator = raw(sort_mapping[column.current_sort_state(new_params)[1]])
5
- new_params[:s] = column.sort_params(new_params)
6
- %>
7
- <%= link_to raw("#{column.title.to_s.capitalize} #{direction_indicator}"), lolita_resources_path(new_params) %>
1
+ <% param_options=params.reject{|k,v| [:controller,:action].include?(k)} %>
2
+ <% options=param_options.merge(column.sort_options(params)) %>
3
+ <% direction_indicator=column.currently_sorting?(params) && options[:sd].to_s=="desc" ? raw('&uArr;') : raw('&dArr;') %>
4
+ <%= link_to raw("#{column.title.to_s.capitalize } #{direction_indicator}"), lolita_resources_path(options) %>
@@ -3,5 +3,5 @@
3
3
  - editors = resource.send(:"#{field.name.to_s.singularize}_ids")
4
4
  .habtm-container
5
5
  = label_tag "#{resource_name}_#{field.name}_#{value.last}",value.first, :class => "habtm-label"
6
- = check_box_tag "#{resource_name}[#{field.name.to_s.singularize}_ids][]", value.last, resource.send(field.name).include?(value.last), :id => "#{resource_name}_#{field.name}_#{value.last}", :class => "habtm-checkbox"
6
+ = check_box_tag "#{resource_name}[#{field.name.to_s.singularize}_ids][]", value.last, resource.send("#{field.name.to_s.singularize}_ids").include?(value.last), :id => "#{resource_name}_#{field.name}_#{value.last}", :class => "habtm-checkbox"
7
7
  .clear
@@ -1,4 +1,4 @@
1
1
  <%= tab_form.select field.name,
2
2
  (field.view_values(self)),
3
- (field.options || {}).merge({:include_blank => field.include_blank}),
3
+ {:include_blank => field.include_blank},
4
4
  field.html_options || {} %>
@@ -1 +1 @@
1
- <div class="disabled-field"><%= raw(tab_form.object.send(field.name)) %></div>
1
+ <div class="disabled-field"><%= raw(resource.send(field.name)) %></div>
@@ -5,7 +5,7 @@
5
5
  <% end %>
6
6
  <% end %>
7
7
 
8
- <%= text_area resource_name, field.name, :rows=>(field.rows || 20), :"data-simple"=>field.simple %>
8
+ <%= tab_form.text_area field.name, :rows=>(field.rows || 20), :"data-simple"=>field.simple %>
9
9
  <% if @textarea_component_include_tinymce_once.nil? %>
10
10
  <script type="text/javascript">
11
11
  $(document).ready(
@@ -1 +1 @@
1
- <%= paginate page, :theme => "lolita", :params => params %>
1
+ <%= paginate page, :theme => "lolita" %>
@@ -1,10 +1,5 @@
1
1
  <div class="boxtitle">
2
- <h1 class="black">
3
- <%= resource_class.model_name.human(:count=>2) %>
4
- <% if list.search %>
5
- <%= render_component list.search, :display %>
6
- <% end %>
7
- </h1>
2
+ <h1 class="black"><%= resource_class.model_name.human(:count=>2) %></h1>
8
3
  <div class="arrow">
9
4
  </div>
10
5
  </div>
@@ -1,14 +1,12 @@
1
- <div class="nested_form <%=nested_form.field_style%>" id=<%= "nested_form_#{nested_form.__id__}" %>>
1
+ <div class="nested_form" id=<%= "nested_form_#{nested_form.__id__}" %>>
2
2
  <% unless nested_form.field_style == :normal %>
3
3
  <%= render_component *nested_form.as_field.build(:name=>"/lolita/configuration/field", :state => :"label") %>
4
4
  <% end %>
5
- <div class="nested-form-fields-container">
6
- <%= tab_form.fields_for nested_form.name, resource.send(nested_form.build_method) do |form| %>
7
- <% tab_form(form) do %>
8
- <%= render_component nested_form, :fields %>
9
- <% end %>
10
- <% end %>
11
- </div>
5
+ <%= tab_form.fields_for nested_form.name, resource.send(nested_form.build_method) do |form| %>
6
+ <% tab_form(form) do %>
7
+ <%= render_component nested_form, :fields %>
8
+ <% end %>
9
+ <% end %>
12
10
  <% if nested_form.expandable? && !nested_form.update_only? %>
13
11
  <p><%= link_to_add_fields ::I18n.t("lolita.nested_form.add", :resource_name => nested_form.klass.model_name.human.downcase), tab_form, nested_form %> </p>
14
12
  <% end %>
@@ -11,22 +11,29 @@
11
11
  end
12
12
  end
13
13
  end %>
14
-
15
- <% visible ||= (tree.root? || nil) %>
16
-
17
- <% if tree.visible?(self) %>
18
- <ul <%= !tree.root? ? "class='subtree'" : ""%> style="display:<%=visible ? "block" : "none"%>" >
19
- <% last_branch=tree.branches.last %>
20
- <%tree.branches.each do |branch|
21
- if branch.visible?(self)
22
- active = branch.active?(self) %>
23
- <li class="<%=active ? "active" : ""%> <%=branch.subtree? ? "with-subtree" : ""%> <%=!tree.root? && branch==last_branch ? "last-in-subtree" : ""%>">
24
- <%= link_to branch.title, branch.options[:url] || "#", :onclick => branch.subtree? ? "$(this).next().toggle();return false;" : "" %>
25
- <% if branch.subtree? %>
26
- <%= render_component(:"lolita/navigation",:tree,:tree=>branch.children, :visible => active) %>
27
- <% end %>
28
- </li>
14
+ <ul <%=!tree.root? ? "class='subtree'" : ""%> >
15
+ <% last_branch=tree.branches.last %>
16
+ <%tree.branches.each do |branch|
17
+ if branch.object.is_a?(Lolita::Mapping)
18
+ active=if self.respond_to?(:resource_class)
19
+ branch.object ? branch.object.to==resource_class : false
20
+ end
21
+ end
22
+ unless active
23
+ active=branch.self_with_children.detect{|b|
24
+ if b.options[:active].respond_to?(:call)
25
+ b.options[:active].call(self,branch,b)
26
+ else
27
+ b.options[:url]==request.path
28
+ end
29
+ }
30
+ end
31
+ %>
32
+ <li class="<%=active ? "active" : ""%> <%=branch.children.branches.any? ? "with-subtree" : ""%> <%=!tree.root? && branch==last_branch ? "last-in-subtree" : ""%>">
33
+ <%= link_to branch.title, branch.options[:url] || "#" %>
34
+ <% if branch.children.branches.any? %>
35
+ <%= render_component(:"lolita/navigation",:tree,:tree=>branch.children) %>
29
36
  <% end %>
30
- <% end %>
31
- </ul>
32
- <% end %>
37
+ </li>
38
+ <% end %>
39
+ </ul>