browsercms 3.0.0 → 3.0.1

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 (444) hide show
  1. data/app/controllers/cms/connectors_controller.rb +1 -1
  2. data/app/helpers/cms/application_helper.rb +2 -19
  3. data/app/helpers/cms/form_builder.rb +8 -5
  4. data/app/helpers/cms/menu_helper.rb +19 -5
  5. data/app/helpers/cms/page_helper.rb +9 -1
  6. data/app/helpers/cms/template_support.rb +21 -0
  7. data/app/models/abstract_file_block.rb +4 -0
  8. data/app/models/connector.rb +7 -3
  9. data/app/models/dynamic_view.rb +2 -4
  10. data/app/models/portlet.rb +22 -9
  11. data/app/models/section.rb +7 -5
  12. data/app/views/cms/blocks/_toolbar_for_member.html.erb +4 -4
  13. data/app/views/cms/blocks/index.html.erb +1 -1
  14. data/app/views/cms/blocks/usages.html.erb +44 -34
  15. data/app/views/cms/connectors/new.html.erb +2 -2
  16. data/app/views/cms/dynamic_views/_form.html.erb +1 -1
  17. data/app/views/cms/dynamic_views/index.html.erb +7 -3
  18. data/app/views/cms/email_messages/index.html.erb +3 -5
  19. data/app/views/cms/form_builder/_cms_datetime_select.html.erb +12 -0
  20. data/app/views/cms/form_builder/_cms_text_editor.html.erb +2 -2
  21. data/app/views/cms/form_builder/_cms_text_field.html.erb +1 -2
  22. data/app/views/cms/groups/_permissions.html.erb +1 -0
  23. data/app/views/cms/groups/_sections.html.erb +1 -0
  24. data/app/views/cms/groups/index.html.erb +3 -5
  25. data/app/views/cms/page_routes/index.html.erb +13 -7
  26. data/app/views/cms/page_routes/show.html.erb +4 -4
  27. data/app/views/cms/pages/_edit_connector.html.erb +4 -1
  28. data/app/views/cms/pages/_edit_container.html.erb +4 -1
  29. data/app/views/cms/redirects/index.html.erb +12 -7
  30. data/app/views/cms/routes/index.html.erb +11 -7
  31. data/app/views/cms/sections/_form.html.erb +4 -5
  32. data/app/views/cms/users/_groups.html.erb +1 -0
  33. data/app/views/layouts/_cms_toolbar.html.erb +37 -4
  34. data/app/views/layouts/_page_toolbar.html.erb +2 -2
  35. data/browsercms.gemspec +381 -3
  36. data/db/demo/data.rb +2 -1
  37. data/doc/app/classes/AbstractFileBlock.html +146 -0
  38. data/doc/app/classes/ActiveRecord.html +105 -0
  39. data/doc/app/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html +242 -0
  40. data/doc/app/classes/ActiveSupport.html +111 -0
  41. data/doc/app/classes/ActiveSupport/Cache.html +111 -0
  42. data/doc/app/classes/ActiveSupport/Cache/FileStore.html +146 -0
  43. data/doc/app/classes/ActsAsList.html +147 -0
  44. data/doc/app/classes/ActsAsList/ClassMethods.html +202 -0
  45. data/doc/app/classes/ActsAsList/InstanceMethods.html +510 -0
  46. data/doc/app/classes/ApplicationController.html +119 -0
  47. data/doc/app/classes/ApplicationHelper.html +112 -0
  48. data/doc/app/classes/Attachment.html +726 -0
  49. data/doc/app/classes/Category.html +230 -0
  50. data/doc/app/classes/CategoryType.html +214 -0
  51. data/doc/app/classes/Cms.html +638 -0
  52. data/doc/app/classes/Cms/Acts.html +111 -0
  53. data/doc/app/classes/Cms/Acts/ContentBlock.html +146 -0
  54. data/doc/app/classes/Cms/Acts/ContentBlock/MacroMethods.html +165 -0
  55. data/doc/app/classes/Cms/Acts/ContentBlock/MacroMethods/InstanceMethods.html +140 -0
  56. data/doc/app/classes/Cms/ApplicationController.html +418 -0
  57. data/doc/app/classes/Cms/ApplicationHelper.html +814 -0
  58. data/doc/app/classes/Cms/AttachmentsController.html +154 -0
  59. data/doc/app/classes/Cms/Authentication.html +116 -0
  60. data/doc/app/classes/Cms/Authentication/Controller.html +702 -0
  61. data/doc/app/classes/Cms/Authentication/Model.html +165 -0
  62. data/doc/app/classes/Cms/Authentication/Model/ClassMethods.html +246 -0
  63. data/doc/app/classes/Cms/Authentication/Model/InstanceMethods.html +412 -0
  64. data/doc/app/classes/Cms/BaseController.html +113 -0
  65. data/doc/app/classes/Cms/Behaviors.html +235 -0
  66. data/doc/app/classes/Cms/Behaviors/Archiving.html +147 -0
  67. data/doc/app/classes/Cms/Behaviors/Archiving/InstanceMethods.html +220 -0
  68. data/doc/app/classes/Cms/Behaviors/Archiving/MacroMethods.html +175 -0
  69. data/doc/app/classes/Cms/Behaviors/Attaching.html +160 -0
  70. data/doc/app/classes/Cms/Behaviors/Attaching/InstanceMethods.html +670 -0
  71. data/doc/app/classes/Cms/Behaviors/Attaching/MacroMethods.html +188 -0
  72. data/doc/app/classes/Cms/Behaviors/Categorizing.html +148 -0
  73. data/doc/app/classes/Cms/Behaviors/Categorizing/ClassMethods.html +105 -0
  74. data/doc/app/classes/Cms/Behaviors/Categorizing/InstanceMethods.html +140 -0
  75. data/doc/app/classes/Cms/Behaviors/Categorizing/MacroMethods.html +178 -0
  76. data/doc/app/classes/Cms/Behaviors/ClassMethods.html +272 -0
  77. data/doc/app/classes/Cms/Behaviors/Connecting.html +148 -0
  78. data/doc/app/classes/Cms/Behaviors/Connecting/ClassMethods.html +188 -0
  79. data/doc/app/classes/Cms/Behaviors/Connecting/InstanceMethods.html +312 -0
  80. data/doc/app/classes/Cms/Behaviors/Connecting/MacroMethods.html +184 -0
  81. data/doc/app/classes/Cms/Behaviors/DynamicAttributes.html +285 -0
  82. data/doc/app/classes/Cms/Behaviors/DynamicAttributes/InstanceMethods.html +181 -0
  83. data/doc/app/classes/Cms/Behaviors/DynamicAttributes/MacroMethods.html +243 -0
  84. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange.html +178 -0
  85. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange/InstanceMethods.html +142 -0
  86. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange/MacroMethods.html +175 -0
  87. data/doc/app/classes/Cms/Behaviors/Hiding.html +148 -0
  88. data/doc/app/classes/Cms/Behaviors/Hiding/ClassMethods.html +105 -0
  89. data/doc/app/classes/Cms/Behaviors/Hiding/InstanceMethods.html +220 -0
  90. data/doc/app/classes/Cms/Behaviors/Hiding/MacroMethods.html +176 -0
  91. data/doc/app/classes/Cms/Behaviors/InstanceMethods.html +234 -0
  92. data/doc/app/classes/Cms/Behaviors/Pagination.html +151 -0
  93. data/doc/app/classes/Cms/Behaviors/Pagination/ClassMethods.html +252 -0
  94. data/doc/app/classes/Cms/Behaviors/Pagination/Collection.html +437 -0
  95. data/doc/app/classes/Cms/Behaviors/Pagination/InvalidPage.html +146 -0
  96. data/doc/app/classes/Cms/Behaviors/Publishing.html +179 -0
  97. data/doc/app/classes/Cms/Behaviors/Publishing/ClassMethods.html +105 -0
  98. data/doc/app/classes/Cms/Behaviors/Publishing/InstanceMethods.html +333 -0
  99. data/doc/app/classes/Cms/Behaviors/Publishing/MacroMethods.html +180 -0
  100. data/doc/app/classes/Cms/Behaviors/Rendering.html +179 -0
  101. data/doc/app/classes/Cms/Behaviors/Rendering/MacroMethods.html +186 -0
  102. data/doc/app/classes/Cms/Behaviors/Searching.html +147 -0
  103. data/doc/app/classes/Cms/Behaviors/Searching/ClassMethods.html +164 -0
  104. data/doc/app/classes/Cms/Behaviors/Searching/MacroMethods.html +188 -0
  105. data/doc/app/classes/Cms/Behaviors/SoftDeleting.html +148 -0
  106. data/doc/app/classes/Cms/Behaviors/SoftDeleting/ClassMethods.html +217 -0
  107. data/doc/app/classes/Cms/Behaviors/SoftDeleting/InstanceMethods.html +247 -0
  108. data/doc/app/classes/Cms/Behaviors/SoftDeleting/MacroMethods.html +205 -0
  109. data/doc/app/classes/Cms/Behaviors/Taggable.html +148 -0
  110. data/doc/app/classes/Cms/Behaviors/Taggable/ClassMethods.html +164 -0
  111. data/doc/app/classes/Cms/Behaviors/Taggable/InstanceMethods.html +197 -0
  112. data/doc/app/classes/Cms/Behaviors/Taggable/MacroMethods.html +182 -0
  113. data/doc/app/classes/Cms/Behaviors/Userstamping.html +148 -0
  114. data/doc/app/classes/Cms/Behaviors/Userstamping/ClassMethods.html +105 -0
  115. data/doc/app/classes/Cms/Behaviors/Userstamping/InstanceMethods.html +143 -0
  116. data/doc/app/classes/Cms/Behaviors/Userstamping/MacroMethods.html +181 -0
  117. data/doc/app/classes/Cms/Behaviors/Versioning.html +148 -0
  118. data/doc/app/classes/Cms/Behaviors/Versioning/ClassMethods.html +237 -0
  119. data/doc/app/classes/Cms/Behaviors/Versioning/InstanceMethods.html +685 -0
  120. data/doc/app/classes/Cms/Behaviors/Versioning/MacroMethods.html +290 -0
  121. data/doc/app/classes/Cms/CacheController.html +174 -0
  122. data/doc/app/classes/Cms/Caching.html +171 -0
  123. data/doc/app/classes/Cms/CategoriesController.html +113 -0
  124. data/doc/app/classes/Cms/CategoryTypesController.html +148 -0
  125. data/doc/app/classes/Cms/ConnectorsController.html +215 -0
  126. data/doc/app/classes/Cms/ContentBlockController.html +1175 -0
  127. data/doc/app/classes/Cms/ContentController.html +313 -0
  128. data/doc/app/classes/Cms/ContentTypesController.html +148 -0
  129. data/doc/app/classes/Cms/DashboardController.html +151 -0
  130. data/doc/app/classes/Cms/DataLoader.html +182 -0
  131. data/doc/app/classes/Cms/DynamicViewsController.html +359 -0
  132. data/doc/app/classes/Cms/EmailMessagesController.html +172 -0
  133. data/doc/app/classes/Cms/ErrorHandling.html +172 -0
  134. data/doc/app/classes/Cms/Errors.html +111 -0
  135. data/doc/app/classes/Cms/Errors/AccessDenied.html +146 -0
  136. data/doc/app/classes/Cms/Extensions.html +140 -0
  137. data/doc/app/classes/Cms/Extensions/ActionView.html +111 -0
  138. data/doc/app/classes/Cms/Extensions/ActionView/Base.html +141 -0
  139. data/doc/app/classes/Cms/Extensions/ActiveRecord.html +116 -0
  140. data/doc/app/classes/Cms/Extensions/ActiveRecord/Base.html +144 -0
  141. data/doc/app/classes/Cms/Extensions/ActiveRecord/Errors.html +140 -0
  142. data/doc/app/classes/Cms/Extensions/Hash.html +175 -0
  143. data/doc/app/classes/Cms/Extensions/Integer.html +146 -0
  144. data/doc/app/classes/Cms/Extensions/NilClass.html +212 -0
  145. data/doc/app/classes/Cms/Extensions/String.html +212 -0
  146. data/doc/app/classes/Cms/FileBlocksController.html +113 -0
  147. data/doc/app/classes/Cms/FormBuilder.html +312 -0
  148. data/doc/app/classes/Cms/FormTagHelper.html +245 -0
  149. data/doc/app/classes/Cms/GroupsController.html +225 -0
  150. data/doc/app/classes/Cms/HomeController.html +148 -0
  151. data/doc/app/classes/Cms/HtmlBlocksController.html +113 -0
  152. data/doc/app/classes/Cms/ImageBlocksController.html +113 -0
  153. data/doc/app/classes/Cms/LinksController.html +341 -0
  154. data/doc/app/classes/Cms/MenuHelper.html +330 -0
  155. data/doc/app/classes/Cms/PageHelper.html +292 -0
  156. data/doc/app/classes/Cms/PageRouteConditionsController.html +113 -0
  157. data/doc/app/classes/Cms/PageRouteOptionsController.html +355 -0
  158. data/doc/app/classes/Cms/PageRouteRequirementsController.html +113 -0
  159. data/doc/app/classes/Cms/PageRoutesController.html +284 -0
  160. data/doc/app/classes/Cms/PagesController.html +331 -0
  161. data/doc/app/classes/Cms/PathHelper.html +268 -0
  162. data/doc/app/classes/Cms/PortletController.html +150 -0
  163. data/doc/app/classes/Cms/PortletsController.html +301 -0
  164. data/doc/app/classes/Cms/RedirectsController.html +172 -0
  165. data/doc/app/classes/Cms/ResourceController.html +616 -0
  166. data/doc/app/classes/Cms/Routes.html +303 -0
  167. data/doc/app/classes/Cms/RoutesController.html +164 -0
  168. data/doc/app/classes/Cms/SectionNodesController.html +272 -0
  169. data/doc/app/classes/Cms/SectionNodesHelper.html +145 -0
  170. data/doc/app/classes/Cms/SectionsController.html +542 -0
  171. data/doc/app/classes/Cms/SessionsController.html +270 -0
  172. data/doc/app/classes/Cms/TagsController.html +152 -0
  173. data/doc/app/classes/Cms/TasksController.html +221 -0
  174. data/doc/app/classes/Cms/ToolbarController.html +153 -0
  175. data/doc/app/classes/Cms/UsersController.html +405 -0
  176. data/doc/app/classes/Connector.html +350 -0
  177. data/doc/app/classes/ContentType.html +448 -0
  178. data/doc/app/classes/ContentTypeGroup.html +111 -0
  179. data/doc/app/classes/DynamicPortlet.html +148 -0
  180. data/doc/app/classes/DynamicView.html +411 -0
  181. data/doc/app/classes/EmailMessage.html +228 -0
  182. data/doc/app/classes/EmailMessageMailer.html +150 -0
  183. data/doc/app/classes/EmailPagePortlet.html +184 -0
  184. data/doc/app/classes/FileBlock.html +202 -0
  185. data/doc/app/classes/Group.html +170 -0
  186. data/doc/app/classes/GroupPermission.html +111 -0
  187. data/doc/app/classes/GroupSection.html +111 -0
  188. data/doc/app/classes/GroupType.html +111 -0
  189. data/doc/app/classes/GroupTypePermission.html +111 -0
  190. data/doc/app/classes/GuestUser.html +347 -0
  191. data/doc/app/classes/HtmlBlock.html +170 -0
  192. data/doc/app/classes/ImageBlock.html +202 -0
  193. data/doc/app/classes/InitialData.html +171 -0
  194. data/doc/app/classes/Link.html +249 -0
  195. data/doc/app/classes/LoginPortlet.html +151 -0
  196. data/doc/app/classes/Page.html +954 -0
  197. data/doc/app/classes/PagePartial.html +201 -0
  198. data/doc/app/classes/PageRoute.html +335 -0
  199. data/doc/app/classes/PageRouteCondition.html +113 -0
  200. data/doc/app/classes/PageRouteOption.html +111 -0
  201. data/doc/app/classes/PageRouteRequirement.html +113 -0
  202. data/doc/app/classes/PageTemplate.html +278 -0
  203. data/doc/app/classes/Permission.html +111 -0
  204. data/doc/app/classes/Portlet.html +738 -0
  205. data/doc/app/classes/Redirect.html +111 -0
  206. data/doc/app/classes/Section.html +580 -0
  207. data/doc/app/classes/SectionNode.html +410 -0
  208. data/doc/app/classes/Sequence.html +146 -0
  209. data/doc/app/classes/Site.html +253 -0
  210. data/doc/app/classes/Tag.html +292 -0
  211. data/doc/app/classes/TagCloudPortlet.html +176 -0
  212. data/doc/app/classes/Tagging.html +146 -0
  213. data/doc/app/classes/Task.html +288 -0
  214. data/doc/app/classes/User.html +618 -0
  215. data/doc/app/classes/UserGroupMembership.html +111 -0
  216. data/doc/app/created.rid +1 -0
  217. data/doc/app/files/app/controllers/application_controller_rb.html +109 -0
  218. data/doc/app/files/app/controllers/cms/application_controller_rb.html +101 -0
  219. data/doc/app/files/app/controllers/cms/attachments_controller_rb.html +101 -0
  220. data/doc/app/files/app/controllers/cms/base_controller_rb.html +101 -0
  221. data/doc/app/files/app/controllers/cms/cache_controller_rb.html +101 -0
  222. data/doc/app/files/app/controllers/cms/categories_controller_rb.html +101 -0
  223. data/doc/app/files/app/controllers/cms/category_types_controller_rb.html +101 -0
  224. data/doc/app/files/app/controllers/cms/connectors_controller_rb.html +101 -0
  225. data/doc/app/files/app/controllers/cms/content_block_controller_rb.html +107 -0
  226. data/doc/app/files/app/controllers/cms/content_controller_rb.html +101 -0
  227. data/doc/app/files/app/controllers/cms/content_types_controller_rb.html +101 -0
  228. data/doc/app/files/app/controllers/cms/dashboard_controller_rb.html +101 -0
  229. data/doc/app/files/app/controllers/cms/dynamic_views_controller_rb.html +101 -0
  230. data/doc/app/files/app/controllers/cms/email_messages_controller_rb.html +101 -0
  231. data/doc/app/files/app/controllers/cms/error_handling_rb.html +101 -0
  232. data/doc/app/files/app/controllers/cms/file_blocks_controller_rb.html +101 -0
  233. data/doc/app/files/app/controllers/cms/groups_controller_rb.html +101 -0
  234. data/doc/app/files/app/controllers/cms/home_controller_rb.html +101 -0
  235. data/doc/app/files/app/controllers/cms/html_blocks_controller_rb.html +101 -0
  236. data/doc/app/files/app/controllers/cms/image_blocks_controller_rb.html +101 -0
  237. data/doc/app/files/app/controllers/cms/links_controller_rb.html +101 -0
  238. data/doc/app/files/app/controllers/cms/page_route_conditions_controller_rb.html +101 -0
  239. data/doc/app/files/app/controllers/cms/page_route_options_controller_rb.html +101 -0
  240. data/doc/app/files/app/controllers/cms/page_route_requirements_controller_rb.html +101 -0
  241. data/doc/app/files/app/controllers/cms/page_routes_controller_rb.html +101 -0
  242. data/doc/app/files/app/controllers/cms/pages_controller_rb.html +101 -0
  243. data/doc/app/files/app/controllers/cms/portlet_controller_rb.html +101 -0
  244. data/doc/app/files/app/controllers/cms/portlets_controller_rb.html +101 -0
  245. data/doc/app/files/app/controllers/cms/redirects_controller_rb.html +101 -0
  246. data/doc/app/files/app/controllers/cms/resource_controller_rb.html +108 -0
  247. data/doc/app/files/app/controllers/cms/routes_controller_rb.html +101 -0
  248. data/doc/app/files/app/controllers/cms/section_nodes_controller_rb.html +101 -0
  249. data/doc/app/files/app/controllers/cms/sections_controller_rb.html +101 -0
  250. data/doc/app/files/app/controllers/cms/sessions_controller_rb.html +107 -0
  251. data/doc/app/files/app/controllers/cms/tags_controller_rb.html +101 -0
  252. data/doc/app/files/app/controllers/cms/tasks_controller_rb.html +101 -0
  253. data/doc/app/files/app/controllers/cms/toolbar_controller_rb.html +101 -0
  254. data/doc/app/files/app/controllers/cms/users_controller_rb.html +101 -0
  255. data/doc/app/files/app/helpers/application_helper_rb.html +108 -0
  256. data/doc/app/files/app/helpers/cms/application_helper_rb.html +107 -0
  257. data/doc/app/files/app/helpers/cms/form_builder_rb.html +101 -0
  258. data/doc/app/files/app/helpers/cms/form_tag_helper_rb.html +101 -0
  259. data/doc/app/files/app/helpers/cms/menu_helper_rb.html +101 -0
  260. data/doc/app/files/app/helpers/cms/page_helper_rb.html +101 -0
  261. data/doc/app/files/app/helpers/cms/path_helper_rb.html +101 -0
  262. data/doc/app/files/app/helpers/cms/section_nodes_helper_rb.html +101 -0
  263. data/doc/app/files/app/models/abstract_file_block_rb.html +101 -0
  264. data/doc/app/files/app/models/attachment_rb.html +109 -0
  265. data/doc/app/files/app/models/category_rb.html +101 -0
  266. data/doc/app/files/app/models/category_type_rb.html +101 -0
  267. data/doc/app/files/app/models/connector_rb.html +101 -0
  268. data/doc/app/files/app/models/content_type_group_rb.html +101 -0
  269. data/doc/app/files/app/models/content_type_rb.html +101 -0
  270. data/doc/app/files/app/models/dynamic_view_rb.html +101 -0
  271. data/doc/app/files/app/models/email_message_mailer_rb.html +101 -0
  272. data/doc/app/files/app/models/email_message_rb.html +101 -0
  273. data/doc/app/files/app/models/file_block_rb.html +101 -0
  274. data/doc/app/files/app/models/group_permission_rb.html +101 -0
  275. data/doc/app/files/app/models/group_rb.html +101 -0
  276. data/doc/app/files/app/models/group_section_rb.html +101 -0
  277. data/doc/app/files/app/models/group_type_permission_rb.html +101 -0
  278. data/doc/app/files/app/models/group_type_rb.html +101 -0
  279. data/doc/app/files/app/models/guest_user_rb.html +101 -0
  280. data/doc/app/files/app/models/html_block_rb.html +101 -0
  281. data/doc/app/files/app/models/image_block_rb.html +101 -0
  282. data/doc/app/files/app/models/link_rb.html +101 -0
  283. data/doc/app/files/app/models/page_partial_rb.html +101 -0
  284. data/doc/app/files/app/models/page_rb.html +101 -0
  285. data/doc/app/files/app/models/page_route_condition_rb.html +101 -0
  286. data/doc/app/files/app/models/page_route_option_rb.html +101 -0
  287. data/doc/app/files/app/models/page_route_rb.html +101 -0
  288. data/doc/app/files/app/models/page_route_requirement_rb.html +101 -0
  289. data/doc/app/files/app/models/page_template_rb.html +101 -0
  290. data/doc/app/files/app/models/permission_rb.html +101 -0
  291. data/doc/app/files/app/models/portlet_rb.html +101 -0
  292. data/doc/app/files/app/models/redirect_rb.html +101 -0
  293. data/doc/app/files/app/models/section_node_rb.html +101 -0
  294. data/doc/app/files/app/models/section_rb.html +101 -0
  295. data/doc/app/files/app/models/site_rb.html +101 -0
  296. data/doc/app/files/app/models/tag_rb.html +101 -0
  297. data/doc/app/files/app/models/tagging_rb.html +101 -0
  298. data/doc/app/files/app/models/task_rb.html +101 -0
  299. data/doc/app/files/app/models/user_group_membership_rb.html +101 -0
  300. data/doc/app/files/app/models/user_rb.html +108 -0
  301. data/doc/app/files/app/portlets/dynamic_portlet_rb.html +101 -0
  302. data/doc/app/files/app/portlets/email_page_portlet_rb.html +101 -0
  303. data/doc/app/files/app/portlets/login_portlet_rb.html +101 -0
  304. data/doc/app/files/app/portlets/tag_cloud_portlet_rb.html +101 -0
  305. data/doc/app/files/doc/README_FOR_APP.html +127 -0
  306. data/doc/app/files/lib/acts_as_list_rb.html +101 -0
  307. data/doc/app/files/lib/browsercms_rb.html +113 -0
  308. data/doc/app/files/lib/cms/acts/content_block_rb.html +101 -0
  309. data/doc/app/files/lib/cms/authentication/controller_rb.html +101 -0
  310. data/doc/app/files/lib/cms/authentication/model_rb.html +101 -0
  311. data/doc/app/files/lib/cms/behaviors/archiving_rb.html +101 -0
  312. data/doc/app/files/lib/cms/behaviors/attaching_rb.html +101 -0
  313. data/doc/app/files/lib/cms/behaviors/categorizing_rb.html +101 -0
  314. data/doc/app/files/lib/cms/behaviors/connecting_rb.html +101 -0
  315. data/doc/app/files/lib/cms/behaviors/dynamic_attributes_rb.html +101 -0
  316. data/doc/app/files/lib/cms/behaviors/flush_cache_on_change_rb.html +101 -0
  317. data/doc/app/files/lib/cms/behaviors/hiding_rb.html +101 -0
  318. data/doc/app/files/lib/cms/behaviors/pagination_rb.html +107 -0
  319. data/doc/app/files/lib/cms/behaviors/publishing_rb.html +101 -0
  320. data/doc/app/files/lib/cms/behaviors/rendering_rb.html +101 -0
  321. data/doc/app/files/lib/cms/behaviors/searching_rb.html +101 -0
  322. data/doc/app/files/lib/cms/behaviors/soft_deleting_rb.html +101 -0
  323. data/doc/app/files/lib/cms/behaviors/taggable_rb.html +101 -0
  324. data/doc/app/files/lib/cms/behaviors/userstamping_rb.html +101 -0
  325. data/doc/app/files/lib/cms/behaviors/versioning_rb.html +101 -0
  326. data/doc/app/files/lib/cms/behaviors_rb.html +147 -0
  327. data/doc/app/files/lib/cms/caching_rb.html +101 -0
  328. data/doc/app/files/lib/cms/data_loader_rb.html +101 -0
  329. data/doc/app/files/lib/cms/extensions/action_view/base_rb.html +101 -0
  330. data/doc/app/files/lib/cms/extensions/active_record/base_rb.html +101 -0
  331. data/doc/app/files/lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements_rb.html +101 -0
  332. data/doc/app/files/lib/cms/extensions/active_record/errors_rb.html +101 -0
  333. data/doc/app/files/lib/cms/extensions/active_support/cache/file_store_rb.html +101 -0
  334. data/doc/app/files/lib/cms/extensions/hash_rb.html +101 -0
  335. data/doc/app/files/lib/cms/extensions/integer_rb.html +101 -0
  336. data/doc/app/files/lib/cms/extensions/nil_rb.html +101 -0
  337. data/doc/app/files/lib/cms/extensions/string_rb.html +101 -0
  338. data/doc/app/files/lib/cms/extensions_rb.html +101 -0
  339. data/doc/app/files/lib/cms/init_rb.html +101 -0
  340. data/doc/app/files/lib/cms/routes_rb.html +101 -0
  341. data/doc/app/files/lib/initial_data_rb.html +101 -0
  342. data/doc/app/files/lib/sequence_rb.html +101 -0
  343. data/doc/app/fr_class_index.html +205 -0
  344. data/doc/app/fr_file_index.html +152 -0
  345. data/doc/app/fr_method_index.html +738 -0
  346. data/doc/app/index.html +24 -0
  347. data/doc/app/rdoc-style.css +208 -0
  348. data/doc/guides/html/build_it_yourself.html +175 -0
  349. data/doc/guides/html/deployment_guide.html +181 -0
  350. data/doc/guides/html/designer_guide.html +153 -0
  351. data/doc/guides/html/developer_guide.html +266 -0
  352. data/doc/guides/html/files/javascripts/code_highlighter.js +188 -0
  353. data/doc/guides/html/files/javascripts/guides.js +7 -0
  354. data/doc/guides/html/files/javascripts/highlighters.js +90 -0
  355. data/doc/guides/html/files/stylesheets/main.css +441 -0
  356. data/doc/guides/html/files/stylesheets/reset.css +43 -0
  357. data/doc/guides/html/files/stylesheets/style.css +13 -0
  358. data/doc/guides/html/files/stylesheets/syntax.css +31 -0
  359. data/doc/guides/html/getting_started.html +181 -0
  360. data/doc/guides/html/images/bg.png +0 -0
  361. data/doc/guides/html/images/bottom_cap.png +0 -0
  362. data/doc/guides/html/images/browsercms_logo.png +0 -0
  363. data/doc/guides/html/images/dot.png +0 -0
  364. data/doc/guides/html/images/icons/README +5 -0
  365. data/doc/guides/html/images/icons/callouts/1.png +0 -0
  366. data/doc/guides/html/images/icons/callouts/10.png +0 -0
  367. data/doc/guides/html/images/icons/callouts/11.png +0 -0
  368. data/doc/guides/html/images/icons/callouts/12.png +0 -0
  369. data/doc/guides/html/images/icons/callouts/13.png +0 -0
  370. data/doc/guides/html/images/icons/callouts/14.png +0 -0
  371. data/doc/guides/html/images/icons/callouts/15.png +0 -0
  372. data/doc/guides/html/images/icons/callouts/2.png +0 -0
  373. data/doc/guides/html/images/icons/callouts/3.png +0 -0
  374. data/doc/guides/html/images/icons/callouts/4.png +0 -0
  375. data/doc/guides/html/images/icons/callouts/5.png +0 -0
  376. data/doc/guides/html/images/icons/callouts/6.png +0 -0
  377. data/doc/guides/html/images/icons/callouts/7.png +0 -0
  378. data/doc/guides/html/images/icons/callouts/8.png +0 -0
  379. data/doc/guides/html/images/icons/callouts/9.png +0 -0
  380. data/doc/guides/html/images/icons/caution.png +0 -0
  381. data/doc/guides/html/images/icons/example.png +0 -0
  382. data/doc/guides/html/images/icons/home.png +0 -0
  383. data/doc/guides/html/images/icons/important.png +0 -0
  384. data/doc/guides/html/images/icons/next.png +0 -0
  385. data/doc/guides/html/images/icons/note.png +0 -0
  386. data/doc/guides/html/images/icons/prev.png +0 -0
  387. data/doc/guides/html/images/icons/tip.png +0 -0
  388. data/doc/guides/html/images/icons/up.png +0 -0
  389. data/doc/guides/html/images/icons/warning.png +0 -0
  390. data/doc/guides/html/images/top_cap.png +0 -0
  391. data/doc/guides/html/images/top_cap_content.png +0 -0
  392. data/doc/guides/html/index.html +168 -0
  393. data/doc/guides/html/installing_modules.html +181 -0
  394. data/doc/guides/html/user_guide.html +266 -0
  395. data/lib/cms/behaviors/attaching.rb +1 -1
  396. data/lib/cms/behaviors/rendering.rb +1 -1
  397. data/lib/cms/behaviors/taggable.rb +2 -1
  398. data/lib/cms/behaviors/versioning.rb +1 -1
  399. data/lib/cms/init.rb +4 -4
  400. data/lib/tasks/cms.rake +16 -42
  401. data/public/images/cms/buttons/button_cap_off_middle.gif +0 -0
  402. data/public/images/cms/buttons/button_left_bg.png +0 -0
  403. data/public/images/cms/buttons/button_off_middle.png +0 -0
  404. data/public/images/cms/nav_admin.gif +0 -0
  405. data/public/images/cms/nav_admin_h.gif +0 -0
  406. data/public/images/cms/nav_admin_on.gif +0 -0
  407. data/public/images/cms/nav_content_library.gif +0 -0
  408. data/public/images/cms/nav_content_library_h.gif +0 -0
  409. data/public/images/cms/nav_content_library_on.gif +0 -0
  410. data/public/images/cms/nav_dash.gif +0 -0
  411. data/public/images/cms/nav_dash_h.gif +0 -0
  412. data/public/images/cms/nav_dash_on.gif +0 -0
  413. data/public/images/cms/nav_sitemap.gif +0 -0
  414. data/public/images/cms/nav_sitemap_h.gif +0 -0
  415. data/public/images/cms/nav_sitemap_on.gif +0 -0
  416. data/public/stylesheets/cms/administration.css +91 -91
  417. data/public/stylesheets/cms/block.css +25 -25
  418. data/public/stylesheets/cms/buttons.css +120 -111
  419. data/public/stylesheets/cms/content_library.css +2 -1
  420. data/public/stylesheets/cms/content_types.css +3 -3
  421. data/public/stylesheets/cms/dashboard.css +118 -118
  422. data/public/stylesheets/cms/data_table.css +155 -155
  423. data/public/stylesheets/cms/form_layout.css +269 -269
  424. data/public/stylesheets/cms/jquery.contextMenu.css +61 -61
  425. data/public/stylesheets/cms/login.css +77 -77
  426. data/public/stylesheets/cms/menu.css +116 -116
  427. data/public/stylesheets/cms/nav.css +98 -111
  428. data/public/stylesheets/cms/page_toolbar.css +134 -134
  429. data/public/stylesheets/cms/sitemap.css +31 -15
  430. data/rails_generators/content_block/content_block_generator.rb +4 -9
  431. data/rails_generators/content_block/templates/_form.html.erb +3 -1
  432. data/rails_generators/portlet/portlet_generator.rb +2 -6
  433. data/rails_generators/portlet/templates/_form.html.erb +1 -0
  434. data/templates/blank.rb +30 -0
  435. data/templates/demo.rb +28 -0
  436. data/templates/module.rb +945 -0
  437. data/test/functional/cms/connectors_controller_test.rb +12 -1
  438. data/test/functional/cms/portlets_controller_test.rb +10 -0
  439. data/test/unit/behaviors/taggable_test.rb +19 -0
  440. data/test/unit/helpers/menu_helper_test.rb +72 -1
  441. data/test/unit/lib/generators_test.rb +21 -3
  442. data/test/unit/models/connector_test.rb +16 -0
  443. data/test/unit/models/sections_test.rb +4 -0
  444. metadata +380 -2
@@ -7,7 +7,7 @@ class Cms::ConnectorsController < Cms::BaseController
7
7
  @block_type = ContentType.find_by_key(params[:block_type] || session[:last_block_type] || 'html_block')
8
8
  @container = params[:container]
9
9
  @connector = @page.connectors.build(:container => @container)
10
- @blocks = @block_type.model_class.all(:order => "name")
10
+ @blocks = @block_type.model_class.all(:order => "name", :conditions => ["deleted = ?", false])
11
11
  end
12
12
 
13
13
  def create
@@ -1,14 +1,6 @@
1
1
  # Methods added to this helper will be available to all templates in the cms.
2
2
  module Cms
3
3
  module ApplicationHelper
4
-
5
- def page_title(*args)
6
- if args.first
7
- @controller.instance_variable_get("@template").instance_variable_set("@page_title", args.first)
8
- else
9
- @controller.instance_variable_get("@template").instance_variable_get("@page_title")
10
- end
11
- end
12
4
 
13
5
  def searchable_sections(selected = nil)
14
6
  root = Section.root.first
@@ -115,8 +107,8 @@ module Cms
115
107
  <<LBW
116
108
  <div class="lt_button">
117
109
  <img src="/images/cms/lt_button_l.gif" alt="" />
118
- <div>
119
- #{ content }
110
+ <div class="lt_button_content">
111
+ <span>#{ content }</span>
120
112
  </div>
121
113
  <img src="/images/cms/lt_button_r.gif" alt="" style="margin-right: 10px;" />
122
114
  </div>
@@ -165,15 +157,6 @@ LBW
165
157
  end
166
158
  end
167
159
 
168
- def tb_iframe(path, options={})
169
- # The order of the parameters matters. All parameters that should be sent to the server,
170
- # have to appear before TB_iframe. All parameters that shouldn't be sent to the server and
171
- # that are just there for Thickbox should be after TB_iframe
172
- {:height => 600, :width => 600, :modal => true}.merge(options).inject("#{path}&TB_iframe=true") do |s, (k,v)|
173
- s << "&#{k}=#{CGI::escape(v.to_s)}"
174
- end
175
- end
176
-
177
160
  def determine_order(current_order, order)
178
161
  if current_order == order
179
162
  if order =~ / desc$/i
@@ -27,12 +27,12 @@ class Cms::FormBuilder < ActionView::Helpers::FormBuilder
27
27
  # These are the higher-level fields,
28
28
  # that get wrapped in divs with labels, instructions, etc.
29
29
 
30
- %w[date_picker text_area text_field file_field].each do |f|
30
+ %w[date_picker datetime_select text_area text_field file_field].each do |f|
31
31
  src = <<-end_src
32
32
  def cms_#{f}(method, options={})
33
33
  add_tabindex!(options)
34
34
  set_default_value!(method, options)
35
- cms_options = options.extract!(:label, :instructions)
35
+ cms_options = options.extract!(:label, :instructions, :default_value)
36
36
  render_cms_form_partial :#{f},
37
37
  :object_name => @object_name, :method => method,
38
38
  :options => options, :cms_options => cms_options
@@ -43,7 +43,8 @@ class Cms::FormBuilder < ActionView::Helpers::FormBuilder
43
43
 
44
44
  def cms_drop_down(method, choices, options={}, html_options={})
45
45
  add_tabindex!(html_options)
46
- cms_options = options.extract!(:label, :instructions)
46
+ set_default_value!(method, options)
47
+ cms_options = options.extract!(:label, :instructions, :default_value)
47
48
  render_cms_form_partial :drop_down,
48
49
  :object_name => @object_name, :method => method,
49
50
  :choices => choices, :options => options,
@@ -52,14 +53,16 @@ class Cms::FormBuilder < ActionView::Helpers::FormBuilder
52
53
 
53
54
  def cms_tag_list(options={})
54
55
  add_tabindex!(options)
55
- cms_options = options.extract!(:label, :instructions)
56
+ set_default_value!(:tag_list, options)
57
+ cms_options = options.extract!(:label, :instructions, :default_value)
56
58
  render_cms_form_partial :tag_list,
57
59
  :options => options, :cms_options => cms_options
58
60
  end
59
61
 
60
62
  def cms_text_editor(method, options = {})
61
63
  add_tabindex!(options)
62
- cms_options = options.extract!(:label, :instructions)
64
+ set_default_value!(method, options)
65
+ cms_options = options.extract!(:label, :instructions, :default_value)
63
66
  render_cms_form_partial :text_editor,
64
67
  :id => (options[:id] || "#{@object_name}_#{method}"),
65
68
  :editor_enabled => (cookies["editorEnabled"].blank? ? true : (cookies["editorEnabled"] == 'true' || cookies["editorEnabled"] == ['true'])),
@@ -9,16 +9,19 @@ module Cms
9
9
  # for that Section. This is commonly done to have a page for a Section and avoid having duplicates in the
10
10
  # navigation.
11
11
  #
12
- # You can change the behavior with the following options:
12
+ # You can change the behavior with the following options, all of these are optional:
13
13
  #
14
14
  # ==== Options
15
- # * <tt>:page</tt> - What page should be used. If this value is omitted, the value in @page will be used.
15
+ # * <tt>:page</tt> - What page should be used as the current page. If this value is omitted, the value in @page will be used.
16
+ # * <tt>:path</tt> - This will be used to look up a section and that section will used to generate the menu. The current page will
17
+ # still be the value of the page option or @page. Note that this is the path to a section, not a path to a page.
16
18
  # * <tt>:from_top</tt> - How many below levels from the root the tree should start at.
17
19
  # All sections at this level will be shown. The default is 0, which means show all
18
20
  # section that are direct children of the root
19
21
  # * <tt>:depth</tt> - How many levels deep should the tree go, relative to from_top.
20
22
  # If no value is supplied, the tree will go all the way down to the current page.
21
23
  # If a value is supplied, the tree will be that many levels underneath from_top deep.
24
+ # * <tt>:limit</tt> - Limits the number of top-level elements that will be included in the list
22
25
  # * <tt>:class</tt> - The CSS Class that will be applied to the div. The default value is "menu".
23
26
  # * <tt>:show_all_siblings</tt> - Passing true for this option will make all sibilings appear in the tree.
24
27
  # the default is false, in which case only the siblings of nodes within the open path will appear.
@@ -111,19 +114,30 @@ module Cms
111
114
  def render_menu(options={})
112
115
  #Intialize parameters
113
116
  page = options[:page] || @page
117
+ return nil unless page
118
+
119
+ # Path to the section
120
+ if options.has_key?(:path)
121
+ section_for_path = Section.find_by_path(options[:path])
122
+ raise "Could not find section for path '#{options[:path]}'" unless section_for_path
123
+ ancestors = section_for_path.ancestors(:include_self => true)
124
+ else
125
+ ancestors = page.ancestors
126
+ end
127
+
114
128
  from_top = options.has_key?(:from_top) ? options[:from_top].to_i : 0
115
129
  depth = options.has_key?(:depth) ? options[:depth].to_i : 1.0/0
116
130
  id = options[:id] || "menu"
117
131
  css_class = options[:class] || "menu"
118
132
  show_all_siblings = !!(options[:show_all_siblings])
133
+ limit = options[:limit]
119
134
 
120
135
  html = "<div id=\"#{id}\" class=\"#{css_class}\">\n"
121
136
 
122
- ancestors = page.ancestors
123
137
  if from_top > ancestors.size
124
138
  return html << "</div>\n"
125
139
  else
126
- ancestors = page.ancestors[from_top..-1]
140
+ ancestors = ancestors[from_top..-1]
127
141
  end
128
142
 
129
143
  #We are defining a recursive lambda that takes the top-level sections
@@ -165,7 +179,7 @@ module Cms
165
179
  end
166
180
  html << "</ul>\n".indent(indent+2)
167
181
  end
168
- fn.call(ancestors.first.visible_child_nodes, 1) unless ancestors.first.blank?
182
+ fn.call(ancestors.first.visible_child_nodes(:limit => limit), 1) unless ancestors.first.blank?
169
183
  html << "</div>\n"
170
184
  end
171
185
  end
@@ -1,12 +1,20 @@
1
1
  module Cms
2
2
  module PageHelper
3
+ def page_title(*args)
4
+ if args.first
5
+ @controller.instance_variable_get("@template").instance_variable_set("@page_title", args.first)
6
+ else
7
+ @controller.instance_variable_get("@template").instance_variable_get("@page_title")
8
+ end
9
+ end
10
+
3
11
  def current_page
4
12
  @page
5
13
  end
6
14
 
7
15
  def container(name)
8
16
  content = instance_variable_get("@content_for_#{name}")
9
- if logged_in? && @mode == "edit"
17
+ if logged_in? && @page && @mode == "edit"
10
18
  render :partial => 'cms/pages/edit_container', :locals => {:name => name, :content => content}
11
19
  else
12
20
  content
@@ -0,0 +1,21 @@
1
+ # This is a module, not a helper, that is meant to be included
2
+ # into controllers that want to use page templates for their layout
3
+ module Cms
4
+ module TemplateSupport
5
+ def self.included(controller)
6
+ controller.class_eval do
7
+ include Cms::Authentication::Controller
8
+ include Cms::ErrorHandling
9
+
10
+ helper Cms::PageHelper
11
+ helper Cms::MenuHelper
12
+ helper do
13
+ def cms_toolbar
14
+ %Q{<iframe src="#{cms_toolbar_path(:page_toolbar => 0)}" width="100%" height="100px" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" name="cms_toolbar"></iframe>}
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+
21
+ end
@@ -9,5 +9,9 @@ class AbstractFileBlock < ActiveRecord::Base
9
9
  def path
10
10
  attachment_file_path
11
11
  end
12
+
13
+ def self.publishable?
14
+ true
15
+ end
12
16
 
13
17
  end
@@ -43,15 +43,19 @@ class Connector < ActiveRecord::Base
43
43
  end
44
44
 
45
45
  def status
46
- published? ? :published : :draft
46
+ live? ? 'published' : 'draft'
47
47
  end
48
48
 
49
49
  def status_name
50
50
  status.to_s.titleize
51
51
  end
52
52
 
53
- def published?
54
- publishable? ? connectable.published? : true
53
+ def live?
54
+ if publishable?
55
+ connectable.live?
56
+ else
57
+ true
58
+ end
55
59
  end
56
60
 
57
61
  def publishable?
@@ -1,5 +1,6 @@
1
1
  class DynamicView < ActiveRecord::Base
2
2
 
3
+ after_save :write_file_to_disk
3
4
  after_destroy :remove_file_from_disk
4
5
 
5
6
  named_scope :with_file_name, lambda{|file_name|
@@ -27,10 +28,7 @@ class DynamicView < ActiveRecord::Base
27
28
  validates_presence_of :name, :format, :handler
28
29
  validates_uniqueness_of :name, :scope => [:format, :handler],
29
30
  :message => "Must have a unique combination of name, format and handler"
30
-
31
- after_save :write_file_to_disk
32
- before_destroy :remove_file_from_disk
33
-
31
+
34
32
  end
35
33
  end
36
34
 
@@ -24,6 +24,10 @@ class Portlet < ActiveRecord::Base
24
24
  :publishable => false,
25
25
  :renderable => {:instance_variable_name_for_view => "@portlet"})
26
26
 
27
+ def self.template_path
28
+ default_template_path
29
+ end
30
+
27
31
  def self.helper_path
28
32
  "app/portlets/helpers/#{name.underscore}_helper.rb"
29
33
  end
@@ -53,14 +57,6 @@ class Portlet < ActiveRecord::Base
53
57
  type.constantize
54
58
  end
55
59
 
56
- def self.content_block_type
57
- "portlet"
58
- end
59
-
60
- def self.content_block_type_for_list
61
- "portlet"
62
- end
63
-
64
60
  # For column in list
65
61
  def portlet_type_name
66
62
  type.titleize
@@ -87,7 +83,24 @@ class Portlet < ActiveRecord::Base
87
83
  end
88
84
 
89
85
  def inline_options
90
- {:inline => self.template}
86
+ options = {}
87
+ options[:inline] = self.template if self.class.render_inline
88
+ options[:type] = self.handler unless self.handler.blank?
89
+ options
90
+ end
91
+
92
+ def self.handler(handler_type)
93
+ define_method(:handler) { handler_type }
94
+ end
95
+
96
+ def self.render_inline(*args)
97
+ if args.length > 0
98
+ @render_inline = args.first
99
+ elsif !defined?(@render_inline)
100
+ @render_inline = true
101
+ else
102
+ @render_inline
103
+ end
91
104
  end
92
105
 
93
106
  def type_name
@@ -36,9 +36,10 @@ class Section < ActiveRecord::Base
36
36
 
37
37
  attr_accessor :full_path
38
38
 
39
- def visible_child_nodes
39
+ def visible_child_nodes(options={})
40
40
  children = child_nodes.of_type(["Section", "Page", "Link"]).all(:order => 'section_nodes.position')
41
- children.select{|sn| sn.visible?}
41
+ visible_children = children.select{|sn| sn.visible?}
42
+ options[:limit] ? visible_children[0...options[:limit]] : visible_children
42
43
  end
43
44
 
44
45
  def all_children_with_name
@@ -70,8 +71,9 @@ class Section < ActiveRecord::Base
70
71
  end
71
72
  end
72
73
 
73
- def ancestors
74
- node ? node.ancestors : []
74
+ def ancestors(options={})
75
+ ancs = node ? node.ancestors : []
76
+ options[:include_self] ? ancs + [self] : ancs
75
77
  end
76
78
 
77
79
  def move_to(section)
@@ -113,7 +115,7 @@ class Section < ActiveRecord::Base
113
115
 
114
116
  #The first page that is a decendent of this section
115
117
  def first_page_or_link
116
- section_node = child_nodes.of_type(['Link','Page']).first
118
+ section_node = child_nodes.of_type(['Link','Page']).first(:order => "section_nodes.position")
117
119
  return section_node.node if section_node
118
120
  sections.each do |s|
119
121
  node = s.first_page_or_link
@@ -1,7 +1,7 @@
1
1
  <% able_to? :publish_content do -%>
2
2
  <% if @block.respond_to?(:live?) && !@block.live? %>
3
3
  <%= link_to span_tag('Publish'), block_path(:publish),
4
- :class => "http_put button",
4
+ :class => "http_put button left",
5
5
  :id => "publish_button" %>
6
6
  <% else %>
7
7
  <%= link_to span_tag('Publish'), "#",
@@ -11,15 +11,15 @@
11
11
  <% end -%>
12
12
 
13
13
  <%= link_to span_tag('View Content'), block_path,
14
- :class => "button#{ ' off' if action_name == 'show'} middle",
14
+ :class => "button middle#{ ' off' if action_name == 'show'}",
15
15
  :id => "view_button" %>
16
16
 
17
17
  <%= link_to span_tag('Edit Content'), block_path(:edit),
18
- :class => "button#{ ' off' if action_name == 'edit'}",
18
+ :class => "button right#{ ' off' if action_name == 'edit'}",
19
19
  :id => "edit_button" %>
20
20
 
21
21
  <%= link_to span_tag("Add New Content"), new_block_path,
22
- :class => "button#{ ' off' if action_name == 'new'} right",
22
+ :class => "button#{ ' off' if action_name == 'new'}",
23
23
  :id => "add_button" %>
24
24
 
25
25
  <% if @block.class.versioned? %>
@@ -89,7 +89,7 @@
89
89
  <td class="first"></td>
90
90
  <% content_type.columns_for_index.each_with_index do |column, i| %>
91
91
  <td class="<%= column[:label].gsub(' ', '').underscore %>">
92
- <div class="dividers">
92
+ <div<%= ' class="dividers"' if (i + 3 < col_ct) %>>
93
93
  <%= block.send(column[:method]) %>
94
94
  <% if i.zero? && block.respond_to?(:cannot_be_deleted_message) && block.cannot_be_deleted_message %>
95
95
  <div class="cannot_be_deleted_message" style="display: none">
@@ -1,34 +1,44 @@
1
- <% page_title "Content Library / View Usages" %>
2
- <% @toolbar_title = "Pages Using #{content_type.display_name} '#{ @block.name }'" %>
3
- <% content_for :html_head do %>
4
- <%= stylesheet_link_tag("cms/content_library") %>
5
- <% javascript_tag do %>
6
- jQuery(function($) {
7
- $('#functions .button').addClass('disabled').attr('href','#');
8
- $('#view_button').removeClass('disabled')
9
- .attr('href', '<%= url_for([:cms, @block])%>')
10
- $('#edit_button').removeClass('disabled')
11
- .attr('href', '<%= url_for([:edit, :cms, @block])%>')
12
- })
13
- <% end %>
14
- <% end %>
15
-
16
- <%= render :partial => 'cms/blocks/toolbar' %>
17
-
18
- <table class="data">
19
- <thead>
20
- <tr>
21
- <th>Page Name</th>
22
- <th>Path</th>
23
- <th class="last">Page Status</th>
24
- </tr>
25
- </thead>
26
- <% @pages.each do |page| %>
27
- <% status = page.archived? ? :archived : page.status %>
28
- <tr>
29
- <td class="page_name"><%= page.name %></td>
30
- <td class="path"><%= link_to page.path, page.path %></td>
31
- <td class="block_status"><%= status_icon(status) %> <div><%= status %></div></td>
32
- </tr>
33
- <% end %>
34
- </table>
1
+ <% page_title "Content Library / View Usages" %>
2
+ <% @toolbar_title = "Pages Using #{content_type.display_name} '#{ @block.name }'" %>
3
+ <% content_for :html_head do %>
4
+ <%= stylesheet_link_tag("cms/content_library") %>
5
+ <% javascript_tag do %>
6
+ jQuery(function($) {
7
+ $('#functions .button').addClass('disabled').attr('href','#');
8
+ $('#view_button').removeClass('disabled')
9
+ .attr('href', '<%= cms_connectable_path(@block)%>')
10
+ $('#edit_button').removeClass('disabled')
11
+ .attr('href', '<%= edit_cms_connectable_path(@block)%>')
12
+ })
13
+ <% end %>
14
+ <% end %>
15
+
16
+ <%= render :partial => 'cms/blocks/toolbar' %>
17
+ <div class="roundedcorners">
18
+ <table id="blocks" class="data">
19
+ <thead>
20
+ <tr>
21
+ <th colspan="2" class="first"><div class="dividers">Page Name</div></th>
22
+ <th><div class="dividers">Path</div></th>
23
+ <th colspan="2" class="last"><div class="dividers">Page Status</div></th>
24
+ </tr>
25
+ </thead>
26
+ <% @pages.each do |page| %>
27
+ <% status = page.archived? ? :archived : page.status %>
28
+ <tr>
29
+ <td class="first"></td>
30
+ <td class="page_name"><%= page.name %></td>
31
+ <td class="path"><%= link_to page.path, page.path %></td>
32
+ <td class="block_status"><%= status_icon(status) %> <div><%= status %></div></td>
33
+ <td class="last"></td>
34
+ </tr>
35
+ <% end %>
36
+ <tr>
37
+ <td colspan="8" class="buffer"></td>
38
+ </tr>
39
+ </table>
40
+ <div class="tl"></div>
41
+ <div class="tr"></div>
42
+ <div class="bl"></div>
43
+ <div class="br"></div>
44
+ </div>