adva-core 0.0.2 → 0.0.3

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 (284) hide show
  1. data/lib/bundler/repository.rb +118 -0
  2. metadata +68 -317
  3. data/app/controllers/admin/base_controller.rb +0 -21
  4. data/app/controllers/admin/pages_controller.rb +0 -7
  5. data/app/controllers/admin/sections_controller.rb +0 -39
  6. data/app/controllers/admin/sites_controller.rb +0 -21
  7. data/app/controllers/articles_controller.rb +0 -3
  8. data/app/controllers/base_controller.rb +0 -22
  9. data/app/controllers/installations_controller.rb +0 -28
  10. data/app/controllers/pages_controller.rb +0 -2
  11. data/app/controllers/sections_controller.rb +0 -3
  12. data/app/helpers/form_helper.rb +0 -13
  13. data/app/helpers/sections_helper.rb +0 -7
  14. data/app/helpers/url_helper.rb +0 -18
  15. data/app/models/account.rb +0 -3
  16. data/app/models/article.rb +0 -2
  17. data/app/models/content.rb +0 -4
  18. data/app/models/page.rb +0 -17
  19. data/app/models/section.rb +0 -59
  20. data/app/models/site.rb +0 -26
  21. data/app/views/admin/contents/_menu.html.rb +0 -17
  22. data/app/views/admin/pages/_menu.html.rb +0 -10
  23. data/app/views/admin/pages/new.html.rb +0 -19
  24. data/app/views/admin/pages/show.html.rb +0 -25
  25. data/app/views/admin/sections/_menu.html.rb +0 -45
  26. data/app/views/admin/sections/_section.html.rb +0 -7
  27. data/app/views/admin/sections/_select_type.html.rb +0 -16
  28. data/app/views/admin/sections/index.html.rb +0 -28
  29. data/app/views/admin/sites/_menu.html.rb +0 -2
  30. data/app/views/admin/sites/edit.html.rb +0 -22
  31. data/app/views/admin/sites/index.html.rb +0 -12
  32. data/app/views/admin/sites/new.html.rb +0 -39
  33. data/app/views/admin/sites/show.html.rb +0 -7
  34. data/app/views/installations/new.html.rb +0 -39
  35. data/app/views/installations/show.html.rb +0 -9
  36. data/app/views/layouts/_flash.html.rb +0 -9
  37. data/app/views/layouts/admin.rb +0 -38
  38. data/app/views/layouts/admin/_header.rb +0 -48
  39. data/app/views/layouts/admin/_tabs.html.rb +0 -18
  40. data/app/views/layouts/admin/_top.rb +0 -58
  41. data/app/views/layouts/base.rb +0 -58
  42. data/app/views/layouts/default.rb +0 -45
  43. data/app/views/layouts/default/_menu.rb +0 -19
  44. data/app/views/layouts/simple.rb +0 -16
  45. data/app/views/pages/show.html.rb +0 -7
  46. data/config/initializers/simple_form.rb +0 -53
  47. data/config/locales/en.yml +0 -129
  48. data/config/redirects.rb +0 -8
  49. data/config/routes.rb +0 -21
  50. data/lib/adva-core.rb +0 -1
  51. data/lib/adva.rb +0 -37
  52. data/lib/adva/active_record/has_options.rb +0 -55
  53. data/lib/adva/cli.rb +0 -16
  54. data/lib/adva/controller.rb +0 -7
  55. data/lib/adva/controller/abstract_actions.rb +0 -87
  56. data/lib/adva/controller/internal_redirect.rb +0 -26
  57. data/lib/adva/controller/references.rb +0 -28
  58. data/lib/adva/core.rb +0 -85
  59. data/lib/adva/engine.rb +0 -64
  60. data/lib/adva/engine/sliced_models.rb +0 -35
  61. data/lib/adva/generators.rb +0 -8
  62. data/lib/adva/generators/app.rb +0 -121
  63. data/lib/adva/generators/engine.rb +0 -58
  64. data/lib/adva/generators/gemfile.rb +0 -50
  65. data/lib/adva/generators/install.rb +0 -31
  66. data/lib/adva/generators/templates/app/app_template.rb +0 -3
  67. data/lib/adva/generators/templates/engine/Gemfile.erb +0 -3
  68. data/lib/adva/generators/templates/engine/all.rb +0 -1
  69. data/lib/adva/generators/templates/engine/en.yml.erb +0 -2
  70. data/lib/adva/generators/templates/engine/engine.rb.erb +0 -11
  71. data/lib/adva/generators/templates/engine/gemspec.erb +0 -21
  72. data/lib/adva/generators/templates/engine/migration.rb.erb +0 -11
  73. data/lib/adva/generators/templates/engine/redirects.rb.erb +0 -3
  74. data/lib/adva/generators/templates/engine/routes.rb.erb +0 -3
  75. data/lib/adva/generators/templates/engine/test_helper.rb.erb +0 -3
  76. data/lib/adva/i18n.rb +0 -73
  77. data/lib/adva/rack.rb +0 -5
  78. data/lib/adva/rack/static.rb +0 -50
  79. data/lib/adva/registry.rb +0 -62
  80. data/lib/adva/responder.rb +0 -21
  81. data/lib/adva/responder/redirect.rb +0 -31
  82. data/lib/adva/routing_filters/section_path.rb +0 -72
  83. data/lib/adva/routing_filters/section_root.rb +0 -65
  84. data/lib/adva/tasks/core.rake +0 -9
  85. data/lib/adva/tasks/core.rb +0 -160
  86. data/lib/adva/testing.rb +0 -57
  87. data/lib/adva/testing/engine.rb +0 -37
  88. data/lib/adva/view.rb +0 -7
  89. data/lib/adva/view/form.rb +0 -44
  90. data/lib/adva/view/form/tabs.rb +0 -46
  91. data/lib/adva/view/helper/i18n.rb +0 -26
  92. data/lib/adva/view/menu.rb +0 -73
  93. data/lib/adva/view/menu/admin.rb +0 -100
  94. data/lib/adva/view/menu/items.rb +0 -26
  95. data/lib/adva/view/tabs.rb +0 -28
  96. data/lib/adva_core/version.rb +0 -3
  97. data/lib/core_ext/rails/action_view/has_many_through_collection_helpers.rb +0 -27
  98. data/lib/core_ext/rails/active_record/skip_callbacks.rb +0 -51
  99. data/lib/core_ext/ruby/array/flatten_once.rb +0 -9
  100. data/lib/core_ext/ruby/kernel/silence_stream.rb +0 -17
  101. data/lib/core_ext/ruby/module/include_anonymous.rb +0 -36
  102. data/lib/core_ext/ruby/module/option_reader.rb +0 -9
  103. data/lib/patches/arel/table_initialization_fixes.rb +0 -68
  104. data/lib/patches/inherited_resources.rb +0 -34
  105. data/lib/patches/rails/arel_table_options_fix.rb +0 -13
  106. data/lib/patches/rails/asset_expansion_multiple_registrations.rb +0 -21
  107. data/lib/patches/rails/recognize_path_env.rb +0 -43
  108. data/lib/patches/rails/route_set_to_param.rb +0 -25
  109. data/lib/patches/rails/sti_associations.rb +0 -17
  110. data/lib/patches/rails/template_resolver_caching.rb +0 -9
  111. data/lib/patches/rails/url_for.rb +0 -60
  112. data/lib/patches/responders/flash_responder.rb +0 -17
  113. data/lib/patches/simple_form.rb +0 -37
  114. data/lib/patches/thor/core_ext/hash.rb +0 -7
  115. data/lib/patches/thor/group/symbolized_options.rb +0 -8
  116. data/lib/patches/webrat/links-data-method.rb +0 -19
  117. data/lib/patches/webrat/logger.rb +0 -19
  118. data/lib/patches/webrat/upload_file.rb +0 -28
  119. data/lib/testing/assertions.rb +0 -19
  120. data/lib/testing/factories.rb +0 -30
  121. data/lib/testing/helpers/global_helpers.rb +0 -9
  122. data/lib/testing/paths.rb +0 -54
  123. data/lib/testing/step_definitions/common_steps.rb +0 -279
  124. data/lib/testing/step_definitions/menu_steps.rb +0 -11
  125. data/lib/testing/step_definitions/routes_steps.rb +0 -18
  126. data/lib/testing/step_definitions/transforms.rb +0 -50
  127. data/lib/testing/step_definitions/webrat_steps.rb +0 -291
  128. data/lib/testing/step_definitions/within_steps.rb +0 -17
  129. data/lib/webrat/integrations/rails.rb +0 -33
  130. data/public/images/adva-core/admin/header_bg.png +0 -0
  131. data/public/images/adva-core/admin/menu_checkmark.png +0 -0
  132. data/public/images/adva-core/admin/section_menu_bg.png +0 -0
  133. data/public/images/adva-core/admin/tab_action_active.png +0 -0
  134. data/public/images/adva-core/admin/tab_main_active.png +0 -0
  135. data/public/images/adva-core/admin/tab_sidebar_active.png +0 -0
  136. data/public/images/adva-core/admin/tab_top_active.png +0 -0
  137. data/public/images/adva-core/asset_selected.png +0 -0
  138. data/public/images/adva-core/avatar.gif +0 -0
  139. data/public/images/adva-core/feed.mini.png +0 -0
  140. data/public/images/adva-core/filter-bg.png +0 -0
  141. data/public/images/adva-core/grid.png +0 -0
  142. data/public/images/adva-core/icons/accept.png +0 -0
  143. data/public/images/adva-core/icons/add.png +0 -0
  144. data/public/images/adva-core/icons/arrow_cross.png +0 -0
  145. data/public/images/adva-core/icons/arrow_cross_2.png +0 -0
  146. data/public/images/adva-core/icons/arrow_cross_3.png +0 -0
  147. data/public/images/adva-core/icons/arrow_up_down.png +0 -0
  148. data/public/images/adva-core/icons/assets/audio.png +0 -0
  149. data/public/images/adva-core/icons/assets/doc.png +0 -0
  150. data/public/images/adva-core/icons/assets/pdf.png +0 -0
  151. data/public/images/adva-core/icons/assets/video.png +0 -0
  152. data/public/images/adva-core/icons/attach.png +0 -0
  153. data/public/images/adva-core/icons/bin.png +0 -0
  154. data/public/images/adva-core/icons/bin_closed.png +0 -0
  155. data/public/images/adva-core/icons/bin_empty.png +0 -0
  156. data/public/images/adva-core/icons/bullet_black.png +0 -0
  157. data/public/images/adva-core/icons/bullet_delete.png +0 -0
  158. data/public/images/adva-core/icons/bullet_error.png +0 -0
  159. data/public/images/adva-core/icons/bullet_go.png +0 -0
  160. data/public/images/adva-core/icons/bullet_red.png +0 -0
  161. data/public/images/adva-core/icons/bullet_white.png +0 -0
  162. data/public/images/adva-core/icons/bullet_yellow.png +0 -0
  163. data/public/images/adva-core/icons/cancel.png +0 -0
  164. data/public/images/adva-core/icons/comment.gif +0 -0
  165. data/public/images/adva-core/icons/comment.png +0 -0
  166. data/public/images/adva-core/icons/comment_add.png +0 -0
  167. data/public/images/adva-core/icons/comment_blue.gif +0 -0
  168. data/public/images/adva-core/icons/comment_delete.png +0 -0
  169. data/public/images/adva-core/icons/comment_edit.png +0 -0
  170. data/public/images/adva-core/icons/comment_yellow.gif +0 -0
  171. data/public/images/adva-core/icons/cross.png +0 -0
  172. data/public/images/adva-core/icons/delete.png +0 -0
  173. data/public/images/adva-core/icons/eye.png +0 -0
  174. data/public/images/adva-core/icons/favorites.png +0 -0
  175. data/public/images/adva-core/icons/help.png +0 -0
  176. data/public/images/adva-core/icons/hourglass.png +0 -0
  177. data/public/images/adva-core/icons/icon_attachment.gif +0 -0
  178. data/public/images/adva-core/icons/icon_padlock.gif +0 -0
  179. data/public/images/adva-core/icons/link.png +0 -0
  180. data/public/images/adva-core/icons/lock.png +0 -0
  181. data/public/images/adva-core/icons/magnifier.png +0 -0
  182. data/public/images/adva-core/icons/minus.gif +0 -0
  183. data/public/images/adva-core/icons/page_add.png +0 -0
  184. data/public/images/adva-core/icons/page_delete.png +0 -0
  185. data/public/images/adva-core/icons/page_edit.png +0 -0
  186. data/public/images/adva-core/icons/page_favorites.png +0 -0
  187. data/public/images/adva-core/icons/page_go.png +0 -0
  188. data/public/images/adva-core/icons/page_green.png +0 -0
  189. data/public/images/adva-core/icons/page_red.png +0 -0
  190. data/public/images/adva-core/icons/page_white_add.png +0 -0
  191. data/public/images/adva-core/icons/page_white_delete.png +0 -0
  192. data/public/images/adva-core/icons/page_white_edit.png +0 -0
  193. data/public/images/adva-core/icons/page_white_go.png +0 -0
  194. data/public/images/adva-core/icons/page_white_link.png +0 -0
  195. data/public/images/adva-core/icons/page_white_magnify.png +0 -0
  196. data/public/images/adva-core/icons/pencil.png +0 -0
  197. data/public/images/adva-core/icons/star.png +0 -0
  198. data/public/images/adva-core/icons/stop.png +0 -0
  199. data/public/images/adva-core/icons/tag_green.png +0 -0
  200. data/public/images/adva-core/icons/tick.png +0 -0
  201. data/public/images/adva-core/icons/zoom.png +0 -0
  202. data/public/images/adva-core/indicator.gif +0 -0
  203. data/public/images/adva-core/lines.png +0 -0
  204. data/public/images/adva-core/preview.png +0 -0
  205. data/public/images/adva-core/theme_selected.png +0 -0
  206. data/public/javascripts/adva-core/admin.js +0 -22
  207. data/public/javascripts/adva-core/jquery/jquery-1.4.2.min.js +0 -154
  208. data/public/javascripts/adva-core/jquery/jquery.table_tree.js +0 -296
  209. data/public/javascripts/adva-core/jquery/jquery.tablednd_0_5.js +0 -386
  210. data/public/javascripts/adva-core/rails.js +0 -127
  211. data/public/javascripts/backup/admin/jquery.admin.js +0 -77
  212. data/public/javascripts/backup/admin/jquery.article.js +0 -22
  213. data/public/javascripts/backup/admin/jquery.cached_pages.js +0 -14
  214. data/public/javascripts/backup/admin/jquery.table_tree.backup.js +0 -279
  215. data/public/javascripts/backup/admin/jquery.table_tree.js +0 -10
  216. data/public/javascripts/backup/application.js +0 -38
  217. data/public/javascripts/backup/application.prototype.js +0 -135
  218. data/public/javascripts/backup/builder.js +0 -136
  219. data/public/javascripts/backup/controls.js +0 -965
  220. data/public/javascripts/backup/cookie.js +0 -49
  221. data/public/javascripts/backup/dragdrop.js +0 -975
  222. data/public/javascripts/backup/effects.js +0 -1130
  223. data/public/javascripts/backup/flash.js +0 -49
  224. data/public/javascripts/backup/jquery.dates.js +0 -49
  225. data/public/javascripts/backup/jquery.flash.js +0 -40
  226. data/public/javascripts/backup/jquery.roles.js +0 -23
  227. data/public/javascripts/backup/jquery/jquery-lowpro.js +0 -224
  228. data/public/javascripts/backup/jquery/jquery-ui.js +0 -273
  229. data/public/javascripts/backup/jquery/jquery.js +0 -19
  230. data/public/javascripts/backup/jquery/jquery.qtip.min.js +0 -15
  231. data/public/javascripts/backup/json.js +0 -139
  232. data/public/javascripts/backup/lowpro.js +0 -320
  233. data/public/javascripts/backup/parseuri.js +0 -39
  234. data/public/javascripts/backup/prototype.js +0 -4320
  235. data/public/javascripts/backup/roles.js +0 -16
  236. data/public/javascripts/backup/scriptaculous.js +0 -60
  237. data/public/javascripts/backup/slider.js +0 -275
  238. data/public/javascripts/backup/sound.js +0 -55
  239. data/public/javascripts/backup/unittest.js +0 -568
  240. data/public/stylesheets/adva-core/admin/forms.css +0 -172
  241. data/public/stylesheets/adva-core/admin/layout.css +0 -38
  242. data/public/stylesheets/adva-core/admin/lists.css +0 -54
  243. data/public/stylesheets/adva-core/admin/navigation.css +0 -234
  244. data/public/stylesheets/adva-core/admin/sidebar.css +0 -87
  245. data/public/stylesheets/adva-core/admin/styles.css +0 -136
  246. data/public/stylesheets/adva-core/common/forms.css +0 -174
  247. data/public/stylesheets/adva-core/common/layout.css +0 -93
  248. data/public/stylesheets/adva-core/common/reset.css +0 -42
  249. data/public/stylesheets/adva-core/common/styles.css +0 -41
  250. data/public/stylesheets/adva-core/default/layout.css +0 -0
  251. data/public/stylesheets/adva-core/default/styles.css +0 -30
  252. data/public/stylesheets/adva-core/simple/layout.css +0 -11
  253. data/public/stylesheets/backup/alternate/common.css +0 -76
  254. data/public/stylesheets/backup/alternate/forms.css +0 -121
  255. data/public/stylesheets/backup/alternate/header.css +0 -125
  256. data/public/stylesheets/backup/alternate/layout.css +0 -103
  257. data/public/stylesheets/backup/alternate/lists.css +0 -153
  258. data/public/stylesheets/backup/alternate/sidebar.css +0 -65
  259. data/public/stylesheets/backup/alternate/top.css +0 -123
  260. data/public/stylesheets/backup/content.css +0 -11
  261. data/public/stylesheets/backup/helptip.css +0 -35
  262. data/public/stylesheets/backup/jquery/alternate/jquery.tooltip.css +0 -13
  263. data/public/stylesheets/backup/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  264. data/public/stylesheets/backup/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  265. data/public/stylesheets/backup/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  266. data/public/stylesheets/backup/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  267. data/public/stylesheets/backup/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  268. data/public/stylesheets/backup/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  269. data/public/stylesheets/backup/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  270. data/public/stylesheets/backup/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  271. data/public/stylesheets/backup/jquery/images/ui-icons_222222_256x240.png +0 -0
  272. data/public/stylesheets/backup/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  273. data/public/stylesheets/backup/jquery/images/ui-icons_454545_256x240.png +0 -0
  274. data/public/stylesheets/backup/jquery/images/ui-icons_888888_256x240.png +0 -0
  275. data/public/stylesheets/backup/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  276. data/public/stylesheets/backup/jquery/jquery-ui.css +0 -406
  277. data/public/stylesheets/backup/jquery/jquery.tooltip.css +0 -10
  278. data/public/stylesheets/backup/layout.css +0 -22
  279. data/public/stylesheets/backup/lists.css +0 -17
  280. data/public/stylesheets/backup/menu.css +0 -129
  281. data/public/stylesheets/backup/projection.css +0 -118
  282. data/public/stylesheets/backup/screen/top.css +0 -8
  283. data/public/stylesheets/backup/themes.css +0 -49
  284. data/public/stylesheets/backup/users.css +0 -40
@@ -1,21 +0,0 @@
1
- require 'adva/controller/internal_redirect'
2
- require 'inherited_resources'
3
- require 'inherited_resources/helpers'
4
-
5
- class Admin::BaseController < InheritedResources::Base
6
- include UrlHelper
7
-
8
- respond_to :html
9
- layout 'admin'
10
-
11
- helper_method :account, :tabs
12
- delegate :account, :to => :site
13
-
14
- def self.responder
15
- Adva::Responder
16
- end
17
-
18
- def tabs
19
- @tabs ||= Adva::View::Tabs.new
20
- end
21
- end
@@ -1,7 +0,0 @@
1
- class Admin::PagesController < Admin::SectionsController
2
- purges :create, :update
3
-
4
- def update
5
- update! { |success, failure| failure.html { render :show } }
6
- end
7
- end
@@ -1,39 +0,0 @@
1
- class Admin::SectionsController < Admin::BaseController
2
- respond_to :html
3
- respond_to :json, :only => :update
4
-
5
- belongs_to :site
6
-
7
- before_filter :set_params_for_nested_resources, :only => [:new, :create, :edit, :update]
8
- before_filter :protect_last_section, :only => :destroy
9
-
10
- helper :sections
11
- abstract_actions :except => [:index, :destroy]
12
-
13
- purges :destroy
14
-
15
- def create
16
- resource.save
17
- respond_with *resources
18
- end
19
-
20
- protected
21
-
22
- def set_params_for_nested_resources
23
- params[:section] ||= { :type => 'Page' }
24
- if params[:section][:type] == 'Page'
25
- # FIXME! this seems to insert tons of empty articles on update if :article_attributes is empty.
26
- # shouldn't happen with a regular form submit but still seems a bit ugly
27
- params[:section][:article_attributes] ||= { :body => '' } if params[:action] == 'new'
28
- else
29
- params[:section].delete(:article_attributes)
30
- end
31
- end
32
-
33
- def protect_last_section
34
- if site.sections.count == 1
35
- resource.errors[:error] = [:last_section_cant_be_destroyed]
36
- respond_with(resources)
37
- end
38
- end
39
- end
@@ -1,21 +0,0 @@
1
- class Admin::SitesController < Admin::BaseController
2
- respond_to :html
3
- respond_to :json, :only => :update
4
-
5
- purges :update, :destroy
6
-
7
- before_filter :set_params_for_nested_resources, :only => [:new, :edit]
8
- before_filter :set_account, :only => :create
9
-
10
- helper :sections
11
-
12
- protected
13
-
14
- def set_params_for_nested_resources
15
- params[:site] ||= { :host => request.host, :sections_attributes => [{ :name => '' }] }
16
- end
17
-
18
- def set_account
19
- params[:site][:account_id] = Account.first.id # TODO
20
- end
21
- end
@@ -1,3 +0,0 @@
1
- class ArticlesController < BaseController
2
- belongs_to :page, :singleton => true
3
- end
@@ -1,22 +0,0 @@
1
- require 'inherited_resources'
2
- require 'inherited_resources/helpers'
3
- require 'simple_table'
4
-
5
- ActionView::Base.send(:include, SimpleTable) # TODO should be in simple_table
6
-
7
- class BaseController < InheritedResources::Base
8
- begin_of_association_chain :site
9
- tracks :resource, :resources, :collection, :site => %w(.title .name .sections)
10
-
11
- layout 'default'
12
- helper_method :account, :site
13
- delegate :account, :to => :site
14
-
15
- def self.responder
16
- Adva::Responder
17
- end
18
-
19
- def site
20
- @site ||= Site.by_host(request.host_with_port)
21
- end
22
- end
@@ -1,28 +0,0 @@
1
- class InstallationsController < BaseController
2
- defaults :resource_class => Site, :instance_name => 'site'
3
-
4
- layout 'simple'
5
- helper :sections
6
-
7
- before_filter :set_params_for_nested_resources, :only => [:new, :create]
8
- before_filter :protect_install, :only => [:new, :create]
9
-
10
- def create
11
- @site = Site.install(params)
12
- respond_with resource
13
- end
14
-
15
- protected
16
- def set_params_for_nested_resources
17
- params[:site] ||= {}
18
- params[:site].reverse_merge!(:host => request.host_with_port, :title => params[:site][:name], :account_attributes => {})
19
- params[:site][:sections_attributes] ||= [{ :type => 'Page', :name => I18n.t(:'section.default_name', :default => 'Home') }]
20
- end
21
-
22
- def protect_install
23
- if Site.find_by_host(request.host_with_port)
24
- flash[:error] = t(:'flash.installation.protected', :host => request.host_with_port)
25
- redirect_to admin_sites_url # TODO figure out how to remove the user dependency
26
- end
27
- end
28
- end
@@ -1,2 +0,0 @@
1
- class PagesController < BaseController
2
- end
@@ -1,3 +0,0 @@
1
- class SectionsController < BaseController
2
- abstract_actions :except => :index
3
- end
@@ -1,13 +0,0 @@
1
- module FormHelper
2
- def fieldset(&block)
3
- content_tag(:fieldset, &block)
4
- end
5
-
6
- def column(&block)
7
- content_tag(:div, :class => 'column', &block)
8
- end
9
-
10
- def button_group(&block)
11
- content_tag(:div, :class => 'buttons', &block)
12
- end
13
- end
@@ -1,7 +0,0 @@
1
- module SectionsHelper
2
- def section_types_option_values
3
- Section.types.map do |type|
4
- [t(:"section.types.#{type.demodulize.underscore}"), type]
5
- end
6
- end
7
- end
@@ -1,18 +0,0 @@
1
- require 'core_ext/ruby/module/include_anonymous'
2
-
3
- module UrlHelper
4
- def self.included(base)
5
- base.send(:helper_method, public_instance_methods)
6
- end
7
-
8
- include do
9
- def public_url
10
- public_url_for(resources.reject { |r| r.respond_to?(:new_record?) && r.new_record? })
11
- end
12
-
13
- def public_url_for(resources, options = {})
14
- resources -= [:admin, site]
15
- resources.empty? ? "http://#{site.host}" : polymorphic_url(resources, options)
16
- end
17
- end
18
- end
@@ -1,3 +0,0 @@
1
- class Account < ActiveRecord::Base
2
- has_many :sites, :dependent => :destroy
3
- end
@@ -1,2 +0,0 @@
1
- class Article < Content
2
- end
@@ -1,4 +0,0 @@
1
- class Content < ActiveRecord::Base
2
- belongs_to :site
3
- belongs_to :section
4
- end
@@ -1,17 +0,0 @@
1
- class Page < Section
2
- has_one :article, :foreign_key => 'section_id', :inverse_of => :section, :dependent => :destroy
3
- validates_presence_of :article
4
- accepts_nested_attributes_for :article
5
- before_validation :ensure_default_article
6
-
7
- def body=(body)
8
- ensure_default_article
9
- article.body = body
10
- end
11
-
12
- protected
13
-
14
- def ensure_default_article
15
- build_article(:site => site, :section => self, :title => name) unless article.present?
16
- end
17
- end
@@ -1,59 +0,0 @@
1
- class Section < ActiveRecord::Base
2
- extend ActiveSupport::Memoizable
3
-
4
- belongs_to :site, :inverse_of => :sections
5
-
6
- # unfortunate, but moving this to a adva-categories/section_slice breaks because
7
- # class_inheritable_attributes get out of sync and crash. this might change if we
8
- # were able to load code slices lazily
9
- if Adva.engine?(:categories)
10
- has_many :categories, :foreign_key => :section_id
11
- accepts_nested_attributes_for :categories
12
- end
13
-
14
- validates_presence_of :site, :name, :slug
15
-
16
- has_slug :scope => :site_id
17
- acts_as_nested_set # FIXME must scope to site_id
18
- serialize :options # FIXME should be in has_options, but the class_inheritable_accessor :serialized_attributes seems to get out of sync
19
-
20
- # validates_uniqueness_of :slug, :scope => [:site_id, :parent_id]
21
-
22
- mattr_accessor :types
23
- self.types ||= [] # FIXME model is loaded twice, at least in cucumber
24
-
25
- class << self
26
- def inherited(child)
27
- types << child.name
28
- super
29
- end
30
-
31
- def type_names
32
- @type_names ||= types.map(&:underscore)
33
- end
34
- end
35
-
36
- def type
37
- read_attribute(:type) || 'Section'
38
- end
39
-
40
- def path
41
- _path == site.home_section.send(:_path) ? '' : _path
42
- end
43
-
44
- def home?
45
- root? && previous_sibling.nil?
46
- end
47
-
48
- def attributes_protected_by_default
49
- default = [self.class.primary_key]
50
- default << 'id' unless self.class.primary_key.eql? 'id'
51
- default
52
- end
53
-
54
- protected
55
-
56
- def _path
57
- read_attribute(:path)
58
- end
59
- end
@@ -1,26 +0,0 @@
1
- class Site < ActiveRecord::Base
2
- validates_presence_of :host, :name, :title
3
- validates_uniqueness_of :host
4
-
5
- belongs_to :account
6
- has_many :sections, :inverse_of => :site, :dependent => :destroy
7
- has_many :pages, :dependent => :destroy
8
-
9
- accepts_nested_attributes_for :account, :sections
10
-
11
- has_one :home_section, :class_name => 'Section', :conditions => 'parent_id IS NULL', :order => 'lft'
12
-
13
- class << self
14
- def install(params)
15
- User.skip_callbacks do # TODO remove user dependency, test failure
16
- site = Site.create!(params[:site])
17
- site.account.users.first.confirm!
18
- site
19
- end
20
- end
21
-
22
- def by_host(host)
23
- Site.count == 1 ? Site.first : Site.find_by_host(host) # TODO figure out how we want to do this ...
24
- end
25
- end
26
- end
@@ -1,17 +0,0 @@
1
- class Admin::Contents::Menu < Adva::View::Menu::Admin::Actions
2
- include do
3
- def main
4
- resource_section_label
5
- index
6
- edit_parent
7
- end
8
-
9
- def right
10
- new
11
- if persisted?
12
- edit
13
- destroy
14
- end
15
- end
16
- end
17
- end
@@ -1,10 +0,0 @@
1
- require_dependency 'admin/sections/_menu.html'
2
-
3
- class Admin::Pages::Menu < Admin::Sections::Menu
4
- include do
5
- def right
6
- super
7
- destroy if show?
8
- end
9
- end
10
- end
@@ -1,19 +0,0 @@
1
- class Admin::Pages::New < Adva::View::Form
2
- include do
3
- def to_html
4
- h2 :'.title'
5
- render 'admin/sections/select_type'
6
- super
7
- end
8
-
9
- def fields
10
- fieldset do
11
- form.hidden_field :type
12
- form.input :name
13
- form.simple_fields_for(:article) do |a|
14
- a.input :body
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,25 +0,0 @@
1
- class Admin::Pages::Show < Adva::View::Form
2
- include do
3
- def to_html
4
- h2 :'.title'
5
- super
6
- end
7
-
8
- def fields
9
- form.simple_fields_for(:article) do |a|
10
- a.input :body
11
- end
12
- end
13
-
14
- def buttons
15
- form.button :submit
16
- end
17
-
18
- def sidebar
19
- tab :options do
20
- form.input :name
21
- form.input :slug
22
- end
23
- end
24
- end
25
- end
@@ -1,45 +0,0 @@
1
- # Base menu for sections. Also used on admin/sections/new.
2
- class Admin::Sections::Menu < Adva::View::Menu::Admin::Actions
3
- include do
4
- def main
5
- if collection?
6
- index
7
- else
8
- resource_label
9
- show
10
- edit unless page?
11
- end
12
- end
13
-
14
- def right
15
- new if collection?
16
- destroy if edit?
17
- reorder if index? # TODO should only happen if we actually have more than 1 category
18
- end
19
-
20
- protected
21
-
22
- def index
23
- item(:".sections", index_parent_path(:sections))
24
- end
25
-
26
- def reorder
27
- super( :'data-resource_type' => 'site', :'data-sortable_type' => 'sections')
28
- end
29
-
30
- def page?
31
- resource.is_a?(Page)
32
- end
33
-
34
- def edit
35
- item(:'.edit_section', edit_path)
36
- end
37
-
38
- def active?(url, options)
39
- # hmmm ...
40
- types = Section.types.map { |type| type.underscore.pluralize }.join('|')
41
- return false if url =~ %r(/admin/sites/\d+/#{types}/\d+$) && request.path != url
42
- super
43
- end
44
- end
45
- end