dm_core 4.2.1.5

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 (522) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +22 -0
  3. data/README.md +25 -0
  4. data/Rakefile +34 -0
  5. data/app/assets/images/dm_core/draft_menu_bg.png +0 -0
  6. data/app/assets/images/dm_core/expand.png +0 -0
  7. data/app/assets/images/dm_core/flags/ad.gif +0 -0
  8. data/app/assets/images/dm_core/flags/ae.gif +0 -0
  9. data/app/assets/images/dm_core/flags/af.gif +0 -0
  10. data/app/assets/images/dm_core/flags/ag.gif +0 -0
  11. data/app/assets/images/dm_core/flags/ai.gif +0 -0
  12. data/app/assets/images/dm_core/flags/al.gif +0 -0
  13. data/app/assets/images/dm_core/flags/am.gif +0 -0
  14. data/app/assets/images/dm_core/flags/an.gif +0 -0
  15. data/app/assets/images/dm_core/flags/ao.gif +0 -0
  16. data/app/assets/images/dm_core/flags/ar.gif +0 -0
  17. data/app/assets/images/dm_core/flags/as.gif +0 -0
  18. data/app/assets/images/dm_core/flags/at.gif +0 -0
  19. data/app/assets/images/dm_core/flags/au.gif +0 -0
  20. data/app/assets/images/dm_core/flags/aw.gif +0 -0
  21. data/app/assets/images/dm_core/flags/ax.gif +0 -0
  22. data/app/assets/images/dm_core/flags/az.gif +0 -0
  23. data/app/assets/images/dm_core/flags/ba.gif +0 -0
  24. data/app/assets/images/dm_core/flags/bb.gif +0 -0
  25. data/app/assets/images/dm_core/flags/bd.gif +0 -0
  26. data/app/assets/images/dm_core/flags/be.gif +0 -0
  27. data/app/assets/images/dm_core/flags/bf.gif +0 -0
  28. data/app/assets/images/dm_core/flags/bg.gif +0 -0
  29. data/app/assets/images/dm_core/flags/bh.gif +0 -0
  30. data/app/assets/images/dm_core/flags/bi.gif +0 -0
  31. data/app/assets/images/dm_core/flags/bj.gif +0 -0
  32. data/app/assets/images/dm_core/flags/bm.gif +0 -0
  33. data/app/assets/images/dm_core/flags/bn.gif +0 -0
  34. data/app/assets/images/dm_core/flags/bo.gif +0 -0
  35. data/app/assets/images/dm_core/flags/br.gif +0 -0
  36. data/app/assets/images/dm_core/flags/bs.gif +0 -0
  37. data/app/assets/images/dm_core/flags/bt.gif +0 -0
  38. data/app/assets/images/dm_core/flags/bv.gif +0 -0
  39. data/app/assets/images/dm_core/flags/bw.gif +0 -0
  40. data/app/assets/images/dm_core/flags/by.gif +0 -0
  41. data/app/assets/images/dm_core/flags/bz.gif +0 -0
  42. data/app/assets/images/dm_core/flags/ca.gif +0 -0
  43. data/app/assets/images/dm_core/flags/cc.gif +0 -0
  44. data/app/assets/images/dm_core/flags/cd.gif +0 -0
  45. data/app/assets/images/dm_core/flags/cf.gif +0 -0
  46. data/app/assets/images/dm_core/flags/cg.gif +0 -0
  47. data/app/assets/images/dm_core/flags/ch.gif +0 -0
  48. data/app/assets/images/dm_core/flags/ci.gif +0 -0
  49. data/app/assets/images/dm_core/flags/ck.gif +0 -0
  50. data/app/assets/images/dm_core/flags/cl.gif +0 -0
  51. data/app/assets/images/dm_core/flags/cm.gif +0 -0
  52. data/app/assets/images/dm_core/flags/cn.gif +0 -0
  53. data/app/assets/images/dm_core/flags/co.gif +0 -0
  54. data/app/assets/images/dm_core/flags/cr.gif +0 -0
  55. data/app/assets/images/dm_core/flags/cs.gif +0 -0
  56. data/app/assets/images/dm_core/flags/cu.gif +0 -0
  57. data/app/assets/images/dm_core/flags/cv.gif +0 -0
  58. data/app/assets/images/dm_core/flags/cx.gif +0 -0
  59. data/app/assets/images/dm_core/flags/cy.gif +0 -0
  60. data/app/assets/images/dm_core/flags/cz.gif +0 -0
  61. data/app/assets/images/dm_core/flags/de.gif +0 -0
  62. data/app/assets/images/dm_core/flags/dj.gif +0 -0
  63. data/app/assets/images/dm_core/flags/dk.gif +0 -0
  64. data/app/assets/images/dm_core/flags/dm.gif +0 -0
  65. data/app/assets/images/dm_core/flags/do.gif +0 -0
  66. data/app/assets/images/dm_core/flags/dz.gif +0 -0
  67. data/app/assets/images/dm_core/flags/ec.gif +0 -0
  68. data/app/assets/images/dm_core/flags/ee.gif +0 -0
  69. data/app/assets/images/dm_core/flags/eg.gif +0 -0
  70. data/app/assets/images/dm_core/flags/eh.gif +0 -0
  71. data/app/assets/images/dm_core/flags/en.gif +0 -0
  72. data/app/assets/images/dm_core/flags/england.gif +0 -0
  73. data/app/assets/images/dm_core/flags/er.gif +0 -0
  74. data/app/assets/images/dm_core/flags/es.gif +0 -0
  75. data/app/assets/images/dm_core/flags/et.gif +0 -0
  76. data/app/assets/images/dm_core/flags/fam.gif +0 -0
  77. data/app/assets/images/dm_core/flags/fi.gif +0 -0
  78. data/app/assets/images/dm_core/flags/fj.gif +0 -0
  79. data/app/assets/images/dm_core/flags/fk.gif +0 -0
  80. data/app/assets/images/dm_core/flags/fm.gif +0 -0
  81. data/app/assets/images/dm_core/flags/fo.gif +0 -0
  82. data/app/assets/images/dm_core/flags/fr.gif +0 -0
  83. data/app/assets/images/dm_core/flags/ga.gif +0 -0
  84. data/app/assets/images/dm_core/flags/gb.gif +0 -0
  85. data/app/assets/images/dm_core/flags/gd.gif +0 -0
  86. data/app/assets/images/dm_core/flags/ge.gif +0 -0
  87. data/app/assets/images/dm_core/flags/gh.gif +0 -0
  88. data/app/assets/images/dm_core/flags/gi.gif +0 -0
  89. data/app/assets/images/dm_core/flags/gl.gif +0 -0
  90. data/app/assets/images/dm_core/flags/gm.gif +0 -0
  91. data/app/assets/images/dm_core/flags/gn.gif +0 -0
  92. data/app/assets/images/dm_core/flags/gp.gif +0 -0
  93. data/app/assets/images/dm_core/flags/gq.gif +0 -0
  94. data/app/assets/images/dm_core/flags/gr.gif +0 -0
  95. data/app/assets/images/dm_core/flags/gs.gif +0 -0
  96. data/app/assets/images/dm_core/flags/gt.gif +0 -0
  97. data/app/assets/images/dm_core/flags/gu.gif +0 -0
  98. data/app/assets/images/dm_core/flags/gw.gif +0 -0
  99. data/app/assets/images/dm_core/flags/gy.gif +0 -0
  100. data/app/assets/images/dm_core/flags/hk.gif +0 -0
  101. data/app/assets/images/dm_core/flags/hn.gif +0 -0
  102. data/app/assets/images/dm_core/flags/hr.gif +0 -0
  103. data/app/assets/images/dm_core/flags/ht.gif +0 -0
  104. data/app/assets/images/dm_core/flags/hu.gif +0 -0
  105. data/app/assets/images/dm_core/flags/id.gif +0 -0
  106. data/app/assets/images/dm_core/flags/ie.gif +0 -0
  107. data/app/assets/images/dm_core/flags/il.gif +0 -0
  108. data/app/assets/images/dm_core/flags/in.gif +0 -0
  109. data/app/assets/images/dm_core/flags/io.gif +0 -0
  110. data/app/assets/images/dm_core/flags/iq.gif +0 -0
  111. data/app/assets/images/dm_core/flags/ir.gif +0 -0
  112. data/app/assets/images/dm_core/flags/is.gif +0 -0
  113. data/app/assets/images/dm_core/flags/it.gif +0 -0
  114. data/app/assets/images/dm_core/flags/ja.gif +0 -0
  115. data/app/assets/images/dm_core/flags/jm.gif +0 -0
  116. data/app/assets/images/dm_core/flags/jo.gif +0 -0
  117. data/app/assets/images/dm_core/flags/ke.gif +0 -0
  118. data/app/assets/images/dm_core/flags/kg.gif +0 -0
  119. data/app/assets/images/dm_core/flags/kh.gif +0 -0
  120. data/app/assets/images/dm_core/flags/ki.gif +0 -0
  121. data/app/assets/images/dm_core/flags/km.gif +0 -0
  122. data/app/assets/images/dm_core/flags/kn.gif +0 -0
  123. data/app/assets/images/dm_core/flags/kp.gif +0 -0
  124. data/app/assets/images/dm_core/flags/kr.gif +0 -0
  125. data/app/assets/images/dm_core/flags/kw.gif +0 -0
  126. data/app/assets/images/dm_core/flags/ky.gif +0 -0
  127. data/app/assets/images/dm_core/flags/kz.gif +0 -0
  128. data/app/assets/images/dm_core/flags/la.gif +0 -0
  129. data/app/assets/images/dm_core/flags/lb.gif +0 -0
  130. data/app/assets/images/dm_core/flags/lc.gif +0 -0
  131. data/app/assets/images/dm_core/flags/li.gif +0 -0
  132. data/app/assets/images/dm_core/flags/lk.gif +0 -0
  133. data/app/assets/images/dm_core/flags/lr.gif +0 -0
  134. data/app/assets/images/dm_core/flags/ls.gif +0 -0
  135. data/app/assets/images/dm_core/flags/lt.gif +0 -0
  136. data/app/assets/images/dm_core/flags/lu.gif +0 -0
  137. data/app/assets/images/dm_core/flags/lv.gif +0 -0
  138. data/app/assets/images/dm_core/flags/ly.gif +0 -0
  139. data/app/assets/images/dm_core/flags/ma.gif +0 -0
  140. data/app/assets/images/dm_core/flags/mc.gif +0 -0
  141. data/app/assets/images/dm_core/flags/md.gif +0 -0
  142. data/app/assets/images/dm_core/flags/mg.gif +0 -0
  143. data/app/assets/images/dm_core/flags/mh.gif +0 -0
  144. data/app/assets/images/dm_core/flags/mk.gif +0 -0
  145. data/app/assets/images/dm_core/flags/ml.gif +0 -0
  146. data/app/assets/images/dm_core/flags/mm.gif +0 -0
  147. data/app/assets/images/dm_core/flags/mn.gif +0 -0
  148. data/app/assets/images/dm_core/flags/mo.gif +0 -0
  149. data/app/assets/images/dm_core/flags/mp.gif +0 -0
  150. data/app/assets/images/dm_core/flags/mq.gif +0 -0
  151. data/app/assets/images/dm_core/flags/mr.gif +0 -0
  152. data/app/assets/images/dm_core/flags/ms.gif +0 -0
  153. data/app/assets/images/dm_core/flags/mt.gif +0 -0
  154. data/app/assets/images/dm_core/flags/mu.gif +0 -0
  155. data/app/assets/images/dm_core/flags/mv.gif +0 -0
  156. data/app/assets/images/dm_core/flags/mw.gif +0 -0
  157. data/app/assets/images/dm_core/flags/mx.gif +0 -0
  158. data/app/assets/images/dm_core/flags/my.gif +0 -0
  159. data/app/assets/images/dm_core/flags/mz.gif +0 -0
  160. data/app/assets/images/dm_core/flags/na.gif +0 -0
  161. data/app/assets/images/dm_core/flags/nc.gif +0 -0
  162. data/app/assets/images/dm_core/flags/ne.gif +0 -0
  163. data/app/assets/images/dm_core/flags/nf.gif +0 -0
  164. data/app/assets/images/dm_core/flags/ng.gif +0 -0
  165. data/app/assets/images/dm_core/flags/ni.gif +0 -0
  166. data/app/assets/images/dm_core/flags/nl.gif +0 -0
  167. data/app/assets/images/dm_core/flags/no.gif +0 -0
  168. data/app/assets/images/dm_core/flags/np.gif +0 -0
  169. data/app/assets/images/dm_core/flags/nr.gif +0 -0
  170. data/app/assets/images/dm_core/flags/nu.gif +0 -0
  171. data/app/assets/images/dm_core/flags/nz.gif +0 -0
  172. data/app/assets/images/dm_core/flags/om.gif +0 -0
  173. data/app/assets/images/dm_core/flags/pa.gif +0 -0
  174. data/app/assets/images/dm_core/flags/pe.gif +0 -0
  175. data/app/assets/images/dm_core/flags/pf.gif +0 -0
  176. data/app/assets/images/dm_core/flags/pg.gif +0 -0
  177. data/app/assets/images/dm_core/flags/ph.gif +0 -0
  178. data/app/assets/images/dm_core/flags/pk.gif +0 -0
  179. data/app/assets/images/dm_core/flags/pl.gif +0 -0
  180. data/app/assets/images/dm_core/flags/pm.gif +0 -0
  181. data/app/assets/images/dm_core/flags/pn.gif +0 -0
  182. data/app/assets/images/dm_core/flags/pr.gif +0 -0
  183. data/app/assets/images/dm_core/flags/ps.gif +0 -0
  184. data/app/assets/images/dm_core/flags/pt.gif +0 -0
  185. data/app/assets/images/dm_core/flags/pw.gif +0 -0
  186. data/app/assets/images/dm_core/flags/py.gif +0 -0
  187. data/app/assets/images/dm_core/flags/qa.gif +0 -0
  188. data/app/assets/images/dm_core/flags/ro.gif +0 -0
  189. data/app/assets/images/dm_core/flags/ru.gif +0 -0
  190. data/app/assets/images/dm_core/flags/rw.gif +0 -0
  191. data/app/assets/images/dm_core/flags/sa.gif +0 -0
  192. data/app/assets/images/dm_core/flags/sb.gif +0 -0
  193. data/app/assets/images/dm_core/flags/sc.gif +0 -0
  194. data/app/assets/images/dm_core/flags/scotland.gif +0 -0
  195. data/app/assets/images/dm_core/flags/sd.gif +0 -0
  196. data/app/assets/images/dm_core/flags/se.gif +0 -0
  197. data/app/assets/images/dm_core/flags/sg.gif +0 -0
  198. data/app/assets/images/dm_core/flags/sh.gif +0 -0
  199. data/app/assets/images/dm_core/flags/si.gif +0 -0
  200. data/app/assets/images/dm_core/flags/sk.gif +0 -0
  201. data/app/assets/images/dm_core/flags/sl.gif +0 -0
  202. data/app/assets/images/dm_core/flags/sm.gif +0 -0
  203. data/app/assets/images/dm_core/flags/sn.gif +0 -0
  204. data/app/assets/images/dm_core/flags/so.gif +0 -0
  205. data/app/assets/images/dm_core/flags/sr.gif +0 -0
  206. data/app/assets/images/dm_core/flags/st.gif +0 -0
  207. data/app/assets/images/dm_core/flags/sv.gif +0 -0
  208. data/app/assets/images/dm_core/flags/sy.gif +0 -0
  209. data/app/assets/images/dm_core/flags/sz.gif +0 -0
  210. data/app/assets/images/dm_core/flags/tc.gif +0 -0
  211. data/app/assets/images/dm_core/flags/td.gif +0 -0
  212. data/app/assets/images/dm_core/flags/tf.gif +0 -0
  213. data/app/assets/images/dm_core/flags/tg.gif +0 -0
  214. data/app/assets/images/dm_core/flags/th.gif +0 -0
  215. data/app/assets/images/dm_core/flags/tj.gif +0 -0
  216. data/app/assets/images/dm_core/flags/tk.gif +0 -0
  217. data/app/assets/images/dm_core/flags/tl.gif +0 -0
  218. data/app/assets/images/dm_core/flags/tm.gif +0 -0
  219. data/app/assets/images/dm_core/flags/tn.gif +0 -0
  220. data/app/assets/images/dm_core/flags/to.gif +0 -0
  221. data/app/assets/images/dm_core/flags/tr.gif +0 -0
  222. data/app/assets/images/dm_core/flags/tt.gif +0 -0
  223. data/app/assets/images/dm_core/flags/tv.gif +0 -0
  224. data/app/assets/images/dm_core/flags/tw.gif +0 -0
  225. data/app/assets/images/dm_core/flags/tz.gif +0 -0
  226. data/app/assets/images/dm_core/flags/ua.gif +0 -0
  227. data/app/assets/images/dm_core/flags/ug.gif +0 -0
  228. data/app/assets/images/dm_core/flags/um.gif +0 -0
  229. data/app/assets/images/dm_core/flags/us.gif +0 -0
  230. data/app/assets/images/dm_core/flags/uy.gif +0 -0
  231. data/app/assets/images/dm_core/flags/uz.gif +0 -0
  232. data/app/assets/images/dm_core/flags/va.gif +0 -0
  233. data/app/assets/images/dm_core/flags/vc.gif +0 -0
  234. data/app/assets/images/dm_core/flags/ve.gif +0 -0
  235. data/app/assets/images/dm_core/flags/vg.gif +0 -0
  236. data/app/assets/images/dm_core/flags/vi.gif +0 -0
  237. data/app/assets/images/dm_core/flags/vn.gif +0 -0
  238. data/app/assets/images/dm_core/flags/vu.gif +0 -0
  239. data/app/assets/images/dm_core/flags/wales.gif +0 -0
  240. data/app/assets/images/dm_core/flags/wf.gif +0 -0
  241. data/app/assets/images/dm_core/flags/ws.gif +0 -0
  242. data/app/assets/images/dm_core/flags/ye.gif +0 -0
  243. data/app/assets/images/dm_core/flags/yt.gif +0 -0
  244. data/app/assets/images/dm_core/flags/za.gif +0 -0
  245. data/app/assets/images/dm_core/flags/zm.gif +0 -0
  246. data/app/assets/images/dm_core/flags/zw.gif +0 -0
  247. data/app/assets/images/dm_core/user.gif +0 -0
  248. data/app/assets/javascripts/dm_core/admin.js +223 -0
  249. data/app/assets/javascripts/dm_core/admin_extra.js.coffee +118 -0
  250. data/app/assets/javascripts/dm_core/application.js +14 -0
  251. data/app/assets/javascripts/dm_core/common_js.js.coffee +61 -0
  252. data/app/assets/javascripts/dm_core/underscore-1.4.4-min.js +1 -0
  253. data/app/assets/javascripts/dm_core/underscore-1.4.4.js +1227 -0
  254. data/app/assets/stylesheets/dm_core/admin.css +250 -0
  255. data/app/assets/stylesheets/dm_core/application.css +31 -0
  256. data/app/assets/stylesheets/dm_core/font-awesome.css +1479 -0
  257. data/app/assets/stylesheets/dm_core/font/FontAwesome.otf +0 -0
  258. data/app/assets/stylesheets/dm_core/font/fontawesome-webfont.eot +0 -0
  259. data/app/assets/stylesheets/dm_core/font/fontawesome-webfont.svg +399 -0
  260. data/app/assets/stylesheets/dm_core/font/fontawesome-webfont.ttf +0 -0
  261. data/app/assets/stylesheets/dm_core/font/fontawesome-webfont.woff +0 -0
  262. data/app/controllers/dm_core/admin/accounts_controller.rb +125 -0
  263. data/app/controllers/dm_core/admin/admin_controller.rb +133 -0
  264. data/app/controllers/dm_core/admin/comments_controller.rb +70 -0
  265. data/app/controllers/dm_core/admin/dashboard_controller.rb +38 -0
  266. data/app/controllers/dm_core/admin/system_controller.rb +44 -0
  267. data/app/controllers/dm_core/admin/users_controller.rb +106 -0
  268. data/app/controllers/dm_core/application_controller.rb +253 -0
  269. data/app/controllers/dm_core/concerns/profile_controller.rb +41 -0
  270. data/app/controllers/dm_core/profile_controller.rb +8 -0
  271. data/app/datatables/user_datatable.rb +75 -0
  272. data/app/helpers/devise_helper.rb +25 -0
  273. data/app/helpers/dm_core/account_helper.rb +70 -0
  274. data/app/helpers/dm_core/admin/application_helper.rb +23 -0
  275. data/app/helpers/dm_core/application_helper.rb +58 -0
  276. data/app/helpers/dm_core/liquid_helper.rb +79 -0
  277. data/app/helpers/dm_core/params_helper.rb +19 -0
  278. data/app/helpers/dm_core/render_helper.rb +104 -0
  279. data/app/helpers/dm_core/url_helper.rb +189 -0
  280. data/app/helpers/dm_utilities/currency_helper.rb +24 -0
  281. data/app/helpers/dm_utilities/date_helper.rb +72 -0
  282. data/app/inputs/code_editor_input.rb +51 -0
  283. data/app/inputs/text_full_width_input.rb +9 -0
  284. data/app/inputs/toggle_checked_input.rb +9 -0
  285. data/app/inputs/toggle_input.rb +9 -0
  286. data/app/mailers/dm_core/site_mailer.rb +18 -0
  287. data/app/models/account.rb +241 -0
  288. data/app/models/activity.rb +10 -0
  289. data/app/models/address.rb +24 -0
  290. data/app/models/category.rb +18 -0
  291. data/app/models/comment.rb +24 -0
  292. data/app/models/custom_field.rb +99 -0
  293. data/app/models/custom_field_def.rb +61 -0
  294. data/app/models/dm_core/concerns/ability.rb +17 -0
  295. data/app/models/dm_core/concerns/defines_custom_fields.rb +17 -0
  296. data/app/models/dm_core/concerns/friendly_id.rb +57 -0
  297. data/app/models/dm_core/concerns/has_custom_fields.rb +28 -0
  298. data/app/models/dm_core/concerns/public_private.rb +151 -0
  299. data/app/models/dm_core/concerns/user.rb +144 -0
  300. data/app/models/dm_core/concerns/user_profile.rb +113 -0
  301. data/app/models/dm_core/concerns/user_site_profile.rb +65 -0
  302. data/app/models/dm_core/country.rb +8 -0
  303. data/app/models/dm_core/language.rb +59 -0
  304. data/app/models/dm_core/permitted_params.rb +52 -0
  305. data/app/models/follow.rb +13 -0
  306. data/app/models/liquid_validator.rb +26 -0
  307. data/app/models/payment_history.rb +57 -0
  308. data/app/models/presence_default_locale_validator.rb +12 -0
  309. data/app/models/role.rb +12 -0
  310. data/app/models/system_email.rb +15 -0
  311. data/app/models/ultracart/notification.rb +107 -0
  312. data/app/models/ultracart/payment_history.rb +55 -0
  313. data/app/models/user.rb +22 -0
  314. data/app/models/user_profile.rb +9 -0
  315. data/app/models/user_site_profile.rb +11 -0
  316. data/app/presenters/base_presenter.rb +30 -0
  317. data/app/presenters/comment_presenter.rb +20 -0
  318. data/app/presenters/user_presenter.rb +48 -0
  319. data/app/uploaders/avatar_uploader.rb +75 -0
  320. data/app/views/devise/mailer/confirmation_instructions.html.erb +7 -0
  321. data/app/views/devise/mailer/confirmation_instructions.text.erb +7 -0
  322. data/app/views/devise/mailer/reset_password_instructions.html.erb +9 -0
  323. data/app/views/devise/mailer/reset_password_instructions.text.erb +9 -0
  324. data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
  325. data/app/views/devise/mailer/unlock_instructions.text.erb +7 -0
  326. data/app/views/dm_core/admin/accounts/_settings_menu.html.erb +24 -0
  327. data/app/views/dm_core/admin/accounts/analytics.html.erb +38 -0
  328. data/app/views/dm_core/admin/accounts/email.html.erb +26 -0
  329. data/app/views/dm_core/admin/accounts/general.html.erb +22 -0
  330. data/app/views/dm_core/admin/accounts/media.html.erb +37 -0
  331. data/app/views/dm_core/admin/accounts/metadata.html.erb +22 -0
  332. data/app/views/dm_core/admin/comments/_comment.html.erb +14 -0
  333. data/app/views/dm_core/admin/comments/_comment_edit_form.html.erb +3 -0
  334. data/app/views/dm_core/admin/comments/_comment_form.html.erb +15 -0
  335. data/app/views/dm_core/admin/comments/_comment_list.html.erb +5 -0
  336. data/app/views/dm_core/admin/comments/_comment_section.html.erb +7 -0
  337. data/app/views/dm_core/admin/comments/create.js.erb +4 -0
  338. data/app/views/dm_core/admin/comments/destroy.js.erb +1 -0
  339. data/app/views/dm_core/admin/comments/edit.js.erb +2 -0
  340. data/app/views/dm_core/admin/comments/update.js.erb +2 -0
  341. data/app/views/dm_core/admin/custom_fields/_check_box_collection.html.erb +4 -0
  342. data/app/views/dm_core/admin/custom_fields/_custom_field_def_fields.html.erb +34 -0
  343. data/app/views/dm_core/admin/custom_fields/_divider.html.erb +1 -0
  344. data/app/views/dm_core/admin/custom_fields/_number_field.html.erb +4 -0
  345. data/app/views/dm_core/admin/custom_fields/_radio_buttons.html.erb +4 -0
  346. data/app/views/dm_core/admin/custom_fields/_select.html.erb +4 -0
  347. data/app/views/dm_core/admin/custom_fields/_text_area.html.erb +4 -0
  348. data/app/views/dm_core/admin/custom_fields/_text_field.html.erb +4 -0
  349. data/app/views/dm_core/admin/dashboard/_index_sidebar.html.erb +22 -0
  350. data/app/views/dm_core/admin/dashboard/_widget_recent_new_users.html.erb +23 -0
  351. data/app/views/dm_core/admin/dashboard/_widget_recent_user_activity.html.erb +21 -0
  352. data/app/views/dm_core/admin/dashboard/index.html.erb +7 -0
  353. data/app/views/dm_core/admin/dashboard/update_site_assets.html.erb +5 -0
  354. data/app/views/dm_core/admin/shared/_header_stats_new_users.html.erb +2 -0
  355. data/app/views/dm_core/admin/shared/_header_stats_user_activity.html.erb +2 -0
  356. data/app/views/dm_core/admin/system/show.html.erb +23 -0
  357. data/app/views/dm_core/admin/users/_form.html.erb +44 -0
  358. data/app/views/dm_core/admin/users/edit.html.erb +201 -0
  359. data/app/views/dm_core/admin/users/index.html.erb +30 -0
  360. data/app/views/dm_core/profile/_profile_sidebar.html.erb +6 -0
  361. data/app/views/dm_core/profile/account.html.erb +38 -0
  362. data/app/views/dm_core/profile/details.html.erb +38 -0
  363. data/app/views/layouts/dm_core/application.html.erb +14 -0
  364. data/app/views/layouts/dm_core/maintenance.html.erb +31 -0
  365. data/app/views/layouts/email_templates/default_email_layout.html.erb +289 -0
  366. data/config/initializers/_dm_core.rb +7 -0
  367. data/config/initializers/carrierwave.rb +33 -0
  368. data/config/initializers/devise.rb +252 -0
  369. data/config/initializers/friendly_id.rb +88 -0
  370. data/config/initializers/globalize_easy_accessors.rb +67 -0
  371. data/config/initializers/globalize_papertrail_fix.rb +20 -0
  372. data/config/initializers/globalize_reflections.rb +22 -0
  373. data/config/initializers/rolify.rb +8 -0
  374. data/config/initializers/simple_form.rb +161 -0
  375. data/config/initializers/simple_form_amsterdam.rb +31 -0
  376. data/config/initializers/simple_form_bootstrap.rb +87 -0
  377. data/config/initializers/simple_form_bootstrap3.rb +175 -0
  378. data/config/initializers/will_paginate.rb +87 -0
  379. data/config/locales/custom.cs.yml +82 -0
  380. data/config/locales/custom.de.yml +82 -0
  381. data/config/locales/custom.en.yml +84 -0
  382. data/config/locales/custom.fi.yml +84 -0
  383. data/config/locales/custom.ja.yml +84 -0
  384. data/config/locales/devise.cs.yml +70 -0
  385. data/config/locales/devise.de.yml +60 -0
  386. data/config/locales/devise.en.yml +59 -0
  387. data/config/locales/devise.fi.yml +57 -0
  388. data/config/locales/devise.ja.yml +102 -0
  389. data/config/locales/rails.cs.yml +211 -0
  390. data/config/locales/rails.de-AT.yml +203 -0
  391. data/config/locales/rails.de.yml +203 -0
  392. data/config/locales/rails.en-GB.yml +205 -0
  393. data/config/locales/rails.en-IN.yml +205 -0
  394. data/config/locales/rails.en.yml +205 -0
  395. data/config/locales/rails.fi.yml +199 -0
  396. data/config/locales/rails.fr-CH.yml +207 -0
  397. data/config/locales/rails.fr.yml +215 -0
  398. data/config/locales/rails.ja.yml +197 -0
  399. data/config/locales/simple_form.cs.yml +26 -0
  400. data/config/locales/simple_form.de.yml +26 -0
  401. data/config/locales/simple_form.en.yml +26 -0
  402. data/config/locales/simple_form.fi.yml +26 -0
  403. data/config/locales/simple_form.ja.yml +26 -0
  404. data/config/routes.rb +33 -0
  405. data/db/globalize_seed_data.sql +76 -0
  406. data/db/migrate/20121023202117_add_globalize_countries.rb +49 -0
  407. data/db/migrate/20121028125329_devise_create_users.rb +45 -0
  408. data/db/migrate/20121028125831_add_user_fields.rb +13 -0
  409. data/db/migrate/20121028153317_rolify_create_roles.rb +19 -0
  410. data/db/migrate/20121105205634_add_last_access.rb +9 -0
  411. data/db/migrate/20121110213512_create_versions.rb +18 -0
  412. data/db/migrate/20121110213513_add_object_changes_column_to_versions.rb +11 -0
  413. data/db/migrate/20130206121535_create_dm_core_accounts.rb +12 -0
  414. data/db/migrate/20130206223323_add_account_to_users.rb +8 -0
  415. data/db/migrate/20130207170247_create_preferences.rb +12 -0
  416. data/db/migrate/20130321144726_create_comments.rb +21 -0
  417. data/db/migrate/20130402203739_add_activity.rb +20 -0
  418. data/db/migrate/20130415095617_add_type_to_comments.rb +8 -0
  419. data/db/migrate/20130429191051_add_category.rb +27 -0
  420. data/db/migrate/20130513112751_create_email_table.rb +25 -0
  421. data/db/migrate/20130516143539_add_user_profile.rb +45 -0
  422. data/db/migrate/20130518155712_add_profile_email.rb +13 -0
  423. data/db/migrate/20130620145610_create_payment_history.rb +36 -0
  424. data/db/migrate/20130625091108_change_anchor_field.rb +9 -0
  425. data/db/migrate/20130628112848_create_user_site_profile.rb +26 -0
  426. data/db/migrate/20130708150236_add_avatar.rb +11 -0
  427. data/db/migrate/20130914132041_add_notify_to_payment_history.rb +7 -0
  428. data/db/migrate/20140105133446_acts_as_votable_migration.rb +27 -0
  429. data/db/migrate/20140107112418_add_user_site_profile_uuid.rb +18 -0
  430. data/db/migrate/20140129110547_add_invoice_id.rb +6 -0
  431. data/db/migrate/20140201092656_acts_as_follower_migration.rb +17 -0
  432. data/db/migrate/20140203131320_rename_invoice_id.rb +11 -0
  433. data/db/migrate/20140210195143_add_core_addresses.rb +17 -0
  434. data/db/migrate/20140411190454_papertrail_increase_column.rb +8 -0
  435. data/db/migrate/20140501160009_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb +31 -0
  436. data/db/migrate/20140501160010_add_missing_unique_indices.acts_as_taggable_on_engine.rb +22 -0
  437. data/db/migrate/20140501160011_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb +15 -0
  438. data/db/migrate/20140529164730_create_custom_fields.rb +39 -0
  439. data/db/migrate/20140709145503_add_missing_taggable_index.acts_as_taggable_on_engine.rb +10 -0
  440. data/db/migrate/20141216094639_add_favored_locale.rb +18 -0
  441. data/db/migrate/20160128094739_update_papertrail_v4.rb +73 -0
  442. data/db/migrate/20160630095745_create_delayed_jobs.rb +22 -0
  443. data/db/migrate/20160821150111_index_foreign_keys_in_core_accounts.rb +5 -0
  444. data/db/migrate/20160821150113_index_foreign_keys_in_core_addresses.rb +5 -0
  445. data/db/migrate/20160821150114_index_foreign_keys_in_core_categories.rb +5 -0
  446. data/db/migrate/20160821150115_index_foreign_keys_in_core_comments.rb +5 -0
  447. data/db/migrate/20160821150116_index_foreign_keys_in_core_custom_fields.rb +5 -0
  448. data/db/migrate/20160821150117_index_foreign_keys_in_core_payment_histories.rb +7 -0
  449. data/db/migrate/20160821150118_index_foreign_keys_in_core_system_email_translations.rb +5 -0
  450. data/db/migrate/20160821150119_index_foreign_keys_in_core_system_emails.rb +6 -0
  451. data/db/migrate/20160821150128_index_foreign_keys_in_preferences.rb +5 -0
  452. data/db/migrate/20160821150129_index_foreign_keys_in_roles.rb +5 -0
  453. data/db/migrate/20160821150130_index_foreign_keys_in_taggings.rb +5 -0
  454. data/db/migrate/20160821150131_index_foreign_keys_in_user_profiles.rb +7 -0
  455. data/db/migrate/20160821150132_index_foreign_keys_in_user_site_profiles.rb +6 -0
  456. data/db/migrate/20160821150133_index_foreign_keys_in_users_roles.rb +5 -0
  457. data/db/migrate/20160821150134_index_foreign_keys_in_version_associations.rb +5 -0
  458. data/db/migrate/20160821150135_index_foreign_keys_in_versions.rb +5 -0
  459. data/db/seeds.rb +433 -0
  460. data/db/seeds/globalize_countries.rb +239 -0
  461. data/db/seeds/globalize_languages.rb +186 -0
  462. data/lib/dm_core.rb +38 -0
  463. data/lib/dm_core/csv_exporter.rb +210 -0
  464. data/lib/dm_core/csv_importer.rb +16 -0
  465. data/lib/dm_core/engine.rb +51 -0
  466. data/lib/dm_core/liquid_extensions.rb +125 -0
  467. data/lib/dm_core/nls.rb +31 -0
  468. data/lib/dm_core/scio_excel.rb +501 -0
  469. data/lib/dm_core/state_select.rb +135 -0
  470. data/lib/dm_core/version.rb +3 -0
  471. data/lib/tasks/dm_core_tasks.rake +60 -0
  472. data/spec/dummy/README.rdoc +28 -0
  473. data/spec/dummy/Rakefile +6 -0
  474. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  475. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  476. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  477. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  478. data/spec/dummy/app/models/ability.rb +10 -0
  479. data/spec/dummy/app/models/user.rb +6 -0
  480. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  481. data/spec/dummy/bin/bundle +3 -0
  482. data/spec/dummy/bin/rails +4 -0
  483. data/spec/dummy/bin/rake +4 -0
  484. data/spec/dummy/config.ru +4 -0
  485. data/spec/dummy/config/application.rb +27 -0
  486. data/spec/dummy/config/boot.rb +5 -0
  487. data/spec/dummy/config/database.yml +25 -0
  488. data/spec/dummy/config/environment.rb +5 -0
  489. data/spec/dummy/config/environments/development.rb +37 -0
  490. data/spec/dummy/config/environments/production.rb +82 -0
  491. data/spec/dummy/config/environments/test.rb +39 -0
  492. data/spec/dummy/config/initializers/assets.rb +8 -0
  493. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  494. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  495. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  496. data/spec/dummy/config/initializers/inflections.rb +16 -0
  497. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  498. data/spec/dummy/config/initializers/session_store.rb +3 -0
  499. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  500. data/spec/dummy/config/locales/en.yml +23 -0
  501. data/spec/dummy/config/routes.rb +11 -0
  502. data/spec/dummy/config/secrets.yml +22 -0
  503. data/spec/dummy/db/development.sqlite3 +0 -0
  504. data/spec/dummy/db/schema.rb +399 -0
  505. data/spec/dummy/db/test.sqlite3 +0 -0
  506. data/spec/dummy/log/test.log +374 -0
  507. data/spec/dummy/public/404.html +67 -0
  508. data/spec/dummy/public/422.html +67 -0
  509. data/spec/dummy/public/500.html +66 -0
  510. data/spec/dummy/public/favicon.ico +0 -0
  511. data/spec/factories/accounts.rb +9 -0
  512. data/spec/factories/user_profiles.rb +10 -0
  513. data/spec/factories/users.rb +19 -0
  514. data/spec/helpers/account_helper_spec.rb +50 -0
  515. data/spec/models/account_spec.rb +20 -0
  516. data/spec/models/user_spec.rb +99 -0
  517. data/spec/rails_helper.rb +70 -0
  518. data/spec/spec_helper.rb +85 -0
  519. data/spec/support/accounts.rb +19 -0
  520. data/spec/support/devise.rb +44 -0
  521. data/spec/support/fix_locale.rb +57 -0
  522. metadata +1124 -0
@@ -0,0 +1,175 @@
1
+ # Use this setup block to configure all options available in SimpleForm.
2
+ SimpleForm.setup do |config|
3
+ config.button_class = 'btn btn-primary'
4
+ config.boolean_label_class = nil
5
+
6
+ #------------------------------------------------------------------------------
7
+ # Bootstrap 3 vertical form style
8
+ #------------------------------------------------------------------------------
9
+
10
+ config.wrappers :bs3_vertical_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
11
+ b.use :html5
12
+ b.use :placeholder
13
+ b.use :label, class: 'control-label'
14
+
15
+ b.wrapper :input_wrapper, tag: 'div' do |ba|
16
+ ba.use :input, class: 'form-control'
17
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
18
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
19
+ end
20
+ end
21
+
22
+ config.wrappers :bs3_vertical_group, tag: 'div', class: "form-group", error_class: 'has-error' do |b|
23
+ b.use :html5
24
+ b.use :placeholder
25
+ b.use :label, class: 'control-label'
26
+ b.wrapper :input_wrapper, tag: 'div' do |input|
27
+ input.wrapper tag: 'div', class: 'input-group' do |append|
28
+ append.use :input
29
+ end
30
+ input.use :error, wrap_with: { tag: 'span', class: 'help-block' }
31
+ input.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
32
+ end
33
+ end
34
+
35
+ config.wrappers :bs3_vertical_file_input, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
36
+ b.use :html5
37
+ b.use :placeholder
38
+ b.use :label, class: 'control-label'
39
+
40
+ b.wrapper :input_wrapper, tag: 'div' do |ba|
41
+ ba.use :input
42
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
43
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
44
+ end
45
+ end
46
+
47
+ config.wrappers :bs3_vertical_boolean, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
48
+ b.use :html5
49
+ b.use :placeholder
50
+
51
+ b.wrapper :input_wrapper, tag: 'div', class: 'checkbox' do |ba|
52
+ ba.use :label_input
53
+ end
54
+
55
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
56
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
57
+ end
58
+
59
+ config.wrappers :bs3_vertical_radio_and_checkboxes, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
60
+ b.use :html5
61
+ b.use :placeholder
62
+ b.use :label_input
63
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
64
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
65
+ end
66
+
67
+ #------------------------------------------------------------------------------
68
+ # Bootstrap 3 horizontal form style
69
+ #------------------------------------------------------------------------------
70
+
71
+ config.wrappers :bs3_horizontal_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
72
+ b.use :html5
73
+ b.use :placeholder
74
+ b.use :label, class: 'col-sm-2 control-label'
75
+
76
+ b.wrapper :input_wrapper, tag: 'div', class: 'col-sm-10' do |ba|
77
+ ba.use :input, class: 'form-control'
78
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
79
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
80
+ end
81
+ end
82
+
83
+ config.wrappers :bs3_horizontal_file_input, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
84
+ b.use :html5
85
+ b.use :placeholder
86
+ b.use :label, class: 'col-sm-2 control-label'
87
+
88
+ b.wrapper :input_wrapper, tag: 'div', class: 'col-sm-10' do |ba|
89
+ ba.use :input
90
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
91
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
92
+ end
93
+ end
94
+
95
+ config.wrappers :bs3_horizontal_boolean, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
96
+ b.use :html5
97
+ b.use :placeholder
98
+ b.use :label, class: 'col-sm-2 control-label'
99
+
100
+ b.wrapper :input_wrapper, tag: 'div', class: 'col-sm-10' do |wr|
101
+ wr.wrapper tag: 'div', class: 'checkbox' do |ba|
102
+ ba.use :input
103
+ end
104
+
105
+ wr.use :error, wrap_with: { tag: 'span', class: 'help-block' }
106
+ wr.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
107
+ end
108
+ end
109
+
110
+ config.wrappers :bs3_horizontal_radio_and_checkboxes, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
111
+ b.use :html5
112
+ b.use :placeholder
113
+ b.use :label, class: 'col-sm-2 control-label'
114
+
115
+ b.wrapper :input_wrapper, tag: 'div', class: 'col-sm-10' do |ba|
116
+ ba.use :input
117
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
118
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
119
+ end
120
+ end
121
+
122
+ config.wrappers :bs3_horizontal_group, tag: 'div', class: "form-group", error_class: 'has-error' do |b|
123
+ b.use :html5
124
+ b.use :placeholder
125
+ b.use :label, class: 'col-sm-2 control-label'
126
+
127
+ b.wrapper :input_wrapper, tag: 'div', class: 'col-sm-10' do |input|
128
+ input.wrapper tag: 'div', class: 'input-group' do |append|
129
+ append.use :input
130
+ end
131
+ input.use :error, wrap_with: { tag: 'span', class: 'help-block' }
132
+ input.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
133
+ end
134
+ end
135
+
136
+ #------------------------------------------------------------------------------
137
+ # Bootstrap 3 horizontal form style
138
+ # version that allows you to specify the column sizes to use
139
+ #------------------------------------------------------------------------------
140
+
141
+ # f.input :email, label_html: {class: 'col-sm-5'}, input_wrapper_html: {class: 'col-sm-6'}
142
+ config.wrappers :bs3_horizontal_nosize, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
143
+ b.use :html5
144
+ b.use :placeholder
145
+ b.use :label, class: 'control-label'
146
+
147
+ b.wrapper :input_wrapper, tag: 'div' do |ba|
148
+ ba.use :input, class: 'form-control'
149
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
150
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
151
+ end
152
+ end
153
+
154
+ # f.input :remember_me, as: :boolean, input_wrapper_html: {class: 'col-sm-offset-4 col-sm-6'} %>
155
+ config.wrappers :bs3_horizontal_nosize_boolean, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
156
+ b.use :html5
157
+ b.use :placeholder
158
+ b.use :label, class: 'control-label'
159
+
160
+ b.wrapper :input_wrapper, tag: 'div' do |wr|
161
+ wr.wrapper tag: 'div', class: 'checkbox' do |ba|
162
+ ba.use :input
163
+ end
164
+ wr.use :error, wrap_with: { tag: 'span', class: 'help-block' }
165
+ wr.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
166
+ end
167
+ end
168
+
169
+
170
+ # Wrappers for forms and inputs using the Bootstrap toolkit.
171
+ # Check the Bootstrap docs (http://getbootstrap.com)
172
+ # to learn about the different styles for forms and inputs,
173
+ # buttons and other elements.
174
+ # config.default_wrapper = :bs3_horizontal_form
175
+ end
@@ -0,0 +1,87 @@
1
+ # config/initializers/will_paginate.rb
2
+ #
3
+ # This extension code was written by Isaac Bowen, originally found
4
+ # at http://isaacbowen.com/blog/using-will_paginate-action_view-and-bootstrap/
5
+
6
+ require 'will_paginate/view_helpers/action_view'
7
+
8
+ module WillPaginate
9
+ module ActionView
10
+ def will_paginate(collection = nil, options = {})
11
+ options, collection = collection, nil if collection.is_a? Hash
12
+ collection ||= infer_collection_from_controller
13
+
14
+ options[:version] ||= :original
15
+ case options.delete(:version)
16
+ when :bootstrap2
17
+ options[:renderer] ||= Bootstrap2LinkRenderer
18
+ when :bootstrap3
19
+ options[:renderer] ||= Bootstrap3LinkRenderer
20
+ else
21
+ options[:renderer] ||= OriginalLinkRenderer
22
+ options[:class] ||= 'tPages'
23
+ end
24
+
25
+ options[:previous_label] ||= '<span class="icon-arrow-14"></span>'
26
+ options[:next_label] ||= '<span class="icon-arrow-17"></span>'
27
+ super.try :html_safe
28
+ end
29
+
30
+ # The original renderer
31
+ #------------------------------------------------------------------------------
32
+ class OriginalLinkRenderer < LinkRenderer
33
+ protected
34
+
35
+ def html_container(html)
36
+ tag :div, tag(:ul, html, class: 'pages'), container_attributes
37
+ end
38
+
39
+ def page_number(page)
40
+ tag :li, link(page, page, rel: rel_value(page), class: ('active' if page == current_page))
41
+ end
42
+
43
+ def gap
44
+ tag :li, link('&hellip;'.html_safe, '#'), class: 'disabled'
45
+ end
46
+
47
+ def previous_or_next_page(page, text, classname)
48
+ tag :li, link(text, page || '#'),
49
+ class: [(classname[0..3] if @options[:page_links]), (classname if @options[:page_links]), ('disabled' unless page)].join(' ')
50
+ end
51
+ end
52
+
53
+ # Bootstrap2 version
54
+ #------------------------------------------------------------------------------
55
+ class Bootstrap2LinkRenderer < LinkRenderer
56
+ protected
57
+
58
+ def html_container(html)
59
+ tag :div, tag(:ul, html), container_attributes
60
+ end
61
+
62
+ def page_number(page)
63
+ tag :li, link(page, page, rel: rel_value(page)), class: ('active' if page == current_page)
64
+ end
65
+
66
+ def gap
67
+ tag :li, link(super, '#'), class: 'disabled'
68
+ end
69
+
70
+ def previous_or_next_page(page, text, classname)
71
+ tag :li, link(text, page || '#'), class: [classname[0..3], classname, ('disabled' unless page)].join(' ')
72
+ end
73
+ end
74
+
75
+ # Bootstrap3 version
76
+ #------------------------------------------------------------------------------
77
+ class Bootstrap3LinkRenderer < Bootstrap2LinkRenderer
78
+ protected
79
+
80
+ def html_container(html)
81
+ tag :ul, html, container_attributes
82
+ end
83
+
84
+ end
85
+
86
+ end
87
+ end
@@ -0,0 +1,82 @@
1
+ cs:
2
+ date:
3
+ formats:
4
+ ddyy: "%d, %Y"
5
+ mmdd: "%b %d"
6
+ mmddyy: "%b %d, %Y"
7
+ wwmmdd: "%a, %b %d"
8
+ wwmmddyy: "%a, %b %d, %Y"
9
+ yymm: "%Y-%m"
10
+
11
+ time:
12
+ formats:
13
+ ddyy: "%d, %Y"
14
+ mmdd: "%b %d"
15
+ mmddyy: "%b %d, %Y"
16
+ wwmmdd: "%a, %b %d"
17
+ wwmmddyy: "%a, %b %d, %Y"
18
+ hhmmpp: "%I:%M %p"
19
+
20
+ core:
21
+ next_page: "Další <i class='icon-angle-right'></i>"
22
+ prev_page: "<i class='icon-angle-left'></i> Předchozí"
23
+ login: Přihlášení
24
+ logout: Odhlášení
25
+ account: Účet
26
+ errors_below: Přečtěte si prosím níže uvedené problémy,
27
+ login_required: "Prosím, přihlaste se ke svému účtu první"
28
+ resource_invalid: Požadovaná stránka není k dispozici ve vašem účtu
29
+ create_account: Vytvořit účet
30
+
31
+ confirmation_email_1: 'Děkujeme za Vaši registraci na %{value}'
32
+ confirmation_email_2: 'Pro dokončení registrace klikněte, prosím, na následující odkaz:'
33
+ confirmation_email_3: 'Děkujeme!'
34
+ confirmation_email_link: Potvrdit můj účet
35
+ reset_password_email_1: 'Dobrý den %{value}'
36
+ reset_password_email_2: 'Bylo zažádáno o změnu Vašeho hesla, což můžete učinit přes níže uvedený odkaz.'
37
+ reset_password_email_3: "Pokud jste o to nezažádali Vy, tento e-mail prosím ignorujte."
38
+ reset_password_email_4: "Vaše heslo se nezmění, dokud se nezobrazí na výše uvedený odkaz a vytvořit novou."
39
+ reset_password_email_link: Změnit mé heslo
40
+ unlock_email_1: 'Dobrý den %{value}'
41
+ unlock_email_2: 'Váš účet byl zablokován kvůli opakovaným neúspěšným pokusům o přihlášení.'
42
+ unlock_email_3: "Pro odblokování svého účtu klikněte na níže uvedený odkaz."
43
+ unlock_email_link: Odblokovat účet
44
+
45
+ profile_full_name: "%{firstname} %{lastname}"
46
+ profile_email: E-mail
47
+ profile_password: Heslo
48
+ profile_password_confirmation: Potvrzení hesla
49
+ profile_current_password: Současné heslo
50
+ profile_first_name: Křestní jméno
51
+ profile_last_name: Příjmení
52
+ profile_address: Adresa
53
+ profile_address2: Adresa
54
+ profile_city: Město
55
+ profile_state: Stát
56
+ profile_country: Země
57
+ profile_zipcode: Poštovní směrovací číslo
58
+ profile_public_name: Zveřejňované jméno
59
+ profile_update_btn: Aktualizovat
60
+ profile_account_settings: Nastavení účtu
61
+ profile_details_settings: 'Veřejný / Soukromý profil'
62
+ profile_public_title: Veřejný profil
63
+ profile_public_explanation: 'Tyto informace se zobrazí ostatním uživatelům (např. když přidáte komentář na fórum nebo blog).'
64
+ profile_public_upload: Fotografie
65
+ profile_public_upload_help: 'Nahrát fotografii, která bude používána na Vašem veřejném profilu (gif, jpg, png)'
66
+ profile_private_title: Soukromý profil
67
+ profile_private_explanation: 'Tyto informace zůstanou soukromé a nebudou s nikým sdíleny.'
68
+ profile_account_title: "Aktualizace e-mailu / přihlašovacích údajů"
69
+ profile_account_explanation: "Upozornění: až se budete přihlašovat příště, použijte nově uvedenou e-mailovou adresu."
70
+ profile_account_password_title: Změna hesla
71
+ profile_account_password_current_title: Současné heslo
72
+ profile_account_password_current_explanation: 'Aby mohly být provedeny změny, je třeba zadat své současné heslo.'
73
+ profile_profile_updated: Váš profil byl aktualizován.
74
+ profile_email_confirmation: 'Na Vámi uvedený nový e-mail byla odeslána zpráva, která obsahuje link. Je třeba na něj kliknout. Teprve pak se budete moci přihlásit pomocí Vámi uvedené nové e-mailové adresy.'
75
+ profile_password_updated: Vaše heslo bylo aktualizováno.
76
+ profile_email_needs_confirmation: 'Vaše e-mailová adresa byla změněna na'
77
+ profile_email_needs_confirmation_2: 'Na zadanou e-mailovou adresu byl zaslán potvrzující e-mail. Pokud jste jej neobdrželi, jednoduše aktualizujte svůj e-mail znovu. Potvrzení bude znovu odesláno.'
78
+
79
+ email:
80
+ salutation: 'Drahý/Drahá %{value},'
81
+ thank_you: Děkujeme
82
+
@@ -0,0 +1,82 @@
1
+ de:
2
+ date:
3
+ formats:
4
+ ddyy: "%d. %Y"
5
+ mmdd: "%d. %b"
6
+ mmddyy: "%d. %b, %Y"
7
+ wwmmdd: "%A, %d. %b"
8
+ wwmmddyy: "%A, %d. %b, %Y"
9
+ yymm: "%Y-%m"
10
+
11
+ time:
12
+ formats:
13
+ ddyy: "%d. %Y"
14
+ mmdd: "%d. %b"
15
+ mmddyy: "%d. %b, %Y"
16
+ wwmmdd: "%A, %d. %b"
17
+ wwmmddyy: "%A, %d. %b, %Y"
18
+ hhmmpp: "%H:%M"
19
+
20
+ core:
21
+ next_page: "Weiter <i class='icon-angle-right'></i>"
22
+ prev_page: "<i class='icon-angle-left'></i> Früher"
23
+ login: Anmelden
24
+ logout: Abmelden
25
+ account: Mein Benutzerkonto
26
+ errors_below: Bitte überprüfen Sie die folgenden Probleme
27
+ login_required: Bitte auf Ihr Konto erst anmelden
28
+ resource_invalid: Angeforderte Seite ist auf Ihrem Konto nicht verfügbar
29
+ create_account: Neues Benutzerkonto anlegen
30
+
31
+ confirmation_email_1: 'Vielen Dank für deine Registrierung eines Benutzerkontos auf %{value}'
32
+ confirmation_email_2: 'Bitte klicke auf folgenden Link, um deine Registrierung abzuschließen:'
33
+ confirmation_email_3: 'Vielen Dank!'
34
+ confirmation_email_link: Ich will mein Konto bestätigen
35
+ reset_password_email_1: 'Hallo %{value}'
36
+ reset_password_email_2: 'Jemand hat einen Link, um Ihr Passwort zu ändern angefordert, und Sie können dies über den Link unten tun.'
37
+ reset_password_email_3: "Wenn Sie nicht angefordert haben diese, ignorieren Sie diese E-Mail."
38
+ reset_password_email_4: "Ihr Passwort wird sich nicht ändern, bis Sie auf den obigen Link zugreifen und eine neue erstellen."
39
+ reset_password_email_link: Mein Passwort ändern
40
+ unlock_email_1: 'Hallo %{value}'
41
+ unlock_email_2: 'Ihr Konto wurde aufgrund einer übermäßigen Menge von Zeichen in erfolglose Versuche gesperrt.'
42
+ unlock_email_3: "Klicken Sie auf den untenstehenden Link, um Ihr Konto zu entsperren"
43
+ unlock_email_link: Schalte mein Konto
44
+
45
+ profile_full_name: "%{firstname} %{lastname}"
46
+ profile_email: E-Mail
47
+ profile_password: Neues Passwort
48
+ profile_password_confirmation: Neues Passwort - wiederholen
49
+ profile_current_password: Altes Passwort
50
+ profile_first_name: Vorname
51
+ profile_last_name: Nachname
52
+ profile_address: Adresse
53
+ profile_address2: Adresse
54
+ profile_city: Ort
55
+ profile_state: Bundesland
56
+ profile_country: Land
57
+ profile_zipcode: Postleitzahl
58
+ profile_public_name: Öffentlicher Benutzername
59
+ profile_update_btn: Änderungen speichern
60
+ profile_account_settings: Zugangsdaten
61
+ profile_details_settings: 'Benutzerdaten'
62
+ profile_public_title: Öffentliches Profil
63
+ profile_public_explanation: 'Die folgenden Informationen sind für andere Benutzer sichtbar, wenn du Beiträge im Forum und im Blog veröffentlichst.'
64
+ profile_public_upload: Foto
65
+ profile_public_upload_help: 'Hier kannst du ein Foto von dir hochladen (gif, jpg, png)'
66
+ profile_private_title: Geschütztes Profil
67
+ profile_private_explanation: 'Die folgenden Daten werden nur intern verwendet und nicht mit anderen Benutzern geteilt.'
68
+ profile_account_title: "Email-Adresse ändern"
69
+ profile_account_explanation: "Bitte beim nächsten Anmeldevorgang diese neue Email-Adresse verwenden."
70
+ profile_account_password_title: Passwort ändern
71
+ profile_account_password_current_title: Altes Passwort
72
+ profile_account_password_current_explanation: "Bitte hier das alte Passwort eingeben, um die Änderung zu bestätigen."
73
+ profile_profile_updated: Ihr Profil wurde aktualisiert
74
+ profile_email_confirmation: 'Eine E-Mail wurde an die neue E-Mail-Adresse geschickt - Sie müssen auf den Bestätigungslink klicken, bevor Sie sich mit der neuen E-Mail-Adresse anmelden können'
75
+ profile_password_updated: Ihr Passwort wurde aktualisiert
76
+ profile_email_needs_confirmation: 'Ihre E-Mail-Adresse wurde bereits geändert worden'
77
+ profile_email_needs_confirmation_2: 'Eine E-Mail an diese Adresse zur Bestätigung gesandt. Wenn Sie nicht die Bestätigung per E-Mail, aktualisieren Sie einfach die E-Mail noch einmal neu zu senden Sie die Bestätigung.'
78
+
79
+ email:
80
+ salutation: "Liebe/r %{value},"
81
+ thank_you: "Vielen Dank"
82
+
@@ -0,0 +1,84 @@
1
+ en:
2
+ date:
3
+ formats:
4
+ ddyy: "%d, %Y"
5
+ mmdd: "%b %d"
6
+ mmddyy: "%b %d, %Y"
7
+ wwmmdd: "%a, %b %d"
8
+ wwmmddyy: "%a, %b %d, %Y"
9
+ yymm: "%Y-%m"
10
+
11
+ time:
12
+ formats:
13
+ ddyy: "%d, %Y"
14
+ mmdd: "%b %d"
15
+ mmddyy: "%b %d, %Y"
16
+ wwmmdd: "%a, %b %d"
17
+ wwmmddyy: "%a, %b %d, %Y"
18
+ hhmmpp: "%I:%M %p"
19
+
20
+ english: "English"
21
+
22
+ core:
23
+ next_page: "Next <i class='icon-angle-right'></i>"
24
+ prev_page: "<i class='icon-angle-left'></i> Previous"
25
+ login: Login
26
+ logout: Logout
27
+ account: My Account
28
+ errors_below: Please review the problems below
29
+ login_required: Please login to your account first
30
+ resource_invalid: Requested page is not available in your account
31
+ create_account: Create Account
32
+
33
+ confirmation_email_1: 'Thank you for registering for an account on %{value}'
34
+ confirmation_email_2: 'Please click on the following link to complete your registration:'
35
+ confirmation_email_3: 'Thank you!'
36
+ confirmation_email_link: Confirm my account
37
+ reset_password_email_1: 'Hello %{value}'
38
+ reset_password_email_2: 'Someone has requested a link to change your password, and you can do this through the link below.'
39
+ reset_password_email_3: "If you didn't request this, please ignore this email."
40
+ reset_password_email_4: "Your password won't change until you access the link above and create a new one."
41
+ reset_password_email_link: Change my password
42
+ unlock_email_1: 'Hello %{value}'
43
+ unlock_email_2: 'Your account has been locked due to an excessive amount of unsuccessful sign in attempts.'
44
+ unlock_email_3: "Click the link below to unlock your account"
45
+ unlock_email_link: Unlock my account
46
+
47
+ profile_full_name: "%{firstname} %{lastname}"
48
+ profile_email: Email
49
+ profile_password: Password
50
+ profile_password_confirmation: Password Confirmation
51
+ profile_current_password: Current Password
52
+ profile_first_name: First Name
53
+ profile_last_name: Last Name
54
+ profile_address: Address
55
+ profile_address2: Address
56
+ profile_city: City
57
+ profile_state: State
58
+ profile_country: Country
59
+ profile_zipcode: Zipcode
60
+ profile_public_name: Public Name
61
+ profile_update_btn: Update
62
+ profile_account_settings: Account Settings
63
+ profile_details_settings: 'Public / Private Profile'
64
+ profile_public_title: Public Profile
65
+ profile_public_explanation: 'The following information will be visible to other people, such as posts in the forum or comments in the blog.'
66
+ profile_public_upload: Photo
67
+ profile_public_upload_help: 'Upload a photo for use in your public profile (gif, jpg, png)'
68
+ profile_private_title: Private Profile
69
+ profile_private_explanation: 'This information will be kept private and not shared with anyone.'
70
+ profile_account_title: "Update Email / Account Login"
71
+ profile_account_explanation: "Remember: next time you login, you will use your updated email address."
72
+ profile_account_password_title: Change Your Password
73
+ profile_account_password_current_title: Current Password
74
+ profile_account_password_current_explanation: Your current password is required to make any changes.
75
+ profile_profile_updated: Your profile has been updated
76
+ profile_email_confirmation: An email has been sent to the new email address - you must click on the confirmation link before you can login using the new email address
77
+ profile_password_updated: Your password has been updated
78
+ profile_email_needs_confirmation: 'Your email address has already been changed to'
79
+ profile_email_needs_confirmation_2: 'An email was sent to that address for confirmation. If you did not receive the confirmation email, simply update the email again to re-send the confirmation.'
80
+
81
+ email:
82
+ salutation: "Dear %{value},"
83
+ thank_you: Thank you
84
+