sunrise-cms 0.6.11 → 0.7.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (220) hide show
  1. data/app/assets/javascripts/sunrise/application.js +5 -4
  2. data/app/assets/javascripts/sunrise/jquery.dialog.js.coffee +2 -2
  3. data/app/assets/stylesheets/sunrise/application.css +4 -1
  4. data/app/views/sunrise/manager/_header_show.html.erb +1 -1
  5. data/app/views/sunrise/manager/buttons/_delete.html.erb +2 -1
  6. data/app/views/sunrise/manager/structures/thumbs/_record.html.erb +2 -1
  7. data/app/views/sunrise/manager/structures/tree/_record.html.erb +1 -1
  8. data/app/views/sunrise/manager/table/_record.html.erb +1 -1
  9. data/app/views/sunrise/manager/thumbs/_record.html.erb +1 -1
  10. data/app/views/sunrise/shared/services.json.jbuilder +1 -1
  11. data/config/routes.rb +1 -1
  12. data/db/migrate/20120611095315_create_settings.rb +3 -3
  13. data/lib/generators/sunrise/install_generator.rb +2 -2
  14. data/lib/generators/sunrise/templates/models/active_record/asset.rb +1 -1
  15. data/lib/generators/sunrise/templates/models/active_record/settings.rb +9 -2
  16. data/lib/generators/sunrise/templates/models/active_record/structure.rb +1 -2
  17. data/lib/generators/sunrise/templates/models/active_record/user.rb +1 -3
  18. data/lib/generators/sunrise/templates/models/mongoid/settings.rb +0 -1
  19. data/lib/generators/sunrise/templates/models/mongoid/structure.rb +1 -1
  20. data/lib/generators/sunrise/templates/models/mongoid/user.rb +1 -2
  21. data/lib/sunrise/carrierwave/base_uploader.rb +2 -2
  22. data/lib/sunrise/config/model.rb +1 -1
  23. data/lib/sunrise/core_ext/string.rb +7 -25
  24. data/lib/sunrise/models/user.rb +3 -26
  25. data/lib/sunrise/version.rb +1 -1
  26. data/spec/dummy/log/test.log +22584 -0
  27. data/spec/dummy/public/uploads/avatar/content_rails.png +0 -0
  28. data/spec/dummy/public/uploads/avatar/rails.png +0 -0
  29. data/spec/dummy/public/uploads/avatar/thumb_rails.png +0 -0
  30. data/spec/dummy/public/uploads/tmp/1397814500-44499-6278/rails.png +0 -0
  31. data/spec/dummy/public/uploads/tmp/1397814500-44499-6278/small_rails.png +0 -0
  32. data/spec/dummy/public/uploads/tmp/1397814500-44499-6278/thumb_rails.png +0 -0
  33. data/spec/dummy/public/uploads/tmp/1397814501-44499-0716/rails.png +0 -0
  34. data/spec/dummy/public/uploads/tmp/1397814501-44499-0716/small_rails.png +0 -0
  35. data/spec/dummy/public/uploads/tmp/1397814501-44499-0716/thumb_rails.png +0 -0
  36. data/spec/dummy/public/uploads/tmp/1397814501-44499-6498/rails.png +0 -0
  37. data/spec/dummy/public/uploads/tmp/1397814501-44499-6498/small_rails.png +0 -0
  38. data/spec/dummy/public/uploads/tmp/1397814501-44499-6498/thumb_rails.png +0 -0
  39. data/spec/dummy/public/uploads/tmp/1397814502-44499-9048/silicon_valley.jpg +0 -0
  40. data/spec/dummy/public/uploads/tmp/1397814502-44499-9048/small_silicon_valley.jpg +0 -0
  41. data/spec/dummy/public/uploads/tmp/1397814502-44499-9048/thumb_silicon_valley.jpg +0 -0
  42. data/spec/dummy/public/uploads/tmp/1397814509-44499-4712/rails.png +0 -0
  43. data/spec/dummy/public/uploads/tmp/1397814511-44499-6511/rails.png +0 -0
  44. data/spec/dummy/public/uploads/tmp/1397814514-44499-0946/rails.png +0 -0
  45. data/spec/dummy/public/uploads/tmp/1397814515-44499-4275/rails.png +0 -0
  46. data/spec/dummy/public/uploads/tmp/1397814516-44499-7258/rails.png +0 -0
  47. data/spec/dummy/public/uploads/tmp/1397814743-45062-5613/rails.png +0 -0
  48. data/spec/dummy/public/uploads/tmp/1397814743-45062-5613/small_rails.png +0 -0
  49. data/spec/dummy/public/uploads/tmp/1397814743-45062-5613/thumb_rails.png +0 -0
  50. data/spec/dummy/public/uploads/tmp/1397814744-45062-2352/rails.png +0 -0
  51. data/spec/dummy/public/uploads/tmp/1397814744-45062-2352/small_rails.png +0 -0
  52. data/spec/dummy/public/uploads/tmp/1397814744-45062-2352/thumb_rails.png +0 -0
  53. data/spec/dummy/public/uploads/tmp/1397814744-45062-7990/rails.png +0 -0
  54. data/spec/dummy/public/uploads/tmp/1397814744-45062-7990/small_rails.png +0 -0
  55. data/spec/dummy/public/uploads/tmp/1397814744-45062-7990/thumb_rails.png +0 -0
  56. data/spec/dummy/public/uploads/tmp/1397814745-45062-4632/silicon_valley.jpg +0 -0
  57. data/spec/dummy/public/uploads/tmp/1397814745-45062-4632/small_silicon_valley.jpg +0 -0
  58. data/spec/dummy/public/uploads/tmp/1397814745-45062-4632/thumb_silicon_valley.jpg +0 -0
  59. data/spec/dummy/public/uploads/tmp/1397814752-45062-3620/rails.png +0 -0
  60. data/spec/dummy/public/uploads/tmp/1397814754-45062-7554/rails.png +0 -0
  61. data/spec/dummy/public/uploads/tmp/1397814757-45062-6575/rails.png +0 -0
  62. data/spec/dummy/public/uploads/tmp/1397814758-45062-2473/rails.png +0 -0
  63. data/spec/dummy/public/uploads/tmp/1397814758-45062-7698/rails.png +0 -0
  64. data/spec/dummy/public/uploads/tmp/1397815061-45673-4098/rails.png +0 -0
  65. data/spec/dummy/public/uploads/tmp/1397815061-45673-4098/small_rails.png +0 -0
  66. data/spec/dummy/public/uploads/tmp/1397815061-45673-4098/thumb_rails.png +0 -0
  67. data/spec/dummy/public/uploads/tmp/1397815062-45673-5873/rails.png +0 -0
  68. data/spec/dummy/public/uploads/tmp/1397815062-45673-5873/small_rails.png +0 -0
  69. data/spec/dummy/public/uploads/tmp/1397815062-45673-5873/thumb_rails.png +0 -0
  70. data/spec/dummy/public/uploads/tmp/1397815062-45673-9908/rails.png +0 -0
  71. data/spec/dummy/public/uploads/tmp/1397815062-45673-9908/small_rails.png +0 -0
  72. data/spec/dummy/public/uploads/tmp/1397815062-45673-9908/thumb_rails.png +0 -0
  73. data/spec/dummy/public/uploads/tmp/1397815063-45673-6362/silicon_valley.jpg +0 -0
  74. data/spec/dummy/public/uploads/tmp/1397815063-45673-6362/small_silicon_valley.jpg +0 -0
  75. data/spec/dummy/public/uploads/tmp/1397815063-45673-6362/thumb_silicon_valley.jpg +0 -0
  76. data/spec/dummy/public/uploads/tmp/1397815070-45673-9261/rails.png +0 -0
  77. data/spec/dummy/public/uploads/tmp/1397815072-45673-2350/rails.png +0 -0
  78. data/spec/dummy/public/uploads/tmp/1397815075-45673-3163/rails.png +0 -0
  79. data/spec/dummy/public/uploads/tmp/1397815076-45673-3745/rails.png +0 -0
  80. data/spec/dummy/public/uploads/tmp/1397815077-45673-2689/rails.png +0 -0
  81. data/spec/dummy/tmp/cache/assets/test/sprockets/025a845bfc99eb99aa9690545d024974 +0 -0
  82. data/spec/dummy/tmp/cache/assets/test/sprockets/02ca6949ca99936393e2992467409faf +0 -0
  83. data/spec/dummy/tmp/cache/assets/test/sprockets/03bae0b322a9c8706915fdb4f8d50961 +0 -0
  84. data/spec/dummy/tmp/cache/assets/test/sprockets/06632caa2dd14ba28b138446bd3d807a +0 -0
  85. data/spec/dummy/tmp/cache/assets/test/sprockets/06a86d61c2e57fad1cee30584df6f969 +0 -0
  86. data/spec/dummy/tmp/cache/assets/test/sprockets/07d036bf808a7ace22ce3b32701a2867 +0 -0
  87. data/spec/dummy/tmp/cache/assets/test/sprockets/0cc8e44f8b692c44ef509fd2d7f38941 +0 -0
  88. data/spec/dummy/tmp/cache/assets/test/sprockets/0d7fd69f7cbd03f1617b280bfb33677e +0 -0
  89. data/spec/dummy/tmp/cache/assets/test/sprockets/0e7270936d642e566d747ab335c44ec2 +0 -0
  90. data/spec/dummy/tmp/cache/assets/test/sprockets/0f382880a507fbcedb3a83727f118f84 +0 -0
  91. data/spec/dummy/tmp/cache/assets/test/sprockets/0fab3bb8b5212da52c8b7e0ae428b22a +0 -0
  92. data/spec/dummy/tmp/cache/assets/test/sprockets/12bbe81ebeeacdf11820f57a821789ff +0 -0
  93. data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  94. data/spec/dummy/tmp/cache/assets/test/sprockets/146ce2f3522fd98d4a8a1501f16c7092 +0 -0
  95. data/spec/dummy/tmp/cache/assets/test/sprockets/172c139e25cc08516d5a8c72c777dd4d +0 -0
  96. data/spec/dummy/tmp/cache/assets/test/sprockets/18b64b11b8b00cc21a396da25a5ff156 +0 -0
  97. data/spec/dummy/tmp/cache/assets/test/sprockets/197d8d604ec08a638b656e053944b734 +0 -0
  98. data/spec/dummy/tmp/cache/assets/test/sprockets/1bdb903463fe67323dbadb0f78337c70 +0 -0
  99. data/spec/dummy/tmp/cache/assets/test/sprockets/1beea1617441e02d76649f4b799aedac +0 -0
  100. data/spec/dummy/tmp/cache/assets/test/sprockets/20f8ac265bd1f0c57067c7a4b5c8f119 +0 -0
  101. data/spec/dummy/tmp/cache/assets/test/sprockets/212fc15df4fd708ebdef5bd3be2191c1 +0 -0
  102. data/spec/dummy/tmp/cache/assets/test/sprockets/256dcb01e7f35659d770584fd71a85d2 +0 -0
  103. data/spec/dummy/tmp/cache/assets/test/sprockets/25a167c7563d6fe8ec6b13ec1ac09274 +0 -0
  104. data/spec/dummy/tmp/cache/assets/test/sprockets/2a6ef2448bbff5c2c3c70c141f744cf5 +0 -0
  105. data/spec/dummy/tmp/cache/assets/test/sprockets/2dedb8177c20286c4259c1d58c5646cc +0 -0
  106. data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  107. data/spec/dummy/tmp/cache/assets/test/sprockets/33b9cc34fd627b9c81e63eb0faf06efb +0 -0
  108. data/spec/dummy/tmp/cache/assets/test/sprockets/33bd898bccf5b0821d1d3ffa02e9d1b6 +0 -0
  109. data/spec/dummy/tmp/cache/assets/test/sprockets/350390c7e44df7d038254cff29468e2d +0 -0
  110. data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  111. data/spec/dummy/tmp/cache/assets/test/sprockets/3633276e08728ac0cfea5659b4f8b516 +0 -0
  112. data/spec/dummy/tmp/cache/assets/test/sprockets/37b103f4623089af1456b90830fe941c +0 -0
  113. data/spec/dummy/tmp/cache/assets/test/sprockets/392239d689265304b5fe68912a8f2383 +0 -0
  114. data/spec/dummy/tmp/cache/assets/test/sprockets/3c396fbac68d9fb827a0f4c9d8cae3b6 +0 -0
  115. data/spec/dummy/tmp/cache/assets/test/sprockets/43ad0cf2497efae7114ac03a314706c5 +0 -0
  116. data/spec/dummy/tmp/cache/assets/test/sprockets/46e447bca92498433b2a3114106389a9 +0 -0
  117. data/spec/dummy/tmp/cache/assets/test/sprockets/47395ef44102932b2b9fe17a46c16601 +0 -0
  118. data/spec/dummy/tmp/cache/assets/test/sprockets/4c1c0c6c54ed879c4a5489eadd3a772c +0 -0
  119. data/spec/dummy/tmp/cache/assets/test/sprockets/4ca01587005a9b895bca383881bec87d +0 -0
  120. data/spec/dummy/tmp/cache/assets/test/sprockets/4cffdba2a7aac80c1765e060b152b382 +0 -0
  121. data/spec/dummy/tmp/cache/assets/test/sprockets/54d68ac9b230a01a37ef415779a748da +0 -0
  122. data/spec/dummy/tmp/cache/assets/test/sprockets/55b923cfea92fd264597042a44303f0c +0 -0
  123. data/spec/dummy/tmp/cache/assets/test/sprockets/56d4d696f46e9a63d0a42e11556bce11 +0 -0
  124. data/spec/dummy/tmp/cache/assets/test/sprockets/56e5bd2f3c94d7a9d0da7c4e05c7ad78 +0 -0
  125. data/spec/dummy/tmp/cache/assets/test/sprockets/5807e61754ed8b16702f6ad7ba34d439 +0 -0
  126. data/spec/dummy/tmp/cache/assets/test/sprockets/5a44970074ecbfeae2cc9798ed7da7aa +0 -0
  127. data/spec/dummy/tmp/cache/assets/test/sprockets/5ab8f53cba6a8bdf2c6d671491c397ce +0 -0
  128. data/spec/dummy/tmp/cache/assets/test/sprockets/5e27babe25470126fbc4635dc9fe9a6a +0 -0
  129. data/spec/dummy/tmp/cache/assets/test/sprockets/6056bd921f3a4b6e437dab030d7fef90 +0 -0
  130. data/spec/dummy/tmp/cache/assets/test/sprockets/61533733f5f9ec09571d2d5c45d5ab47 +0 -0
  131. data/spec/dummy/tmp/cache/assets/test/sprockets/68c52f388e9c2401252c0bedf6247c8c +0 -0
  132. data/spec/dummy/tmp/cache/assets/test/sprockets/6a1e72555b75237fffccb5de8937b4d4 +0 -0
  133. data/spec/dummy/tmp/cache/assets/test/sprockets/6a8187f5c6f2e115d1a1c21ca2ec81a0 +0 -0
  134. data/spec/dummy/tmp/cache/assets/test/sprockets/7041d544b28bff5f26dde49d77a2e87d +0 -0
  135. data/spec/dummy/tmp/cache/assets/test/sprockets/747d1d7298f227da4193f23f3932ac8e +0 -0
  136. data/spec/dummy/tmp/cache/assets/test/sprockets/749bd767d6654c80265f5ca0959dc8e1 +0 -0
  137. data/spec/dummy/tmp/cache/assets/test/sprockets/75870e6b6fe8335a7912ca4ea859a76a +0 -0
  138. data/spec/dummy/tmp/cache/assets/test/sprockets/759bbbe7d51d98664d8072e51b24744b +0 -0
  139. data/spec/dummy/tmp/cache/assets/test/sprockets/7a1f4a9bcb1d7d1e515330c4f5c391ad +0 -0
  140. data/spec/dummy/tmp/cache/assets/test/sprockets/7ad564910e515e335bb008989a97efb7 +0 -0
  141. data/spec/dummy/tmp/cache/assets/test/sprockets/7b55037b89f2debe558b43fe7542e409 +0 -0
  142. data/spec/dummy/tmp/cache/assets/test/sprockets/7ff7dd624cb7a6db5ec99af129138020 +0 -0
  143. data/spec/dummy/tmp/cache/assets/test/sprockets/80870efa2a2ddb1de325c224daff5712 +0 -0
  144. data/spec/dummy/tmp/cache/assets/test/sprockets/856b05d9307e97e681bc5c7f3649f714 +0 -0
  145. data/spec/dummy/tmp/cache/assets/test/sprockets/8766064af197b444eb1f06a6650ca9c3 +0 -0
  146. data/spec/dummy/tmp/cache/assets/test/sprockets/894aeaae9cc8483fa9f7a5146ff6ff6f +0 -0
  147. data/spec/dummy/tmp/cache/assets/test/sprockets/8a559f967fac90d4ae5a84af92c111e1 +0 -0
  148. data/spec/dummy/tmp/cache/assets/test/sprockets/8c5ee15b5860dcf2941abd00daf001eb +0 -0
  149. data/spec/dummy/tmp/cache/assets/test/sprockets/8c9393d7c6a1a2b6bb1fc9a9ccaba111 +0 -0
  150. data/spec/dummy/tmp/cache/assets/test/sprockets/8d476275ed52a5aa897cb7eef648dbc4 +0 -0
  151. data/spec/dummy/tmp/cache/assets/test/sprockets/906da6ff8c06db3e472a0a10985b668c +0 -0
  152. data/spec/dummy/tmp/cache/assets/test/sprockets/94826bb92d888d50a265392a81ce1286 +0 -0
  153. data/spec/dummy/tmp/cache/assets/test/sprockets/956d7ea9ee52ec12759995ab47f1e780 +0 -0
  154. data/spec/dummy/tmp/cache/assets/test/sprockets/974812817397ff6032b286a281d9a163 +0 -0
  155. data/spec/dummy/tmp/cache/assets/test/sprockets/9ba0cab624f25b68f79447e62fbc6112 +0 -0
  156. data/spec/dummy/tmp/cache/assets/test/sprockets/a1c0fa5689dff4e7edcc4f175f9d54bf +0 -0
  157. data/spec/dummy/tmp/cache/assets/test/sprockets/a43280845b1d41babd3f6714cd2d1337 +0 -0
  158. data/spec/dummy/tmp/cache/assets/test/sprockets/a50e247ceb9e9af32260a73eadbb65cb +0 -0
  159. data/spec/dummy/tmp/cache/assets/test/sprockets/a668bf13b4df6854c8c1085b26daa63a +0 -0
  160. data/spec/dummy/tmp/cache/assets/test/sprockets/a78a33e8cea959257da93b3e67786300 +0 -0
  161. data/spec/dummy/tmp/cache/assets/test/sprockets/aa4822def20c419f0e50e2a38e73a1df +0 -0
  162. data/spec/dummy/tmp/cache/assets/test/sprockets/aa94554c7d6f15d3f88e9710b043c2cc +0 -0
  163. data/spec/dummy/tmp/cache/assets/test/sprockets/abde9800d767ab39abc91703e5a83d70 +0 -0
  164. data/spec/dummy/tmp/cache/assets/test/sprockets/b25e1f0b850e73d0e1ef154249ce8135 +0 -0
  165. data/spec/dummy/tmp/cache/assets/test/sprockets/b4e0977feb24777fe3df7dd188b2b123 +0 -0
  166. data/spec/dummy/tmp/cache/assets/test/sprockets/b4e12b8782fac2f3caaa4aea2f89087c +0 -0
  167. data/spec/dummy/tmp/cache/assets/test/sprockets/b8c47badf85ceedb2268ef3b0f074257 +0 -0
  168. data/spec/dummy/tmp/cache/assets/test/sprockets/bafd6678f36ffd5fb29e4d9055df1f97 +0 -0
  169. data/spec/dummy/tmp/cache/assets/test/sprockets/bc4b7beed5a786619d6c3855909cb077 +0 -0
  170. data/spec/dummy/tmp/cache/assets/test/sprockets/bfc0fef30976427a03ddccb1ce78d6e7 +0 -0
  171. data/spec/dummy/tmp/cache/assets/test/sprockets/c104157fd9dbe5edc61a1889af968e19 +0 -0
  172. data/spec/dummy/tmp/cache/assets/test/sprockets/c37e2e0969ee5b3590335141a08ed884 +0 -0
  173. data/spec/dummy/tmp/cache/assets/test/sprockets/c3dc3ada4560805584739bfe7c2b24d9 +0 -0
  174. data/spec/dummy/tmp/cache/assets/test/sprockets/c4d36397803a4adf8ea86a8936b2d5f5 +0 -0
  175. data/spec/dummy/tmp/cache/assets/test/sprockets/c8f8b0ae15c86cf8aae9e3601758435e +0 -0
  176. data/spec/dummy/tmp/cache/assets/test/sprockets/cbbe8f22213647e8549911f486aee9b3 +0 -0
  177. data/spec/dummy/tmp/cache/assets/test/sprockets/cc04ce51d1e3d02a64f2781ea0876af3 +0 -0
  178. data/spec/dummy/tmp/cache/assets/test/sprockets/cebb517859b2ed48276bf54e0ba6dcec +0 -0
  179. data/spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  180. data/spec/dummy/tmp/cache/assets/test/sprockets/d311318a280b46ab076da5c419b210ab +0 -0
  181. data/spec/dummy/tmp/cache/assets/test/sprockets/d48c8e1ff1b6fcdbacf6ab08f8bde111 +0 -0
  182. data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  183. data/spec/dummy/tmp/cache/assets/test/sprockets/d7c40ebee2fb9471bab352337570ba40 +0 -0
  184. data/spec/dummy/tmp/cache/assets/test/sprockets/d9390b9983c2dcadf2533a63d0f7a84c +0 -0
  185. data/spec/dummy/tmp/cache/assets/test/sprockets/da055188ac218679c8fe62932c379340 +0 -0
  186. data/spec/dummy/tmp/cache/assets/test/sprockets/da4488b32bd6fb75c655a077956c9034 +0 -0
  187. data/spec/dummy/tmp/cache/assets/test/sprockets/e0f1660d21c6375d8a36eac87ae8ccbc +0 -0
  188. data/spec/dummy/tmp/cache/assets/test/sprockets/e1639f86099d91eb2fede327d443906f +0 -0
  189. data/spec/dummy/tmp/cache/assets/test/sprockets/e25f607f69c16bc5ffb481f9606b457e +0 -0
  190. data/spec/dummy/tmp/cache/assets/test/sprockets/e2c4f946939f2d7d0b42d86383755cae +0 -0
  191. data/spec/dummy/tmp/cache/assets/test/sprockets/e4a2ab1f3bf2d0726dff720ae88e8abc +0 -0
  192. data/spec/dummy/tmp/cache/assets/test/sprockets/e4f46080338c0c52e3933999a7f8106d +0 -0
  193. data/spec/dummy/tmp/cache/assets/test/sprockets/e59a3c2ff941e0fdc7987168580bf4cc +0 -0
  194. data/spec/dummy/tmp/cache/assets/test/sprockets/e5ab921ab9e413144898d780049a5c88 +0 -0
  195. data/spec/dummy/tmp/cache/assets/test/sprockets/e6cfe2e09e34ec2b24494a74eed5243a +0 -0
  196. data/spec/dummy/tmp/cache/assets/test/sprockets/e994cc6f07f643c4c230a9b740fd03f5 +0 -0
  197. data/spec/dummy/tmp/cache/assets/test/sprockets/ec87c33887ff6c0258bd8469a77bdcb4 +0 -0
  198. data/spec/dummy/tmp/cache/assets/test/sprockets/eccb73ad1563f9b070c4ffdf07ffff38 +0 -0
  199. data/spec/dummy/tmp/cache/assets/test/sprockets/ee5a41236d43159aac87f9224a0bcfb8 +0 -0
  200. data/spec/dummy/tmp/cache/assets/test/sprockets/f00fb03eca205b5e302d9ae7ed652817 +0 -0
  201. data/spec/dummy/tmp/cache/assets/test/sprockets/f24a0e7771eab5bd17ee05c73c56649e +0 -0
  202. data/spec/dummy/tmp/cache/assets/test/sprockets/f2de4855fd4840abb2f6e80afee5f4ed +0 -0
  203. data/spec/dummy/tmp/cache/assets/test/sprockets/f475ab32c44efa173bf8ba75435d2570 +0 -0
  204. data/spec/dummy/tmp/cache/assets/test/sprockets/f5165c4d7cee0e7cb99bc069fd4c09b9 +0 -0
  205. data/spec/dummy/tmp/cache/assets/test/sprockets/f53b02f1d2cbab753c7931e700469bed +0 -0
  206. data/spec/dummy/tmp/cache/assets/test/sprockets/f5cf5c65e6bf2039363f3b1e09bcdc9c +0 -0
  207. data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  208. data/spec/dummy/tmp/cache/assets/test/sprockets/f975cba8c490022ddfc45bab0b512879 +0 -0
  209. data/spec/dummy/tmp/cache/assets/test/sprockets/fba4eeb0b33c40737a907a18ee0770a4 +0 -0
  210. data/spec/dummy/tmp/cache/assets/test/sprockets/fbe8d6803f3e5a9ccb6eb7a285b95ee0 +0 -0
  211. data/spec/dummy/tmp/cache/assets/test/sprockets/fd7e46e0b42a510b40f17d1f1bacf80e +0 -0
  212. data/spec/dummy/tmp/cache/assets/test/sprockets/fd9e24b6acf76f9d44cc8e26d3148e39 +0 -0
  213. data/spec/dummy/tmp/cache/assets/test/sprockets/fe03e8232ec516da863efecd7bb2678b +0 -0
  214. data/spec/generators/install_generator_spec.rb +1 -1
  215. data/spec/models/user_spec.rb +0 -8
  216. data/spec/requests/manager/default/update_spec.rb +1 -1
  217. metadata +415 -42
  218. data/lib/sunrise/core_ext/array.rb +0 -22
  219. data/lib/sunrise/models/settings.rb +0 -144
  220. data/vendor/assets/stylesheets/smoothness/jquery-ui-1.8.16.custom.css +0 -568
@@ -1,6 +1,10 @@
1
1
  //= require jquery
2
2
  //= require jquery_ujs
3
- //= require jquery-ui
3
+
4
+ //= require jquery.ui.sortable
5
+ //= require jquery.ui.datepicker
6
+ //= require datepicker/jquery.ui.datepicker-uk
7
+ //= require datepicker/jquery.ui.datepicker-ru
4
8
 
5
9
  //= require sunrise/jquery.tmpl.min
6
10
  //= require sunrise/jquery.cookie
@@ -8,9 +12,6 @@
8
12
  //= require sunrise/chosen.jquery
9
13
  //= require sunrise/chosen.overflow.fix
10
14
 
11
- //= require datepicker/jquery.ui.datepicker-uk
12
- //= require datepicker/jquery.ui.datepicker-ru
13
-
14
15
  //= require sunrise/jquery.editable
15
16
  //= require sunrise/jquery.dialog
16
17
  //= require sunrise/jquery.tooltip
@@ -101,9 +101,9 @@ class SortDialog extends Dialog
101
101
  $('.sort-item').each (index) ->
102
102
  items['ids[' + $(this).data('record-id') + ']'] = index + 1
103
103
 
104
- $.ajax
104
+ $.rails.ajax
105
105
  url: @element.data 'url'
106
- method: 'POST'
106
+ type: 'POST'
107
107
  data: items
108
108
  success: ->
109
109
  klass.hide()
@@ -7,6 +7,9 @@
7
7
  *= require sunrise/customize.css
8
8
  *= require sunrise/plugins.css
9
9
  *= require sunrise/chosen.css
10
- *= require smoothness/jquery-ui-1.8.16.custom.css
11
10
  *= require uploader/application
11
+
12
+ *= require jquery.ui.core
13
+ *= require jquery.ui.theme
14
+ *= require jquery.ui.datepicker
12
15
  */
@@ -30,7 +30,7 @@
30
30
  :class => 'but-container del',
31
31
  :title => 'Delete',
32
32
  :method=>:delete,
33
- :confirm => t('manage.confirm_delete') %>
33
+ :data => { :confirm => t('manage.confirm_delete') } %>
34
34
  </div>
35
35
  </div>
36
36
  <% end %>
@@ -1,5 +1,6 @@
1
1
  <div class="but-holder">
2
2
  <div class="act-but">
3
- <%= link_to image_tag('sunrise/empty.gif'), mass_destroy_path, :class => 'but-container del disabled', :title => 'Delete', :"data-confirm-message" => t('manage.confirm_mass_delete'), :"data-editable" => 'destroy' %>
3
+ <%= link_to image_tag('sunrise/empty.gif'), mass_destroy_path, :class => 'but-container del disabled', :title => 'Delete',
4
+ :data => { :confirm => t('manage.confirm_mass_delete'), :editable => 'destroy'} %>
4
5
  </div>
5
6
  </div>
@@ -21,7 +21,8 @@
21
21
  <div class="but-block" style="display: none">
22
22
  <div class="act-but">
23
23
  <%= link_to image_tag('sunrise/empty.gif'), delete_path(abstract_model.parent_hash.merge(:id => record.id)),
24
- :method=>:delete, :confirm=>t("manage.confirm_delete"), :class=>"but-container del", :id => dom_id(record, :delete) if can?(:delete, record, :context => :sunrise) %>
24
+ :method=>:delete, :data => {:confirm=>t("manage.confirm_delete")}, :class=>"but-container del",
25
+ :id => dom_id(record, :delete) if can?(:delete, record, :context => :sunrise) %>
25
26
  </div>
26
27
 
27
28
  <div class="act-but">
@@ -9,7 +9,7 @@
9
9
  <% else %>
10
10
  <%= link_to '', edit_path(abstract_model.parent_hash.merge(:id => record.id)), :class => "btn_edit", :id => dom_id(record, :edit) if can?(:edit, record, :context => :sunrise) %>
11
11
 
12
- <%= link_to '', delete_path(abstract_model.parent_hash.merge(:id => record.id)), :method => :delete, :confirm => t("manage.confirm_delete"), :class => "btn_del", :id => dom_id(record, :delete) if can?(:delete, record, :context => :sunrise) %>
12
+ <%= link_to '', delete_path(abstract_model.parent_hash.merge(:id => record.id)), :method => :delete, :data => { :confirm => t("manage.confirm_delete")}, :class => "btn_del", :id => dom_id(record, :delete) if can?(:delete, record, :context => :sunrise) %>
13
13
  <% end %>
14
14
 
15
15
  <a href="#" class="dnd_link"></a>
@@ -12,7 +12,7 @@
12
12
  <div class="act-but">
13
13
  <%= link_to image_tag('sunrise/empty.gif'), delete_path(abstract_model.parent_hash.merge(:id => record.id)),
14
14
  :method=>:delete,
15
- :confirm=>t("manage.confirm_delete"),
15
+ :data => { :confirm => t("manage.confirm_delete") },
16
16
  :class=>"but-container del",
17
17
  :id => dom_id(record, :delete) if can?(:delete, record, :context => :sunrise)%>
18
18
  </div>
@@ -25,7 +25,7 @@
25
25
  <div class="act-but">
26
26
  <%= link_to image_tag('sunrise/empty.gif'), delete_path(abstract_model.parent_hash.merge(:id => record.id)),
27
27
  :method=>:delete,
28
- :confirm=>t("manage.confirm_delete"),
28
+ :data => {:confirm => t("manage.confirm_delete") },
29
29
  :class=>"but-container del",
30
30
  :id => dom_id(record, :delete) if can?(:delete, record, :context => :sunrise) %>
31
31
  </div>
@@ -1,4 +1,4 @@
1
- json.array! @services do |json, service|
1
+ json.array! @services do |service|
2
2
  json.id service.id
3
3
  json.title service.title
4
4
  json.url edit_path(:model_name => ActiveModel::Naming.plural(service), :id => service.id)
data/config/routes.rb CHANGED
@@ -18,7 +18,7 @@ Sunrise::Engine.routes.draw do
18
18
  scope ":id" do
19
19
  get "/", :to => :show, :as => "show"
20
20
  get "/edit", :to => :edit, :as => "edit"
21
- put "/edit", :to => :update, :as => "update"
21
+ patch "/edit", :to => :update, :as => "update"
22
22
  get "/delete", :to => :delete, :as => "delete"
23
23
  delete "/delete", :to => :destroy, :as => "destroy"
24
24
  end
@@ -3,12 +3,12 @@ class CreateSettings < ActiveRecord::Migration
3
3
  create_table(:settings) do |t|
4
4
  t.string :var, :limit => 50, :null => false
5
5
  t.text :value
6
- t.integer :target_id
7
- t.string :target_type, :limit => 30
6
+ t.integer :thing_id
7
+ t.string :thing_type, :limit => 30
8
8
  t.timestamps
9
9
  end
10
10
 
11
- add_index :settings, [:var, :target_type, :target_id], :unique => true
11
+ add_index :settings, [:thing_type, :thing_id, :var], :unique => true
12
12
  end
13
13
 
14
14
  def self.down
@@ -33,7 +33,7 @@ module Sunrise
33
33
  # copy models
34
34
  def copy_models
35
35
  directory "models/#{orm}", "app/models/defaults"
36
- directory "models/sunrise", "app/models/sunrise"
36
+ directory "models/sunrise", "app/sunrise"
37
37
  end
38
38
 
39
39
  # Add devise routes
@@ -48,7 +48,7 @@ module Sunrise
48
48
  log :autoload_paths, "models/defaults"
49
49
  sentinel = /\.autoload_paths\s+\+=\s+\%W\(\#\{config\.root\}\/extras\)\s*$/
50
50
 
51
- code = 'config.autoload_paths += %W(#{config.root}/app/models/defaults #{config.root}/app/models/sunrise)'
51
+ code = 'config.autoload_paths += %W(#{config.root}/app/models/defaults #{config.root}/app/sunrise)'
52
52
 
53
53
  in_root do
54
54
  inject_into_file 'config/application.rb', " #{code}\n", { :after => sentinel, :verbose => false }
@@ -6,5 +6,5 @@ class Asset < ActiveRecord::Base
6
6
 
7
7
  validates_presence_of :data
8
8
 
9
- default_scope order("#{quoted_table_name}.sort_order")
9
+ default_scope lambda { order("#{quoted_table_name}.sort_order") }
10
10
  end
@@ -1,6 +1,13 @@
1
- class Settings < ActiveRecord::Base
2
- include Sunrise::Models::Settings
1
+ require "rails-settings-cached"
2
+
3
+ class Settings < RailsSettings::CachedSettings
3
4
  include PublicActivity::Model
4
5
 
5
6
  tracked owner: ->(controller, model) { controller.try(:current_user) }
7
+
8
+ def self.update_attributes(attributes)
9
+ attributes.each do |key, value|
10
+ self[key] = value
11
+ end
12
+ end
6
13
  end
@@ -3,8 +3,7 @@ class Structure < ActiveRecord::Base
3
3
  include PageParts::Extension
4
4
  include MetaManager::Taggable
5
5
  include PublicActivity::Model
6
- include ActiveModel::ForbiddenAttributesProtection
7
6
 
8
7
  tracked owner: ->(controller, model) { controller.try(:current_user) }
9
- # page_parts :content
8
+ page_parts :content
10
9
  end
@@ -1,12 +1,10 @@
1
1
  class User < ActiveRecord::Base
2
2
  include Sunrise::Models::User
3
3
  include PublicActivity::Model
4
- include ActiveModel::ForbiddenAttributesProtection
5
4
 
6
5
  # Include default devise modules.
7
6
  devise :database_authenticatable, :confirmable, :lockable, :timeoutable,
8
- :recoverable, :rememberable, :trackable, :validatable,
9
- :encryptable, :encryptor => :sha512
7
+ :recoverable, :rememberable, :trackable, :validatable
10
8
 
11
9
  fileuploads :avatar
12
10
 
@@ -1,7 +1,6 @@
1
1
  class Settings
2
2
  include Mongoid::Document
3
3
  include Mongoid::Timestamps
4
- include Sunrise::Models::Settings
5
4
  include PublicActivity::Model
6
5
 
7
6
  # Columns
@@ -19,5 +19,5 @@ class Structure
19
19
  index({:parent_id => 1})
20
20
 
21
21
  tracked owner: ->(controller, model) { controller.try(:current_user) }
22
- # page_parts :content, :sidebar
22
+ page_parts :content
23
23
  end
@@ -48,8 +48,7 @@ class User
48
48
 
49
49
  # Include default devise modules.
50
50
  devise :database_authenticatable, :confirmable, :lockable, :timeoutable,
51
- :recoverable, :rememberable, :trackable, :validatable,
52
- :encryptable, :encryptor => :sha512
51
+ :recoverable, :rememberable, :trackable, :validatable
53
52
 
54
53
  fileuploads :avatar
55
54
 
@@ -91,8 +91,8 @@ module Sunrise
91
91
  end
92
92
 
93
93
  def image?(new_file = nil)
94
- ctype = (file || new_file).content_type
95
- ctype.include?('image') && !['photoshop', 'psd'].any? {|t| ctype.include?(t) }
94
+ _type = (file || new_file).content_type
95
+ _type.include?('image') && !['photoshop', 'psd'].any? {|p| _type.include?(p) }
96
96
  end
97
97
 
98
98
  def dimensions
@@ -16,7 +16,7 @@ module Sunrise
16
16
  end
17
17
 
18
18
  register_instance_option(:label) do
19
- (@label ||= {})[::I18n.locale] ||= abstract_model.model.model_name.human(:default => abstract_model.model.model_name.demodulize.underscore.humanize)
19
+ (@label ||= {})[::I18n.locale] ||= abstract_model.model.model_name.human(:default => abstract_model.model.model_name.to_s.underscore.humanize)
20
20
  end
21
21
 
22
22
  # The display for a model instance (i.e. a single database record).
@@ -1,30 +1,12 @@
1
1
  require 'active_support/inflector/inflections'
2
2
 
3
3
  class String
4
- def is_int?
5
- self =~ /^[-+]?[0-9]*$/
6
- end
7
-
8
- def no_html
9
- str = self.dup
10
- str.gsub!(/<\/?[^>]*>/, '')
11
- str.strip!
12
- str.gsub!('&nbsp;', '')
13
- str
14
- end
15
-
16
- def words_count
17
- frequencies = Hash.new(0)
18
- downcase.scan(/(\w+([-'.]\w+)*)/) { |word, ignore| frequencies[word] += 1 }
19
- return frequencies
20
- end
21
-
22
- def parameterize(sep = '-')
23
- value = Sunrise::Utils::Transliteration.transliterate(self)
4
+ def parameterize(sep = '-')
5
+ value = Sunrise::Utils::Transliteration.transliterate(self)
24
6
  ActiveSupport::Inflector.parameterize(value, sep)
25
7
  end
26
-
27
- def self.randomize(length = 8)
28
- Array.new(length) { (rand(122-97) + 97).chr }.join
29
- end
30
- end
8
+
9
+ def self.randomize(length = 8)
10
+ Array.new(length) { (rand(122-97) + 97).chr }.join
11
+ end
12
+ end
@@ -14,10 +14,9 @@ module Sunrise
14
14
 
15
15
  has_one :avatar, :as => :assetable, :dependent => :destroy, :autosave => true
16
16
 
17
- before_validation :generate_login, :if => :has_login?
18
- before_validation :set_default_role, :if => :role_empty?
17
+ after_initialize :set_default_role
19
18
 
20
- validates_presence_of :name
19
+ validates :name, :presence => true
21
20
  validate :check_role
22
21
 
23
22
  scope :with_email, lambda {|email| where(:email => email) }
@@ -64,10 +63,6 @@ module Sunrise
64
63
  def role_empty?
65
64
  self.role_type_id.nil?
66
65
  end
67
-
68
- def has_login?
69
- respond_to?(:login)
70
- end
71
66
 
72
67
  def role_symbols
73
68
  [role_type.try(:code)]
@@ -79,34 +74,16 @@ module Sunrise
79
74
 
80
75
  def state
81
76
  return 'active' if active_for_authentication?
82
- return 'register' unless confirmed?
77
+ return 'confirm' unless confirmed?
83
78
  return 'suspend' if access_locked?
84
79
  return 'pending'
85
80
  end
86
81
 
87
- def events_for_current_state
88
- events = []
89
- events << 'activate' unless confirmed?
90
- events << 'unlock' if access_locked?
91
- # TODO: ban access for active users
92
- # events << 'suspend' if active_for_authentication?
93
- events
94
- end
95
-
96
82
  protected
97
83
 
98
84
  def set_default_role
99
85
  self.role_type ||= ::RoleType.default
100
86
  end
101
-
102
- def generate_login
103
- self.login ||= begin
104
- unless email.blank?
105
- tmp_login = email.split('@').first
106
- tmp_login.parameterize.downcase.gsub(/[^A-Za-z0-9-]+/, '-').gsub(/-+/, '-')
107
- end
108
- end
109
- end
110
87
 
111
88
  def check_role
112
89
  errors.add(:role_type_id, :invalid) unless ::RoleType.legal?(role_type_id)
@@ -1,3 +1,3 @@
1
1
  module Sunrise
2
- VERSION = "0.6.11".freeze
2
+ VERSION = "0.7.0.rc1".freeze
3
3
  end