cdx 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -2
- data/app/assets/javascripts/cdx/admin/shared/theme.js +15 -0
- data/app/assets/stylesheets/cdx/admin/cdx.scss +1 -0
- data/app/assets/stylesheets/cdx/admin/shared/radio_buttons.scss +1 -0
- data/app/controllers/cdx/admin/base_controller.rb +26 -4
- data/app/controllers/cdx/admin/devise/confirmations_controller.rb +4 -0
- data/app/controllers/cdx/admin/devise/passwords_controller.rb +4 -0
- data/app/controllers/cdx/admin/devise/sessions_controller.rb +2 -0
- data/app/controllers/cdx/admin/resource_controller.rb +17 -6
- data/app/controllers/cdx/admin/settings_controller.rb +2 -0
- data/app/controllers/cdx/application_controller.rb +11 -0
- data/app/controllers/cdx/static_controller.rb +20 -0
- data/app/helpers/cdx/admin/base_helper.rb +1 -1
- data/app/helpers/cdx/admin/form_helper.rb +1 -1
- data/app/helpers/cdx/admin/resource_helper.rb +29 -19
- data/app/models/cdx/ability.rb +40 -0
- data/app/models/cdx/application_record.rb +2 -0
- data/app/models/cdx/asset/seo/og_image.rb +11 -0
- data/app/models/cdx/page.rb +1 -0
- data/app/models/cdx/seo.rb +22 -0
- data/app/models/cdx/setting.rb +7 -1
- data/app/models/cdx/user.rb +8 -7
- data/app/models/concerns/cdx/attachment_macros.rb +14 -0
- data/app/models/concerns/cdx/seo_support.rb +20 -0
- data/app/views/cdx/admin/devise/mailer/reset_password_instructions.html.erb +2 -2
- data/app/views/cdx/admin/devise/passwords/edit.html.erb +1 -1
- data/app/views/cdx/admin/devise/passwords/new.html.erb +1 -1
- data/app/views/cdx/admin/devise/sessions/new.html.erb +1 -1
- data/app/views/cdx/admin/devise/shared/_links.html.erb +3 -17
- data/app/views/cdx/admin/pages/_form.html.erb +3 -0
- data/app/views/cdx/admin/settings/_form.html.erb +4 -1
- data/app/views/cdx/admin/shared/_header.html.erb +1 -1
- data/app/views/cdx/admin/shared/_main_sidebar_menu.html.erb +5 -5
- data/app/views/cdx/admin/shared/_seo_form.html.erb +34 -0
- data/app/views/cdx/admin/users/_form.html.erb +1 -1
- data/app/views/cdx/static/show.html.erb +1 -0
- data/app/views/layouts/cdx/admin.html.erb +5 -1
- data/app/views/layouts/cdx/admin_login.html.erb +4 -0
- data/config/initializers/devise.rb +3 -5
- data/config/initializers/simple_form_bootstrap.rb +2 -2
- data/config/locales/en.activerecord.yml +44 -10
- data/config/locales/en.admin.yml +45 -40
- data/config/locales/en.simple_form.yml +9 -0
- data/config/locales/fr.activerecord.yml +91 -0
- data/config/locales/fr.admin.yml +89 -0
- data/config/locales/fr.simple_form.yml +9 -0
- data/config/routes.rb +11 -7
- data/db/migrate/20171002130330_create_cdx_seos.rb +10 -0
- data/db/migrate/20171005095457_add_template_to_pages.rb +5 -0
- data/lib/cdx.rb +9 -0
- data/lib/cdx/controller_helpers/locale.rb +17 -0
- data/lib/cdx/controller_helpers/seo.rb +71 -0
- data/lib/cdx/engine.rb +2 -0
- data/lib/cdx/routes.rb +43 -0
- data/lib/cdx/version.rb +1 -1
- data/lib/generators/cdx/install/templates/cdx.rb +10 -0
- data/spec/controllers/cdx/admin/settings_controller_spec.rb +2 -2
- data/spec/controllers/cdx/static_controller_spec.rb +24 -0
- data/spec/dummy/app/models/cdx/ability_decorator.rb +15 -0
- data/spec/dummy/config/application.rb +13 -0
- data/spec/dummy/config/database.yml +0 -2
- data/spec/dummy/config/environments/development.rb +5 -2
- data/spec/dummy/config/environments/test.rb +1 -0
- data/spec/dummy/config/routes.rb +6 -0
- data/spec/dummy/db/schema.rb +11 -1
- data/spec/dummy/log/development.log +1350 -0
- data/spec/dummy/log/test.log +24728 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-i/-iFt0NG282LSk69Sr3JLKXx2M7EC8ruUNefVDbHErkE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0F/0fNoOWKlJquYntmLiNOkQNi_6a0iVzq5OOeD51d9BAk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0N/0nlKUDQVjUvNn0_rQNmi4goOd1QeXk_3ZCWolj26934.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0P/0p5jNivcntrR0rdOjn18-keOIRTMm5EYtltJGAa7yow.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0V/0VpY59TpaF-KXBqms-znoByVNPjR-P_eCeLlxBepkzE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0_/0__0m7BBelMOz_X24UBi6SZ3Uh0X4h9e0V14obD3RVo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0h/0HindtmDLfA2puS1rQHtYt_PH1W5Rcb3S-9D32folAg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0j/0jz9seO_qzgc12jOQRBX6Wq77G29sbV101tgL__esjQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0q/0qtpjjwSuyn9F0Zw4FX3bgrDV2La3TQpqPnKIELASl0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1I/1iARm3Mchh3clWJvFBWhoEgTOxzBAQlHifRPTAVxdkU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1_/1_2bXybqcVDdWq70AmQv9_Xww4HyPC3RtGxXgrhPWMA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1_/1_h1fVQCCAksvv_bbIZcstSElyaO0JcwYzEJSE7sKgQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1_/1_oe_BI62RbdA9jkSzL1VwJrFEptRf0K-WCZY-p3lc8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1j/1jdfO5MniydqTDMCc6OlsJevFQCn0FMpg1HEbifyOHw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1p/1PpVGdN-Gky0eA3ONio0s4i-ZQ7OvQigx1-W7ndgQBU.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1y/1yo4gBzHOyPj5eNdwH7f2XJjipPR-g43NmbdlgwasXI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2D/2D-E_g4d_wFqhWsACw45AU1T4HgZa24X1fJCD8A-cmk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2D/2DwgKbBdkZUZkIKin21KvhrmwLfNLjOHp0ZEkHhr2lQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2Y/2YoKA-UB1eAF6sFyqgSf4vPvOeXYWzmlsSOyCA1I2BE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2m/2myor-spZvspHRsw9q5evQpjS-mbavq1dQJpei7J_tA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2n/2N6sTK14LOJztedO9VQjEBXz9TxjMNtDPP6BMjt00Ts.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3K/3kHxvyS2gNyVlhTpICF2xM-T0l-ed7YlEluiW0Zf9T0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3Q/3QMQjVvd2faHufB8gtFGeMIbxH-sCDr4vCOtPUgIcpE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3l/3LkV-MY4oMsYNWdPvXQGJls3tP3qGznSwO2aiiQcSPA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3s/3sqXUopmZBq7ucOltFVAaeq9k3bl0im68FY_F8FxeJM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4D/4DnLFLUYvftKjHqlCMFap-uS2rn9Z73Kd4VAl62YnTc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4X/4x1jBypiX2Fch4mNVpbwZQNrRMp4saFZ5Qok1whKYvk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4Y/4yoJ745XP_lQvkDB_OMmcORPCl4vVsxaxW4UEUd3sbk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4n/4n-q5a2YIbws7wp3tpljJ5BrNc_s2PJuMhPBRIzdhcI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4w/4WAD0WBxsnN-wNF74X6MorObH79zloR5dIdEh514C0I.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/51/51rQVKR5ShW5Vw6coB54r6kanmIEVsbi5cQ-WBFO560.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/53/53xRB1iTmNzBgiyDHRhDLH68sNoG0l3NuadxWnO6d20.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5b/5BjBasr9gsjHQTbYdQ0Yh87NjjhdqPfLb2CkU2OHJaY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5c/5crQT5B2P3mK86j0Dl6K9sCdXNbTbGEz3NTly0cV8Lk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5s/5SFOdTJpduHEg91zJaIAr1VrLFih5MHNYmv9mtyTq-Q.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5y/5yEFF7UIbmhPtA3baKfA3dhd7czO7Mr-Xlc7pSouzAo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6x/6Xjup3_QshPPWD9GFZ1Rsh6BhSv8mtwbvBGWBFySwOI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/72/72erHrbpPtcN7YqhDYnupoNuV3rf2pJozQ3J5HhD1iI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7F/7Fhp0xcD_4hGj0bv9pVrktIH4E8hRHhBDFIU1vA9zeo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7T/7t-1sFAQkGmXMyam9vkBvKF8MJhZ9VQJPfV_7PywF5I.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7o/7oCsmfp7c_RuA1zhrvJ7dbDSOOC0sQMg6DW3dxgYmZg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7q/7qqDmxISOZ8Q9ZU5VFECDUzTi3VwB9rqIjgC5OOIrrQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/80/80a3BElReHk-kquPjzlmLtsGEOVZvawBTr3Vy5PMg8o.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/86/86BgsL85R9eVD-0iY6kAI8qmd7MstQe2twPO-9fIkpI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8V/8VuRX4t14W9qg7istJ66rRqCUaW9f4HxfitJlnwH7XM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8i/8i6ilkfD7Z06CVIqzeWC6N_idFglVWRnaZLmLbyIuXM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8k/8KdwyF6we3R_uL-EpfzLppiDGRAnmuKcInrqDd-sM4Q.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8l/8LfCbkph35HmJStppNyWEU5kS6UZq70i3LD__bpZi3A.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/90/90U29nApkOYKhI7f5Ik0hqTCMi6_cY5pBLWetmNPDok.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/90/90yKdlZdkoi7cLuX9171xeFXDBamFl6Q8nBDBIMr_f4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AL/Al4mMT2vXRy0XVI7gPZb_qv_S1xZikH5pWZAMoRg0Ow.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ab/abh-MqdgcZZjYxqJAMU7VmPQgQEc1nsIRUl8PrTR4Xs.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ag/AgWTHd9o70gaIXOgteE61PzuQ7zrXXhUhxXZCwD1k_8.cache +7 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/BK/BKAoOUUdP10MNcNv6y5kkOZFTXF7mLp6spXU2LxfK7s.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/BO/BOpJ7-QqPdxiNr5QjcDhmeXJmlOQREtJCUzieBYDyfU.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bd/BD6vdNHjBq3IUAA1De-vsuBzohZ3gC0PKxbmwk9Reqs.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bd/BDRpsfEsYeCu8YKedt9og50isthWbMxWOKGwOwM3g64.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bf/bfA3l64VLm-qcg6ef6pS1swPEkyZp0aKSJKu7uWRppk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bj/bJg2C4nvfAH4OJQI4jEHauHo1ZyFIABVFf0DMqKDPVE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bv/BVMXHsTFCBqnlZMXA2oHjswGI3JTKoPSg2zW28E_HSY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bx/bxBZ8hJio1vWq2nL4MtMl2o5KdgEXocU1lXqdF_H2Ok.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/C9/C9XqqJn0jzF1cz4gnTlSTNhU8Pa5s4DIg-SJ88FsWXE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/C9/C9xd9XOvzRL-iSdaJVL0ot8YDzizIuYdxXGnj8VTpLo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/C9/c9JOLp9aHOmqYrc61IyX0fuLsfbltewybHRN84pKngg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CR/crg6faV5hCnyUWUQBvwXsUKXIxeNwdFoeeRZY-9kQ8I.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CS/CSyBKXmKXX_KNNLX71lUtLo-qibtYKiDiUI7D1_Ad-U.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cf/cfPGt5PS7oDQyj24rV_aaIL-XBmlD5DQfrvhmt8Zo_k.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ci/cIwTYXAvTveBOKlBbfivMJc6NSW0k7emzlT0_ZO5w9o.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cx/cxu-X2o-6X399909Ssr6XlxwqdGoWOmdLgy1SGHz7jw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/D5/D5k9pNKFy_4q1izZgrm28HRBhuv37bbussLpNbS0RDg.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/D5/d5k69YupUL9o8p2iNuUEoe3zFBbG74sJg5wOOv3nfuU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/D7/d7_pzYKUCrxBOsuEKt9nrKosIlqYtXW-b8129LnvyQo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DM/Dmx097lBqmTT-Oi4kuQviQnRh-a2HActU2dFY-s0_QA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DO/do5awiiOZ_HS5FpsBbrlYLZ_KFBtc9ROw7Yrbtvedb0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DV/dvShsqU3ubcbWOjmi93_42r82SrdBSKooi9vuT9v0vk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Du/DU7SS4Gqtnp5b2BRegxtPhY0d_W5RTctkJIzTnyJnSs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dz/dzC0Tg_Pn0DAiA60zRTqwoiufYibY_nMqhh184Jrwj4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Et/ETKn_UyjMllkmPygy3je8yvIjAXuexFZMc3nOMDGZ2g.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/F8/F8VP_mkjQWYzE_kstqaRPFgrOYvfvEXYlNHEJysb2jk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FO/FORksrj3nRzuyQtF7ortyQcv8FKzQoFp7_rvh_a5e_0.cache +5 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Fa/fAQ7ZsIRt7gNzB93RfCmjmXarpP3psXoDtpexhi-lcw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Fp/Fp3Fi8NFOunDCuU9rnk4WpD-bwqMJ1RlEHXApZ_Ww78.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Fp/fp71stt6rYCx_h5Vtv_SqeqSaErKDmdgQ_zgDk5nPFA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ft/FTS4SzX7DCL-phnfFg6c0L0hlobuf6b6PZNJEBUjiyk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Fv/fVO6OABVpR66_lo1S4dZX3TdNJFfOVTVFmQoA6Yo334.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/GB/gbTW4epYUuCV1gRLZ-FfP1mirEaKjjR8xKLP1TqkBNQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/GK/gKyqjKN5EPcboPVsaAWPRguhL4C9n4Ak_I8dxHbuBJ0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/GT/GTw48Whi_H5B30HrWKDHbhMESxxcgmt3cxVJVNxnlCA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Gz/gZr2Ax0pbGr5z478MPqutV_ckMVX5hoGCM4FlxYKptw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HC/HCDOUd7-S45aJ_PjVAC_Vmjyud3i1aQv4cE3t9_Z3Dw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HZ/HZ-pL107JwyUm0FXHqap6QT1gHaBdVO-HwgW7fyjS7w.cache +5 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Hn/HNmwBQyHv0Wd1s_FFE2ZKnlN1gc_60ojDfYMoTWxo2c.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Hp/HPBbedoNr7FnvlUzBaP-F184BEU1LTSih7fp0zYyP3w.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Hp/hPlcWYGmd8PAWMPpOKz8frzYfDv1ZmglHT_dv8lhcNI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I1/I1KUnvh52K5HLo-DqDyraniWc9XvG72YgYnTWDiskOM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IK/iK-WxRj6EtSpxgj7zp5ZKdc_QO_1aiEW1ArjZsrGStA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/If/iFR2Vv68kRTEt3rbTO4QMTv14XXSYOOYsdxuEM1XPU0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Im/ImnlN2FMoHZ7TF6gKEfHO3bjfL2wWhxOtGJXgxVn3dk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/J1/J14vesr1A3MZ9btP4P7iNs0FHKeprcTi4X1tt9XGSHo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JG/JGEhVFfZgTVFCRiVAXe44oVveXuVRsa3isuIc9Eh9-c.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Je/JEdK9d77mFvuv6Pk4agvy4WGNbFK9_XX69_mEyZfXJI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K1/K1sN57T85a7GtrrrRdabe9ukxwC8iuJ1HCv9gvTBVZM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KN/KnbYZeK72MsgFzLutCfAYVSnDv_j5n9x2ZwGiEzjK4A.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kg/Kg2grZ43Kx1CQ_VXx4RSCpYRCojuIKz-0Dn2G_y4Pdk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kp/kpgcUcUZJyVmIX7ioTLnr8yi1B1R0mPdLykoKheweyk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kq/kqVr6Q49dL2u3aAu7hQoZEW22oA76zrZItcqo2BjcIc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/L2/l2WZXgIHGA3F2zeqdZq-izZuMyvXKBI85BLC_0xWOro.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LK/Lkaf1O_V-WIPFyVu6tfJhZ0TdHUU8uCaEPLSklSzx98.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/La/LADi7AZEz3mtq7mQjXXlCBbH8oBk0bcj725-vayk2OA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Lr/lRRHJn2XRFri_mi2DOWJvLRhRAiM1YKh0hurFqvG87E.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ML/MLJfBFcV2AX5sApWFIAHm5Qm4kJIPo_l1P4V7hQrAFs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MU/MUchbbk2TuTpAxTSBl03faiF7lM5jKcPso_YeoSqcx0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MW/MwyLb1ZP1_eaMijYv-iHTtfnrjTf4fbbbV0OH1epKTo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Nj/NjG05c2jA9Navxh1LFsBqDyPgpG9fiFk_RfLkWu-65Y.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Nm/nMWLxYY30O0E1hkbxV1FFweLkEB6VoFint77FrZJ3pw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OD/OD6SmOeQUB2AEmekz7U99o3nO2ioN9_cK36K99qBJ70.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OD/oDYzF0n64vcUCyvZ5Fxgz2IFRxZVLBa1Qf7NvbP4Rj4.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OF/ofiLQRccxxIb-yC9v4M3_a-gs4kGHt6kvK9oh7bZyXc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Oh/OhWFXM9GuxBD1Yw5r1DnNgC_EUU0m41NsRdMN-cwaLE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ou/oUI7TzCsU_4rW2DtLQ3bkn1TiXdYAl4GXW9MBSS0vJ8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ou/oupue72yFp7MC2LCdPww-3HH00fR_6FjnvDpMDZCtqU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/P7/P7p2i0Sm3DJ3BZGKbialS5-rDXqxKIRt_Az1fRjq7Us.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pg/PgxniuPvmdPnZe-YAxPqcbogt2k6ZDLnVbCiWgDxooI.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pr/prvtYXooSziuVaUF2LMJF0Uv4JfpTI6ip5I_tJPQE8Q.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ps/psCXHNyv38VAep2dJ0cTOdHQkS_MWXG-guuUVC8t4YI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Q3/Q3whiX7hWA6sHL4BaujPiVI1GQ6YWMNkxu74eBHZl3M.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QS/qS_9kKSqAOD1IsbS049t0luTxiGNgOkznsK63G29XbM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qc/QCrLyf5oF6nlbHXmhp9hnfjMh1LcK07Z142GDLHKAjQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qm/QmyRU9WjjNWdjkDsdr9j-NKCyspm6XzAUlTOrIZDlTc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/R5/r5VCnaIlCnfLuvjK6ube003OfLDh1fNrnSHONd9_ocU.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RL/rlvpruq1is4grm3GrVv1n_01sNG2MhE9NUuoVeCdWrM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RR/RrlF5aR2LEJoimuYzeygpTdbqFDD2PqEMRStdtvBI8c.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RR/rrk_AkULRJpki1T-n6uQCY0y4JONQ0NEXWAFTxNwNNw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RT/rT52RKB6g3HZeXb1SBwtrPzIMAi0kgVl4sCBTPJY2EY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Sg/SGrxaiHVJzOOBm0zKHYRC-0xnLVkqOBOpuN_oY_oOUc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/T8/t8310ngJo_JGf8ppMVuyfCaStzB6-shCkX0BSA9CcLg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TH/the1sdNgVTdgMnUinRhMI1WGI3QVETw3pm6KsU2fVMQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TO/To9HIgbxLeRcTRDDZ0ghnupZgaebrNoqdeFjshM3Tu4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Tf/TFHKQ4pT3CcgqUjDzLNhB15gpQkDaHi7pq6ZkJWCuDE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Tu/Tu_FRu6GxmhiowKn5FrH7vYvlCUHdkuWXr5vCz8xuAY.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/U7/u7rm5QuAOWJaqKRxL8Of43KkpQdmhmEkVMc1ZvrGvK4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ud/UdUAfPcNU80Y1woqaYlbmxevwd-0qlchMQ6nPLsZBco.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/V2/V2Mr-gWWDkAqZQYmZZqjbFgqWFFb4bRQBKdzIoDNDFA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VT/VTpdpG8eJiAmc4ovAhpsyi2dHb8UZ6POiZ2bknhwemw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VT/vTD5XYvspxAwwGpKmRLROUvKa3Rn3m1IUxSx541orUQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vl/Vlsm70pT87kfS0a8N036d_pas104--nq1o2oanQGIe8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WI/Wiw750s27MY7h_DJ5btWxNxiqgRLOsI7yjhIJQvhyXI.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/W_/w_XNp6PrIPf5HHSYhtAViubTyyriYzfw0xt7a3emimk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XC/xCXzAN6gQCV7s-Ez1BT_fD5s_foJ0ARMam-3pKuiufY.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XK/XkQcEEK4sCc3352uItx_Gh5M5ChASrRUxvh1K8kviKM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Xa/xah7XHL6JDUR9tCJIfx3DVDhbycwgDfntEdzOPgm__4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Y-/y-UZhd5FyaI3Hs3KvKtWFLeBAhKUNlZYlcBFzvlKEs0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Y6/y6ItwP5AI4LqD4hXfOQh5LqyI70rX6yy0QfUO10-9HM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YZ/YZQch5dfmJMHMA819nM1lvaJNIrW1NPDlDWWNZEgGTY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZN/Znxtcq-ZTxzNLztrUr5qugSoCxTd-GWv73X2oF1x0ZM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZU/Zu3ZA7q9vQyo8d_LeMVGaY5OjwMBNr9K7OyOtKQwfKw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZW/ZWEDoKOwn8uGSGpTnLq0zIlXZCd-lcZ3cReO5xZHS2M.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_-/_-YtNYD2M-58NbvNpYe7S-PDb63s_k0Ia0DXNyor2ls.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_-/_-_qJT08J1eTH_0Vg2UVZohSjv1i11mkKvnyweIvgwU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_1/_1dLc-fSiH4-ZGkYCSoW4WfK7njx8QYvpsT7d0iOOHw.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_7/_7STOiMb3GNnXCgsh82Vh8dSPK3TE5onjH773vl6quA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_f/_f7ipp2FPzR3B5xuwlQ0-QZacf0rvw8DNrTBpEqkwmg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_m/_MJSHrCWTUT8SZ71ih6F-HI5GGcJ7c2YwW8ERiIK5Tw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_v/_Vq5M5rhogfHHjIUiJbvr3TB6vqUBRwC_CttsZjNeu0.cache +7 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/a1/a1R0-5ycIuReJ4-fqbXk6fH2IdxW89a5kaevGv-Dml4.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aF/aFKOFyg5JLPd7cbF-MD0fFuV2fubfdz-yKKyXwsLl8s.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aO/AohWZS-TPE-wjo80tb76OA6hA3TQQh4b7sJHv7LU6dI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aq/aQoRtEOx37MRSLS7kP_4yDtmt0AiLLtU5bBN_GtJj8Y.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b9/B98ns1UOJj2BI40YdrYj2AYpv2jnpcH5uY7caTMKUeo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bA/BaJKhJJLWg3gRQEGckI_F33ILRJvlBhQ9lgrgkGr4gM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bC/bC-NuzAGHhmfyMdEou8QaKV_od64DOu3CiatbX1zS7Y.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bH/bhsmt8uMEM17fZf-7L8Tr21Qm7wp0wtNXXEbP48OsnE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b_/b_Itlk9QZZd7Rvf8kcA4yLP1R5Acu7jB-m1xQiSU0qE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bp/BpJfHs6Mo8lqlKf2TijySqZ444qek67RWzRwUen64vQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/c3/c3-rWf7UzoWjsYPy5EtXvv3ufQ8CIQ6Z-0kVS09lrDs.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cC/CcBfkGECwA5O7hQpkndgB0Hi90JOu69Ifjs6wSifP7o.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cH/ChcBt03RXtOFBODQDToOchKvzpr2dW6cMQ2HrmYPNq8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cH/cHerKTSfFWYybWwIjdgf4hdq0TMrmPhHgxlEFQ-dQb0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cO/CO5mDqDfmtiDa_MlTuMous_vC3vHyMfMCvG0iPr3oVo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cn/CNJKoiuv7BhPbbHegPk_Qktnz_JF6HQr35hNbw6s-RM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/d-/D-tuIWBYGuFafbtlGFsVUWuW1V532Zkwlhdc9YU_0_Q.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dK/dkEIzUkEZU4yDjWENPIb9mVQ6WLjulPZooIMhh0kjps.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dX/dX8QOFCLVNiDkCAiFD_PFv9d-Qo1wVbsDeLj4mtE4R0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eE/EEpwNSyxAZOsAaJa0FVJLqYX-D8EEzVXrqNADqSq1pg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eV/EVxtlJx2DKEnr7jM6G-nUsoSv7PuWNZ4HqxYV6G0LNE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eb/ebBZEqfj1_tXnSytXRHDulZ2qjRuj2jiuzALy71-p04.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ei/eI82uxHiRfJCRpat_t9RMiiro7Ggp0aaY6gS2RHhXIc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ew/EWvBebjHFMAPVeVD3tkNaDGv1De3T-L_N4DgqM7rPfA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ff/Fft1-kdQYW_lF9qeAgbnyv7nLFkLOug2kmkMt_lLSqA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/g3/G3sgs1Ax6Vk_2s37KNPp2-7IdFiT3LOWxMmlF7OUOuM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gL/gl9epGlvS8NGjkSvO3-Zv20gDWDOihgYl4zev3I4gzM.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/go/gObqKgy_NGkfRMIq-hy2D3F82sXUz_xKrQXbW3ZgU5k.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gy/gYo6RbgaJKr4uO3yVeAwQh_fzXzR08K7lkURuVclXX4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/h-/H-wscVetDYgz1C6_9m_zX4Ubit9GpN41Qh36i61d49E.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hq/Hq6ThzYH1Jwap4RjDjkeXS6kh3_SwtUrbSk5u9-pPvQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hv/hvCWsDxXJW9jg2ULOdo9wcMcIiVXr1vPB-7RRCtj-Zg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hw/hWPXtikadUixtV_Vz7dJ5Yb8xdcJ6CC6pXuZKANgAVM.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iI/iiw3Z6suXDviQSt5opMZ7iCTz8rrt7lWwxCYG-jOATY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jX/JXX-ip72L8uACavKSd8TQFVw6MQo63MyTadGeyddhj8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jd/JD6N31VqeGIaXMEqjkdDzYExPQxGK7Zi9aVAGYcHcVc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/k5/k5e6-CoVqmpM8jXJRwAaGn_fs_rOUvkz_8mXqHu8_ao.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/k6/k678AMTE8Rpt4M0p22vOGHuMydQhufi7r-XlrQU5p6Y.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kC/kCPTWFwWLADuE4b0kM5PUnetnYdoiFWVL7C91_RGlF0.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kJ/KJUwoqIiuj-qpKpMy7k0S-voZVXPonJjx6cblKKdGKg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kL/klyYYLzIHrlg7rcBAWfk8RezPB9yU5qjkFJQgIMwyf4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kV/KvtETa0BMROOFrdvtIkDReAoRz0wHnGGw8RyXETCu5c.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kZ/KzoIWrb49pUv8dm_4xNPu5bj7CW1DraOTvLScFbTpSo.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ko/koyJ5Xizwv3o0lnBTF0IsKiH-MnMN39MMDN9JYB_6kM.cache +4 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lB/lBP9PyX9X0z7Q3ChAOemieBBbC7fJE3IcmLcyBjT_fs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nC/NcSCneaLBTHR1N_d6-NwYjql4r-jmQPEz5Wr6MadHio.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nL/Nl068pZS4lI4dvrWUTQVV3jz9IaH1sZonpVEyEd1cXo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nL/nLmYNs5vhdCsci9KiAHI6bx7jbgGCr_Ev7Bi5CSyTxc.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nP/NpPldDHmBprTojKOz0ubr22DkyAkmWCjYgfi1jaUAH4.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oG/oGUukVPniof9dUUrs5SqfHqCD80JYsgyYjLuHhYkm58.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ob/obVbAIR4nBUA03U9XbZV0AAeeBl434DzZ0vpqL4qC8w.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/on/on_VGtMCJXLwRJrs_mSYnTR-mpiLLOZHZE5u7W6wfbE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pk/pkdw-Jgeclt9vajoQqiLRaBZZzhjXjJmfzp8ePPy1G0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qH/QhqfODycIGdVzQX8GRs-Ib6Pq1hGxqNYyLUGvZMM7os.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qb/qb67_izas1nixcQ-AauJdU9nn3EmIDDCKmYePp49rC8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ra/ray_bF5Ej18NZlHx_KQ3cYYeg7nEiYPzBT8WsdHNEmk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/s0/s08CnMSk3W06JZNTVEVqApJd8Vpz7TLOYFO9-6CsE2g.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/s0/s0e75axNmtNlRg8x1AcNxSSxmweSr5pxzu6tg21QGfk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/so/soDpZ_JUnPHmG0FYpI_47WgP1hsnLMxZPrVuNh3MGzg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sy/SYNvEuncguh0B7KSNy0mIfyZSkNlQVOOLPIV5h0ZLwA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/t4/t4fHClD6YGDsSKSJQNND8cK4DG59K4GrSawc9aFtIX0.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tn/tnXjvHNgRK7H4M44cOtCkufshJoMKyGxD_3d85_P8io.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uE/uelCAlCK-JD31uF5SDtIbiNJzKNNS8wQjyf-rYxlEqA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uK/uk_pSKPoFIZcb3KkcV0BaPBUkiNJofSVmemhGLguLRQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uM/uMAAFlayLJ1Y44NPWXqXIQED5cpFgzqVlLPP5pYymoE.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ut/uThFl2m0GavTCT4pl2oDWqIBIn0yj9_PoqrYL1S76XQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ut/uTtJNzrVQtxdGXTkkbdGY_HyBs31WvuFNJRa1MKw1oA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ut/ut9R9B1Xb0I7LhpAEJGjlSe2VkwJlGyqP8EUJr8DwCw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vC/vcr2_BONXHi2_t_Sjhvg_Ucp1qY7qOARdnYyC9_qgEU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vZ/vZd7TqVpkThrX7nIZg2gMbl-EYQz4yX32509Kf4zI8g.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vg/vGz1YgkFiH3K3rkMCpUSjE-9ejQH7gheA_F0QTM4-Fk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vw/Vwb24w5R2fbGV6mwam0Zv3ChgVPqtoN2ycurQcbCUpE.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wA/WaW9zL376Fd5jhAkSr65m-RaRMG7lqqaMnbbmJd2Roo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wA/WayDgcdBl8u7lmDWTD2G5LueoPHSmIVKsH11ouhvAvA.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wS/Ws-va4f_EnxlLEeWHMcMeajnLKLNVzOV9mSnWNjxHsg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wV/WVAQnoAwhp9Ofx9devXpnnElvhZa9wQKf7C0bYOdm2s.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wx/wX40TRI0nDBMeklwhXEUi5g4cUL49_iRk1hM17pjF1A.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xI/xIIoLGg2-k4fy4TFbZ5W1VpEg4PvprGqgwAc_ok0a2E.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xg/xGKpJBeLDVoGW8seoyKcDkbUQHa7BxIiOsdbe0107OQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xl/XlVv4YODOAXqFR8rDkclOihevedZKkisiKA4UV7DIjo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xt/XTNQufvpZiYf099YZk14sezwCWcpSRJejvC_aG9Ibu4.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xt/xTMrRJs3k_JFBaRV3RLvDV8TYJPDNfK8D6WN627Bk6s.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/y7/Y7ykJL1z2RdshacFjZG6B5UvCj72YZYRUF2gJaF0rZg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yB/Ybbz_WJ213Nqi-aFaaQkGhRBlFbtkpF22qQgLe_1uog.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ya/yAUp6d65RN_WmANx7yBiiW_9tKgD3WcHJzuXyIPGfLo.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yr/Yr3omw0q7iUD4-ZnhTEHnG5LAfO2ozUyIRYtTL9VyLY.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yu/yuvUN0gcqkar9QF-yGu6G016_Qz1XCUVbZutajszLuo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zO/zO0GfKcnBb5wchGGaNXRkku6RZrukJm8oOv_9zWvC3A.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zQ/zQEso6LidPVvaY-mMDkB78rkEzrYmZEYHpFCoVC3xCc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/z_/z_9uUxYxAYgjlNpeinpDwugfQyMQSwnKgYcx-axV3u8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zi/ZiXkZ6gfSxNXmwzpX3-D8Gkr69W59cdAVYvE9E7KHl4.cache +1 -0
- data/spec/factories/cdx_seos.rb +13 -0
- data/spec/factories/cdx_settings.rb +1 -1
- data/spec/features/cdx/admin/login_spec.rb +15 -9
- data/spec/features/cdx/admin/pages_spec.rb +17 -0
- data/spec/features/cdx/admin/users_spec.rb +16 -0
- data/spec/helpers/cdx/admin/base_helper_spec.rb +37 -0
- data/spec/models/cdx/seo_spec.rb +13 -0
- data/spec/models/cdx/setting_spec.rb +1 -1
- data/spec/models/concerns/cdx/taxonomisable_spec.rb +24 -0
- data/spec/rails_helper.rb +17 -3
- data/spec/support/controller_macros.rb +12 -10
- data/spec/support/feature_macros.rb +12 -0
- metadata +566 -26
- data/app/models/cdx/attachment.rb +0 -6
- data/app/views/cdx/admin/devise/confirmations/new.html.erb +0 -16
- data/app/views/cdx/admin/devise/unlocks/new.html.erb +0 -16
- data/config/locales/devise.en.yml +0 -64
- data/config/locales/simple_form.en.yml +0 -31
data/app/models/cdx/user.rb
CHANGED
@@ -10,9 +10,8 @@ module Cdx
|
|
10
10
|
devise :database_authenticatable, :registerable,
|
11
11
|
:recoverable, :rememberable, :trackable, :validatable
|
12
12
|
|
13
|
-
#
|
14
|
-
|
15
|
-
accepts_nested_attributes_for :avatar, allow_destroy: true
|
13
|
+
# Assets
|
14
|
+
has_one_attached :avatar, 'Asset::User::Avatar'
|
16
15
|
|
17
16
|
# Settings
|
18
17
|
store_accessor :settings, :theme
|
@@ -37,12 +36,14 @@ module Cdx
|
|
37
36
|
"#{first_name} #{last_name}".strip
|
38
37
|
end
|
39
38
|
|
40
|
-
def admin?
|
41
|
-
has_role?(:admin)
|
42
|
-
end
|
43
|
-
|
44
39
|
def has_role?(role)
|
45
40
|
roles.include? role.to_s
|
46
41
|
end
|
42
|
+
|
43
|
+
Cdx.user_available_roles.each do |role|
|
44
|
+
define_method("is_#{role}?") do
|
45
|
+
has_role?(role)
|
46
|
+
end
|
47
|
+
end
|
47
48
|
end
|
48
49
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# Mimic ActiveStorage DSL, but works with nested attributes
|
2
|
+
module Cdx
|
3
|
+
module AttachmentMacros
|
4
|
+
def has_one_attached(name, class_name)
|
5
|
+
has_one name.to_sym, -> { where(name: name) }, class_name: class_name, as: :record, dependent: :destroy
|
6
|
+
accepts_nested_attributes_for name.to_sym, allow_destroy: true
|
7
|
+
end
|
8
|
+
|
9
|
+
def has_many_attached(name, class_name)
|
10
|
+
has_many name.to_sym, -> { where(name: name) }, class_name: class_name, as: :record, dependent: :destroy
|
11
|
+
accepts_nested_attributes_for name.to_sym, allow_destroy: true, reject_if: :all_blank
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Cdx
|
2
|
+
module SeoSupport
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
has_one :seo, as: :record, dependent: :destroy
|
7
|
+
accepts_nested_attributes_for :seo, reject_if: :all_blank
|
8
|
+
|
9
|
+
delegate :meta_title,
|
10
|
+
:meta_description,
|
11
|
+
:meta_keywords,
|
12
|
+
:meta_canonical,
|
13
|
+
:og_title, :og_description,
|
14
|
+
:og_keywords,
|
15
|
+
:og_video,
|
16
|
+
:og_image,
|
17
|
+
to: :seo, allow_nil: true
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<p>Hello <%= @resource.email %>!</p>
|
2
2
|
|
3
3
|
<p>Someone has requested a link to change your password. You can do this through the link below.</p>
|
4
|
-
|
5
|
-
<p><%= link_to 'Change my password',
|
4
|
+
<%= byebug %>
|
5
|
+
<p><%= link_to 'Change my password', edit_admin_user_password_url(@resource, reset_password_token: @token) %></p>
|
6
6
|
|
7
7
|
<p>If you didn't request this, please ignore this email.</p>
|
8
8
|
<p>Your password won't change until you access the link above and create a new one.</p>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<h2>Change your password</h2>
|
2
2
|
|
3
|
-
<%= form_for(resource, as: resource_name, url:
|
3
|
+
<%= form_for(resource, as: resource_name, url: admin_user_password_path, html: { method: :put }) do |f| %>
|
4
4
|
<%= devise_error_messages! %>
|
5
5
|
<%= f.hidden_field :reset_password_token %>
|
6
6
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<h2>Forgot your password?</h2>
|
2
2
|
|
3
|
-
<%= form_for(resource, as: resource_name, url:
|
3
|
+
<%= form_for(resource, as: resource_name, url: admin_user_password_path, html: { method: :post }) do |f| %>
|
4
4
|
<%= devise_error_messages! %>
|
5
5
|
|
6
6
|
<div class="field">
|
@@ -2,7 +2,7 @@
|
|
2
2
|
Sign in to start your session
|
3
3
|
</p>
|
4
4
|
|
5
|
-
<%= form_for(resource, as: resource_name, url:
|
5
|
+
<%= form_for(resource, as: resource_name, url: admin_user_session_path) do |f| %>
|
6
6
|
<div class="form-group has-feedback">
|
7
7
|
<%= f.email_field :email, autofocus: true, class: %w(form-control), placeholder: 'Email' %>
|
8
8
|
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
|
@@ -1,21 +1,7 @@
|
|
1
1
|
<%- if controller_name != 'sessions' %>
|
2
|
-
<%= link_to "Log in",
|
2
|
+
<%= link_to "Log in", new_admin_user_session_path %><br />
|
3
3
|
<% end -%>
|
4
4
|
|
5
5
|
<%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>
|
6
|
-
<%= link_to "Forgot your password?",
|
7
|
-
<% end -%>
|
8
|
-
|
9
|
-
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
|
10
|
-
<%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %><br />
|
11
|
-
<% end -%>
|
12
|
-
|
13
|
-
<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
|
14
|
-
<%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %><br />
|
15
|
-
<% end -%>
|
16
|
-
|
17
|
-
<%- if devise_mapping.omniauthable? %>
|
18
|
-
<%- resource_class.omniauth_providers.each do |provider| %>
|
19
|
-
<%= link_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider) %><br />
|
20
|
-
<% end -%>
|
21
|
-
<% end -%>
|
6
|
+
<%= link_to "Forgot your password?", new_admin_user_password_path %><br />
|
7
|
+
<% end -%>
|
@@ -3,6 +3,9 @@
|
|
3
3
|
<% translated_field f, :title %>
|
4
4
|
<% translated_field(f, :slug, disabled: true) if f.object.persisted? %>
|
5
5
|
<% translated_field f, :content, as: :wysiwyg %>
|
6
|
+
<%= f.input :template, collection: Cdx.page_available_templates, input_html: { class: %w(select2-simple) } %>
|
7
|
+
|
8
|
+
<%= render partial: 'cdx/admin/shared/seo_form', locals: { f: f } %>
|
6
9
|
</div>
|
7
10
|
|
8
11
|
<div class="box-footer">
|
@@ -1,9 +1,12 @@
|
|
1
1
|
<% if defined?(f) %>
|
2
2
|
<div class="box-body">
|
3
3
|
<%= f.input :acronym %>
|
4
|
-
<%= f.input :default_theme %>
|
4
|
+
<%= f.input :default_theme, collection: Cdx::Setting::AVAILABLE_THEMES, input_html: { class: 'select2-simple theme-selector' }, include_blank: false %>
|
5
5
|
<%= f.input :default_locale, collection: locales_options_tags, input_html: { class: 'select2-simple-search' }, include_hidden: false %>
|
6
6
|
<%= f.input :available_locales, collection: locales_options_tags, input_html: { class: 'select2-multiple', multiple: true }, include_hidden: false %>
|
7
|
+
|
8
|
+
<%= render partial: 'cdx/admin/shared/seo_form', locals: { f: f } %>
|
9
|
+
|
7
10
|
</div>
|
8
11
|
<div class="box-footer">
|
9
12
|
<%= f.button :submit %>
|
@@ -4,10 +4,10 @@
|
|
4
4
|
<%= main_sidebar_menu_simple_item(current_main_tree, :home, :dashboard, admin_root_path, t('admin.main_sidebar.menu.title.dashboard')) %>
|
5
5
|
|
6
6
|
<li class="header"><%= t('admin.main_sidebar.menu.title.contents') %></li>
|
7
|
-
<%= main_sidebar_menu_simple_item(current_main_tree, :users, :user, admin_users_path, t('activerecord.models.cdx/user.other')) %>
|
8
|
-
<%= main_sidebar_menu_simple_item(current_main_tree, :pages, :file, admin_pages_path, t('activerecord.models.cdx/page.other')) %>
|
9
|
-
<%= main_sidebar_menu_simple_item(current_main_tree, [:taxonomies, :taxons], :tags, admin_taxonomies_path, t('activerecord.models.cdx/taxonomy.other')) %>
|
7
|
+
<%= main_sidebar_menu_simple_item(current_main_tree, :users, :user, admin_users_path, t('activerecord.models.cdx/user.other')) if can?(:index, Cdx::User) %>
|
8
|
+
<%= main_sidebar_menu_simple_item(current_main_tree, :pages, :file, admin_pages_path, t('activerecord.models.cdx/page.other')) if can?(:index, Cdx::Page) %>
|
9
|
+
<%= main_sidebar_menu_simple_item(current_main_tree, [:taxonomies, :taxons], :tags, admin_taxonomies_path, t('activerecord.models.cdx/taxonomy.other')) if can?(:index, Cdx::Taxonomy) %>
|
10
10
|
|
11
11
|
<li class="header"><%= t('admin.main_sidebar.menu.title.parameters') %></li>
|
12
|
-
<%= main_sidebar_menu_simple_item(current_main_tree, :sites, :sitemap, admin_sites_path, t('activerecord.models.cdx/site.other')) %>
|
13
|
-
<%= main_sidebar_menu_simple_item(current_main_tree, :settings, :wrench, edit_admin_setting_path, t('activerecord.models.cdx/setting.other')) %>
|
12
|
+
<%= main_sidebar_menu_simple_item(current_main_tree, :sites, :sitemap, admin_sites_path, t('activerecord.models.cdx/site.other')) if can?(:index, Cdx::Site) %>
|
13
|
+
<%= main_sidebar_menu_simple_item(current_main_tree, :settings, :wrench, edit_admin_setting_path, t('activerecord.models.cdx/setting.other')) if can?(:edit, Cdx::Setting) %>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<% if can? :edit, Cdx::Seo %>
|
2
|
+
<div class="panel box box-primary">
|
3
|
+
<div class="box-header">
|
4
|
+
<h4 class="box-title">
|
5
|
+
<%= link_to t('admin.seo'), '#seo_module', data: { toggle: 'collapse' }, class: %w(collapsed), aria: { expended: false } %>
|
6
|
+
</h4>
|
7
|
+
</div>
|
8
|
+
<div id="seo_module" class="panel-collapse collapse" aria-expanded="false" style="height:0px">
|
9
|
+
<div class="box-body">
|
10
|
+
<%= f.fields_for :seo, (f.object.seo ? f.object.seo : f.object.build_seo), wrapper: :horizontal_form do |seo_form| %>
|
11
|
+
<%= seo_form.input :meta_title %>
|
12
|
+
<%= seo_form.input :meta_description, as: :text %>
|
13
|
+
<%= seo_form.input :meta_keywords %>
|
14
|
+
<%= seo_form.input :meta_canonical %>
|
15
|
+
<%= seo_form.input :og_title %>
|
16
|
+
<%= seo_form.input :og_description, as: :text %>
|
17
|
+
<%= seo_form.input :og_keywords %>
|
18
|
+
<%= seo_form.input :og_video %>
|
19
|
+
<%= seo_form.fields_for :og_image, (seo_form.object.og_image ? seo_form.object.og_image : seo_form.object.build_og_image) do |image_form| %>
|
20
|
+
<div class="form-group">
|
21
|
+
<div class="col-sm-2 control-label string optional">
|
22
|
+
<%= image_form.label :og_image, t('activerecord.attributes.cdx/seo.og_image') %>
|
23
|
+
</div>
|
24
|
+
<div class="col-sm-10">
|
25
|
+
<%= render partial: 'cdx/admin/shared/file_input', locals: { f: image_form, multiple: '', style: 'info', attachment: 'attachment' } %>
|
26
|
+
<%= tag.p image_form.object.attachment_file_name %>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
<% end %>
|
30
|
+
<% end %>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
<% end %>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<%= f.input :first_name %>
|
6
6
|
<%= f.input :last_name %>
|
7
7
|
<%= f.input :roles, collection: Cdx::User::AVAILABLE_ROLES, input_html: { class: 'select2-multiple', multiple: true }, include_hidden: false %>
|
8
|
-
<%= f.input :theme if current_admin_user == f.object %>
|
8
|
+
<%= f.input :theme, collection: Cdx::Setting::AVAILABLE_THEMES, input_html: { class: 'select2-simple theme-selector' }, include_blank: false if current_admin_user == f.object %>
|
9
9
|
<hr>
|
10
10
|
<h4><%= t('admin.avatar') %></h4>
|
11
11
|
<%= f.fields_for :avatar do |avatar_form| %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= @object.content %>
|
@@ -1,11 +1,15 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
2
|
<html>
|
3
3
|
<head>
|
4
|
-
<title
|
4
|
+
<title><%= meta_title %></title>
|
5
5
|
<%= stylesheet_link_tag 'cdx/admin', media: 'all' %>
|
6
6
|
<%= javascript_include_tag 'cdx/admin' %>
|
7
7
|
<%= csrf_meta_tags %>
|
8
8
|
|
9
|
+
<%== seo_data_tags %>
|
10
|
+
|
11
|
+
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
12
|
+
|
9
13
|
<%= render partial: 'cdx/admin/shared/head' %>
|
10
14
|
</head>
|
11
15
|
<body id="<%= context_tag %>" class="<%= theme_class %> sidebar-mini">
|
@@ -6,6 +6,10 @@
|
|
6
6
|
<%= javascript_include_tag 'cdx/admin' %>
|
7
7
|
<%= csrf_meta_tags %>
|
8
8
|
|
9
|
+
<%== seo_data_tags %>
|
10
|
+
|
11
|
+
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
12
|
+
|
9
13
|
<%= render partial: 'cdx/admin/shared/head' %>
|
10
14
|
</head>
|
11
15
|
<body id="<%= context_tag %>" class="hold-transition login-page">
|
@@ -4,8 +4,6 @@ Devise.setup do |config|
|
|
4
4
|
|
5
5
|
config.scoped_views = true
|
6
6
|
|
7
|
-
config.router_name = :cdx
|
8
|
-
|
9
7
|
# The secret key used by Devise. Devise uses this key to generate
|
10
8
|
# random tokens. Changing this key will render invalid all existing
|
11
9
|
# confirmation, reset password and unlock tokens in the database.
|
@@ -23,7 +21,7 @@ Devise.setup do |config|
|
|
23
21
|
# config.mailer = 'Devise::Mailer'
|
24
22
|
|
25
23
|
# Configure the parent class responsible to send e-mails.
|
26
|
-
|
24
|
+
config.parent_mailer = 'Cdx::ApplicationMailer'
|
27
25
|
|
28
26
|
# ==> ORM configuration
|
29
27
|
# Load and configure the ORM. Supports :active_record (default) and
|
@@ -250,7 +248,7 @@ Devise.setup do |config|
|
|
250
248
|
# config.navigational_formats = ['*/*', :html]
|
251
249
|
|
252
250
|
# The default HTTP method used to sign out a resource. Default is :delete.
|
253
|
-
config.sign_out_via = :
|
251
|
+
config.sign_out_via = :get
|
254
252
|
|
255
253
|
# ==> OmniAuth
|
256
254
|
# Add a new OmniAuth provider. Check the wiki for more information on setting
|
@@ -274,7 +272,7 @@ Devise.setup do |config|
|
|
274
272
|
# mount MyEngine, at: '/my_engine'
|
275
273
|
#
|
276
274
|
# The router that invoked `devise_for`, in the example above, would be:
|
277
|
-
|
275
|
+
config.router_name = :cdx
|
278
276
|
#
|
279
277
|
# When using OmniAuth, Devise cannot automatically set OmniAuth path,
|
280
278
|
# so you need to do it manually. For the users scope, it would be:
|
@@ -103,9 +103,9 @@ SimpleForm.setup do |config|
|
|
103
103
|
b.use :html5
|
104
104
|
b.optional :readonly
|
105
105
|
|
106
|
-
b.use :label, class: 'col-sm-
|
106
|
+
b.use :label, class: 'col-sm-2 control-label'
|
107
107
|
|
108
|
-
b.wrapper tag: 'div', class: 'col-sm-
|
108
|
+
b.wrapper tag: 'div', class: 'col-sm-10' do |ba|
|
109
109
|
ba.use :input
|
110
110
|
ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
|
111
111
|
ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
|
@@ -4,26 +4,24 @@ en:
|
|
4
4
|
cdx/user:
|
5
5
|
one: User
|
6
6
|
other: Users
|
7
|
-
|
8
7
|
cdx/site:
|
9
8
|
one: Site
|
10
9
|
other: Sites
|
11
|
-
|
12
10
|
cdx/page:
|
13
11
|
one: Page
|
14
12
|
other: Pages
|
15
|
-
|
16
13
|
cdx/taxonomy:
|
17
14
|
one: Taxonomy
|
18
15
|
other: Taxonomies
|
19
|
-
|
20
16
|
cdx/taxon:
|
21
17
|
one: Taxon
|
22
18
|
other: Taxons
|
23
|
-
|
24
19
|
cdx/setting:
|
25
20
|
one: Setting
|
26
21
|
other: Settings
|
22
|
+
cdx/seo:
|
23
|
+
one: Seo
|
24
|
+
other: Seo
|
27
25
|
|
28
26
|
attributes:
|
29
27
|
cdx/user:
|
@@ -33,25 +31,61 @@ en:
|
|
33
31
|
last_name: Last name
|
34
32
|
full_name: Full name
|
35
33
|
theme: Theme
|
36
|
-
|
34
|
+
roles: Roles
|
35
|
+
password_confirmation: Password confirmation
|
37
36
|
cdx/site:
|
38
37
|
name: Name
|
39
38
|
code: Code
|
40
39
|
domain: Domain
|
41
|
-
default
|
42
|
-
|
40
|
+
default: Default ?
|
43
41
|
cdx/page:
|
44
42
|
title: Title
|
45
43
|
content: Page content
|
46
44
|
state: State
|
47
45
|
published_on: Published on
|
48
46
|
slug: Slug
|
49
|
-
|
47
|
+
template: Template
|
50
48
|
cdx/taxonomy:
|
51
49
|
name: Name
|
52
50
|
description: Description
|
53
|
-
|
51
|
+
available_codes: Available codes
|
54
52
|
cdx/taxon:
|
55
53
|
name: Name
|
56
54
|
description: Description
|
57
55
|
parent: Parent
|
56
|
+
cdx/seo:
|
57
|
+
meta_title: Meta title
|
58
|
+
meta_description: Meta description
|
59
|
+
meta_keywords: Meta keywords
|
60
|
+
meta_canonical: Canonical url
|
61
|
+
og_title: OpenGraph title
|
62
|
+
og_description: OpenGraph description
|
63
|
+
og_keywords: OpenGraph keywords
|
64
|
+
og_video: OpenGraph video url
|
65
|
+
og_image: OpenGraph image
|
66
|
+
cdx/setting:
|
67
|
+
acronym: Acronym
|
68
|
+
default_theme: Default theme
|
69
|
+
default_locale: Default locale
|
70
|
+
available_locales: Available locales
|
71
|
+
|
72
|
+
helpers:
|
73
|
+
submit:
|
74
|
+
user:
|
75
|
+
create: Create user
|
76
|
+
update: Update user
|
77
|
+
page:
|
78
|
+
create: Create page
|
79
|
+
update: Update page
|
80
|
+
taxonomy:
|
81
|
+
create: Create taxonomy
|
82
|
+
update: Update taxonomy
|
83
|
+
taxon:
|
84
|
+
create: Create taxon
|
85
|
+
update: Update taxon
|
86
|
+
site:
|
87
|
+
create: Create site
|
88
|
+
update: Update site
|
89
|
+
setting:
|
90
|
+
create: Create setting
|
91
|
+
update: Update setting
|
data/config/locales/en.admin.yml
CHANGED
@@ -1,47 +1,48 @@
|
|
1
1
|
en:
|
2
2
|
admin:
|
3
3
|
generic_states:
|
4
|
-
published:
|
5
|
-
draft:
|
4
|
+
published: Published
|
5
|
+
draft: Draft
|
6
6
|
content_header:
|
7
7
|
page_title:
|
8
|
-
home_index:
|
8
|
+
home_index: Dashboard
|
9
9
|
actions:
|
10
|
-
edit:
|
11
|
-
update:
|
12
|
-
new:
|
13
|
-
create:
|
14
|
-
index:
|
15
|
-
settings:
|
10
|
+
edit: Edit
|
11
|
+
update: Edit
|
12
|
+
new: New
|
13
|
+
create: New
|
14
|
+
index: Index
|
15
|
+
settings: Settings
|
16
16
|
breadcrumb:
|
17
|
-
home_index:
|
17
|
+
home_index: Dashboard
|
18
|
+
|
18
19
|
main_sidebar:
|
19
20
|
menu:
|
20
21
|
title:
|
21
|
-
parameters:
|
22
|
-
contents:
|
23
|
-
dashboard:
|
22
|
+
parameters: Parameters
|
23
|
+
contents: Contents
|
24
|
+
dashboard: Dashboard
|
25
|
+
|
24
26
|
actions:
|
25
|
-
new:
|
26
|
-
return:
|
27
|
-
all:
|
28
|
-
publish:
|
29
|
-
draft:
|
30
|
-
unpublish:
|
31
|
-
upload:
|
32
|
-
general:
|
33
|
-
alert:
|
34
|
-
password:
|
35
|
-
avatar:
|
36
|
-
online:
|
37
|
-
signout:
|
38
|
-
profile:
|
27
|
+
new: New
|
28
|
+
return: Return
|
29
|
+
all: Actions
|
30
|
+
publish: Publish
|
31
|
+
draft: Draft
|
32
|
+
unpublish: Unpublish
|
33
|
+
upload: Upload a file
|
34
|
+
general: General
|
35
|
+
alert: Alert
|
36
|
+
password: Password
|
37
|
+
avatar: Avatar
|
38
|
+
online: Online
|
39
|
+
signout: Sign out
|
40
|
+
profile: Profile
|
39
41
|
custom_validators:
|
40
|
-
must_have_one_default_site:
|
42
|
+
must_have_one_default_site: One default site is required
|
41
43
|
ujs_confirm:
|
42
|
-
delete:
|
43
|
-
default:
|
44
|
-
|
44
|
+
delete: 'Are you sure you want to delete : %{o} ?'
|
45
|
+
default: Are you sure ?
|
45
46
|
flash:
|
46
47
|
default:
|
47
48
|
create:
|
@@ -62,19 +63,23 @@ en:
|
|
62
63
|
|
63
64
|
settings:
|
64
65
|
update:
|
65
|
-
success:
|
66
|
-
error:
|
66
|
+
success: Settings successfully updated
|
67
|
+
error: Settings cannot be created
|
67
68
|
clear_cache:
|
68
|
-
success:
|
69
|
+
success: Cache successfully cleared
|
70
|
+
|
69
71
|
sessions:
|
70
|
-
not_admin:
|
71
|
-
settings:
|
72
|
-
clear_cache: "Clear cache"
|
73
|
-
cache: "Cache"
|
74
|
-
clear_cache_alert: "Clear cache may affect global performances."
|
72
|
+
not_admin: User isn't admin
|
75
73
|
|
74
|
+
settings:
|
75
|
+
clear_cache: Clear cache
|
76
|
+
cache: Cache
|
77
|
+
clear_cache_alert: Clear cache may affect global performances.
|
76
78
|
taxonomies:
|
77
79
|
available_codes:
|
78
80
|
users: Users
|
79
81
|
pages: Pages
|
80
|
-
available_codes_message: If this field is empty, all taxonomisable models are
|
82
|
+
available_codes_message: If this field is empty, all taxonomisable models are
|
83
|
+
considered as availables.
|
84
|
+
|
85
|
+
seo: SEO
|