adeia 0.15.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/app/assets/config/manifest.js +2 -0
- data/app/assets/javascripts/adeia/application.js +1 -1
- data/app/assets/javascripts/adeia/flash.js +11 -5
- data/app/assets/javascripts/adeia/nested_form.js +27 -23
- data/app/assets/stylesheets/adeia/application.css +1 -0
- data/app/controllers/adeia/permissions_controller.rb +1 -1
- data/app/models/adeia/permission.rb +3 -3
- data/app/views/adeia/group_users/_form.html.erb +1 -1
- data/app/views/adeia/permissions/_form.html.erb +6 -2
- data/app/views/layouts/adeia/_flash.html.erb +14 -6
- data/app/views/layouts/adeia/application.html.erb +2 -2
- data/config/initializers/assets.rb +2 -0
- data/db/migrate/20151003144041_create_adeia_elements.rb +1 -1
- data/db/migrate/20151003144208_create_adeia_permissions.rb +1 -1
- data/db/migrate/20151003144650_create_adeia_groups.rb +1 -1
- data/db/migrate/20151003144706_create_adeia_group_users.rb +1 -1
- data/db/migrate/20151003150524_create_adeia_tokens.rb +1 -1
- data/db/migrate/20151003150747_create_adeia_actions.rb +1 -1
- data/db/migrate/20151003150806_create_adeia_action_permissions.rb +1 -1
- data/lib/adeia/authorization.rb +3 -2
- data/lib/adeia/database.rb +10 -2
- data/lib/adeia/engine.rb +1 -1
- data/lib/adeia/version.rb +1 -1
- data/spec/README.md +1 -1
- data/spec/controllers/articles_controller_spec.rb +4 -4
- data/spec/factories.rb +17 -17
- data/spec/spec_helper.rb +4 -4
- data/spec/test_app/app/assets/config/manifest.js +2 -0
- data/spec/test_app/app/views/layouts/application.html.erb +2 -3
- data/spec/test_app/db/development.sqlite3 +0 -0
- data/spec/test_app/db/schema.rb +9 -15
- data/spec/test_app/db/test.sqlite3 +0 -0
- data/spec/test_app/log/development.log +276 -113
- data/spec/test_app/log/test.log +19423 -12055
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/-j/-jiEgj1PPF5gbWGRpC9tdGLzDuhTXz_L0ZX7kFRpHqQ.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{wJ/wJ9n_ktQjYKhtzavz6uuoHaZx0uMKuGlvxUt4Qkh7o8.cache → 1d/1dsLlbjB5CJ_LjchPQ0t6UYPQtDF_GYXY0_6YtQBCRo.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/2_/2_A0MrIPW3lrUjaZNCTLu1Akcwdg3DU2Fd0_jjIGbYE.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{MM/MMNRAQLIFJFNsLyI8wbegUgDG8opmD62Coz0BMN4gHE.cache → 2_/2_DZoqQuRc8Hgemwa4Ahd_ho2pjENDlWFO9mQfu-7Pw.cache} +1 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/3Y/3YSjxvWdmWSov1blaf1Lq0IeZD-3IdlgMyRYwEf7ac0.cache +2 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{G2/G2hoGtZORCf1UsP3K7PY63kUX-3z1HhIeyU7gnvh_3k.cache → 3q/3qZtnmpf-lo5QGF0qOg1CM40P-R4lxj0Y66Y8GAC5Ek.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{a_/a_FXTYblXsxMlbQGhKJDEIkd2SmnAz015eh9oHoE50c.cache → 4g/4gN9mtCS6u5uyxqQwD8gxDkemrsi3NOtlBkl6IEDiLI.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/59/59kSBUVt7z6DgFXaZYUmUaF8cUuP5lZBcAoOuKh9DIg.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{EK/EKZ_CeCeATPRZC9_c9Krttnk0KiAk298lxyZCEKmsU4.cache → 6M/6MEcnHrtKOiBUTGJPvRbQGl3Lq9pN4gd6gsqCKgiOMY.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{Zz/ZzvfT4ca1IERTDoHJpjGaED9EJvxqleMbp7NpQUyGfE.cache → 6Q/6Qd82FgRmJ78Z9-nqlQYlam1JJW5oeO4KLOj7kPvciY.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{DH/DHU1tN0DaGkn4eBNd0WYnI5s-hY4dDUXwjqKoCSETUA.cache → 6Q/6qiSAxZY4f7mjQfzrZhMb4GYXfxfxLdSau-fg0bCmzU.cache} +1 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/6U/6UTZRaXZPo7ZR3AsfJU_KT6kHLC1Wg2075yoFFI46Co.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{9c/9cZUdcjwiXAfg7p4X1Xx_-dowP8l0_FCz9MNHJIy5Zs.cache → 6o/6oswcsvROygIERbhyL3HS7EpehocnqTKl_jx9X7MQf0.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{0g/0grPr_ksMtumrrHg4rzttkdhdWRByCZBkg6YX_QzgJ0.cache → Ae/AEmzO43gcQOOGWTEo0S8wzb05M-TtHfHDGTqPsPesrU.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{-x/-xPmOQbJ0NjxOOXEy7YxNrq4YZ2si8Ljqos3kVfwM7U.cache → Ae/AeNjpuYa3zj7jw_N5gkV9Ta16MjQ9ICVZOTzGYrXiJM.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{MP/MPTjZafCPJ0k_vrk7cu_BFLqYNd8H9Gr-9HvcucF8vk.cache → Ce/CeTW2Tz6RgeG2hf7-uErLmxz3EkjsHTdkzXg3Fi1wsU.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{5Q/5Qab4gwNzeVt2luvJB2OS1wbNsJIk591-wx7MDHBVfU.cache → D9/D9jk295WgtI_pkvzdYaa5tQsPhApob8HNiMDU7raOjs.cache} +1 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Dm/DmmfrCpXtt74Hr6NO54lxyOCDv6klnDyBqeDFR7oDU8.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Ik/IkGcC8fT-7uKeslpXpqPCgLOWwc_tPww2N8ZAdZ50XI.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{j-/j-6mLJf1MSWgIySknuPGr1YMr-K6E9SWcZUY6vuba6w.cache → JV/JVKPOUqwQ9tWe3wZjV4EnluyjuedrH3z_UY3bDBBQSo.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Jx/JxXo2tcDFA6K7KBKyAuJOjd1ns70ASGbB5qYjVLoB74.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Ku/KuCAV-EBouiYD6PVKX0UYYNIleb-QfMw6IvO2lZg0cw.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{sx/sxIjlMfavdbVKEwPRTpwQN1la8x4dFgu7N1FkS1iWzo.cache → L4/L43TzgSSg3pQOxwOobTjMowj7q--ZykjMJfC_C4LBGU.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{5a/5acH7kIXEp2vYYNFGIDTAx-l3Bh7pmXl_8TvLEjjMEs.cache → MF/MFAob4tuSo0uQ_9aQYDzG7GF7JsDr0eOjZwFNtuozC4.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/O4/O4wB-9WJaZ5Rlgfajst9-gTBl3z0usPhAtBxL4Q-SFE.cache +3 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{iC/iC9Miabkq2uOITb0CbjS7dONACohHZC65Xu_7DMOm90.cache → O8/O89HryFkZF1Z2_fme3h6dmHWBnHdLhkQtsW2fVdXR1Q.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{_5/_5Pse2GHcEo4kW9yQiDYMq3_v3Pd_Vzmkvn_ygDq_7c.cache → OZ/OZ8MDbqLY4wFF0OlFw6p3W-QQqyaQlC2nk31LwWpHSI.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{8i/8iRvLcN2fFtdwQho27esh7hjf0UUVasSsXk-IjDO-TA.cache → QN/QN-g5bGJb8kh46dZbz37YzOTNZ0H3aMhLyONb0qu7Jg.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/SO/SO4GzoHMqa0kMKE3-1j6SCRsw2q_HfMPQKKfmP4_5c0.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/T6/T6tiRoqyIXaZkytUlKzipOctwGUxubogU7DJHvltMHQ.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{jO/jOzsPtq7mR0a0FzH3rDA0Fm1JsDvHThqf6jJZh9JMeM.cache → TN/TN5RIxv3eOsUG2BArbTLmk8g63GelzRnKw3F7L3mIkU.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{R4/R4aGRGUeReKtEjbGsprLc1igwOkhiGMQ5WEu_fVtt78.cache → U1/U1JkbW1lehDbKckBsrWnpT_HP9vQYkVtLd-MeISkrz0.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{7M/7M7oOxl-UOKtbI8M7lL6B1jHLwwiVu3R3iXJ2EK-Ywc.cache → UQ/UQIPlzD9E0Ji2FSp39qVQVX5OgEkVPhbkmm168gssXQ.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Wj/WjvqyXVwuGKSXK8PyuL8DD4lP2dRyqa4u_aETcqpAZQ.cache +2 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Xt/Xtuc-XUJQKqOwDcQ-eMU37AiffPJAV1zINc6YWyVtkE.cache +2 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{XE/XEJiHUqaxop42ibrhQZbYiF1h2e0fzz8a45LDxlAeas.cache → Y2/Y2wJoax9YPVNgt2YUK_ere1Gkr15Z0WsisiNwbU6iWQ.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Y3/Y3-yo3ZjzEmtUWyJwzgkuj6yrQwWo_fa6AXiOdyas8o.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Zd/Zdk49tPeD1nW7jOfvtEA2L7WSdCLRyh21XReCSo1LfA.cache +2 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{0h/0heK_vgZ3ORhbt2xzCEN-gqKSzt4hgOc0-fYM_jc69c.cache → ac/ac72wzy3oH2SnXEDa3_TOFPp8s2EyzZZjnMoqNgGLMg.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/bP/bPzU50v1DfO2a2zm4Rkls5kdnEvLwEnD_J-t7YeP4jk.cache +3 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{4G/4GoGGRTINbVeoYMIP3IJCsxpt96ZrtuGUSHT4yw3Byc.cache → bi/bijrA8D3D5GspLvRbMKDBnaIZhRa-53_D0P6YKtSbI0.cache} +1 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/cd/cd1RZoWrCfxrVEsxUElJbVNt72n-93mP_c0eRbPpoms.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{Yf/Yf-0B5QkuZsU011xut1t29opzz_qEa3sicEKhB5hI7c.cache → eA/eAtHO180Q_OwrAOAUfpMAsrPyFF-MOmZe8TexjTDCpE.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/eJ/eJFt2F9aErXkCFP31i6vXYbzHVqujKFc6HatEKCKBEo.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{b_/b_5Xj3k3q7wZdRdpEsYuki_IsiOtURXJNSeH9UhJUQQ.cache → ff/ffGW8tN5s89LeTFBoZLiQurKB3xfNtiLvE-NgK1hfow.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{21/213QxnAYvdYgnjwK-RFgfuP0C1ENBjuOisCny3yf3Ds.cache → h2/h2IaPh9y4iCCX-nvC4eI5z30BryCaTDldL9TNL1kj-I.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{1R/1RSXaFNFPXtbxevPLq9rddiHmtWYsQ-9tgpRdEdEWU0.cache → hV/hVzYRX0iEKx2rQXtyO-C6HhyJXptGugrXwUgulQBrZc.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/hZ/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{Mc/Mc1pmqMyevjQjrkgzlSgoqItuwBkcAeWMNzgtnQCQTY.cache → ia/iaS83en8zYCUE-FPlQD_9p90f1VRE66RJg-59OXb1d0.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{fV/fVkncxlR4aZQddgpDdLp5vn_DvPevWFzpT1FlvQZlMQ.cache → jP/jP8g5iuQw2y8YnDYUKjcH3DBxTiAUD5GLsZ3Xr29d18.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/kT/kT1rBlEvYyzmAqkxjPuEwiWR0vpBJ6-ixaI55UVQmsk.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{xq/xqrUtZv5wvB5sasKsuR5BFbynK9iumktH0dJcdltBLI.cache → lw/lwSqxvAAj1RTe4QShwyzV9J1sq8wwdG4DAPn4eMzuH8.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{O2/O2oO3l-MQho3PQK7YMTjVoWXcBm7AXwue8wpQkSFkNg.cache → oX/oXu2NCsnCnkCUWAgRUT9UazkLSM5W74m8PGdNvGP310.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/o_/o_TnCsaOF483OcFtryOZBO0n2ICjQdOktIcx5-Hj4pc.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/pE/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/qT/qTilMwOjc0EzKZ_-UUqEP5wpUeyUlFrwEhA1EJf_uv8.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/q_/q_hv-X1P5aS2bjJ3cYmDeIn1asEKomoBN5dXLw_gSy8.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/s2/s2jarJbtJahppRADkj_l63fE2Ea82VlR9D3rpn0x8w4.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{GL/GLPzGTTLeOymWiykUaZ6NAuFiKQyJAtBmJo47pO5E0A.cache → sc/sc-jHPQEcSE4uzyAGG1Mzdd7FsfPgt58R7uauy_vkyI.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/tH/tHs1QogtODe6AE9Nr1qQ5ANma33zqXX-YWOJNu_NQw0.cache +2 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/yh/yhs1KEHNWlgQAlqOBBQWxAORD0g62BOACSTSLKeC5KE.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/{1R/1R6gMmqdnnh8f2vSj0dEUVsX5XHOolHRbiFdAUAo-QA.cache → yy/yyWH-L_zBwXL696k42PC9owMwhUhKnLsbnyRF8zJifo.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/17/17Ji1zysIV0QzenVJg2bTQM3byl-5t58mUNbYZrkhGM.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/1H/1HyneLliGLAocm4KVeWzj5tKGWdomYfz7rWloxQlXRc.cache +2 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/3S/3S6PZldZhpcM_6P5jkehVOMAObIqw6X4V96E8TxtXrI.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +2 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/8J/8JOedZF9m0P656fHle8DWmmJffxhiciEo-B9Ta6NyG8.cache +2 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ce/CeTW2Tz6RgeG2hf7-uErLmxz3EkjsHTdkzXg3Fi1wsU.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/DV/DVjeqdOW-W_v2MIcd3abmUAMLCeHYjflCX-MKtsY69Y.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Dm/DmmfrCpXtt74Hr6NO54lxyOCDv6klnDyBqeDFR7oDU8.cache +3 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/Ga/GaHD91faGavVSEA-G3DmnhO86dj1qpa4jMaWa5wYuik.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/J8/J8sYsNeTeOEtCrjQG6MIkRMhzjK0hCeHqRAcKLMRdA4.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/JV/JVKPOUqwQ9tWe3wZjV4EnluyjuedrH3z_UY3bDBBQSo.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/L4/L43TzgSSg3pQOxwOobTjMowj7q--ZykjMJfC_C4LBGU.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +2 -0
- data/spec/test_app/tmp/cache/assets/sprockets/{v3.0/qW/qW4N5COnEFgj6oatNWCCMuMJysZWGO3l5HXmS7lzsCw.cache → v4.0.0/VH/VHuK24wg04T1MJhF_Q_sbT9h4J9TgV2EwwSKlVX3gAc.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/We/WeHv9UitJfw__MSd_icLUSVbJupRX9bulR_sbJY81vw.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/ac/ac72wzy3oH2SnXEDa3_TOFPp8s2EyzZZjnMoqNgGLMg.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/fn/fnArLcbUsmH-hs0ivYjpbsWCveny2dWKz98ANZsvklc.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/{v3.0/9g/9gzj9WRt28JeGrak8lYlmcqttKESOZ9pX38x_xNmNYw.cache → v4.0.0/gP/gP6amosF7TvInNt0I9O8LEhVNA2kCQ7kiQO8vk4ppHE.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/{v3.0/3s/3s2ubOh60EW6GFzHgCNICJbubOXdEc9POlBIImEAgoI.cache → v4.0.0/kF/kFINDgg2Prb3IboJtWY8HcF5gamZVJvtra5H1YvZvBA.cache} +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/mm/mmJkOfX8bMOx2AlGcwUB0Df0dHe2TkypLXAlxTAFIGM.cache +1 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/oc/occ60QAfY0sqlYomqa81jJ_HTYPL28bmOGnVF34j_V0.cache +2 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/py/pyGAJrY1mgvF3JKeIGd7oSFKe34ZIyP04fOnInQI9Pc.cache +2 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v4.0.0/xE/xE7l4Z-MH0frwjsuXagYzccFMXvxR4c9vq_w4Rr3pjw.cache +1 -0
- metadata +276 -297
- data/spec/test_app/app/assets/javascripts/application.js +0 -13
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/-P/-PwnoVPgZIfEUzA1i0UhHHlerwAWZArcYP285at5QKY.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/0_/0_c4gQ96x4tStr84dC2F8DasMHPFfeXJnAUo2SfSpQs.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/0h/0hlsPvcoYLh3gf7747FoDR4AOXz_F-nhekWHQ8ewcVM.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/0u/0u8DYiD7GgEDCvWgdgpgIBAkUL2Io3sEPD30xnj6ovc.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/1a/1aC3MVIALgao5c8Y5_Sy2AbsP_LiQ6POdX8dILu8rU0.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/1o/1oKo6COKwQIMMMZbaMkesf7pFDe3IVzQgfBazv109fs.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/2Y/2YZTB-zHPgKDHhZF2XXpiaBEmcg3ASujlcYUxI5mNHA.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/3Z/3Zttm5XhCEpoT7wlmTbBDAkMbJ3-IvY1vGmbv1LUaRY.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/4P/4PCH25BM1OyR4mbVDQNz6BhEIxpulZF74Yfameurc-g.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/5w/5wXxKwflbcoRhaRZ5nCWnpnrl2RbbC4mHcSfClosM6I.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/6-/6-cWXVmwn7b8hzfYylp8fZ_vfqd0eGksxZqlKOfp1n0.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/7F/7F8UKLbnh4J6h5zPerALERLLiqxubEG6BKD5d0IR7lo.cache +0 -3
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/8a/8aSp2odHFsOC7Xbv0elG458KoKULl2nCvhnIdR4069I.cache +0 -3
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/9s/9s-dum2R86ZzXegxvKnd2rU-rbq9gHm3PmbV_Qqfk8Y.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/9x/9x18v9diqtsF862ref4aqytoQB5DV585XTerA1XxWEQ.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/BT/BT9aVdS1oIydTFx_reocCmwe-MCvaGmdbGu4DIxyDXk.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Ci/CidlTvvi-MPJzGyzWyPzKtyzdImg3YFRT71WTitXpmk.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/EK/EKhUHzk4g5TW5yd5BlsoRrl0D9i7yAuA79FKpAV84Mo.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/FI/FI9wzbr-m_52_shj8n3renDMwoklBgaSn8fyLa2jZ4w.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/HW/HWs4pTTaJdh5tRyjwH-51slX_hV5WXmwR0v0uGLhWms.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Hk/HkIa2l415ZwDGD_hwG3HlYAVo7erUmwZfczJtxCr6OQ.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Iy/IykX6ucgHtRsb58RKT3cl_B6vAjU8MuI3si_M5kpqBc.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/M8/M8PRYc-U37UYazwUyFDSTKHLOabf9NNAmHBUbLk9hkM.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/MN/MN7-qQoTra5YA8TQ6eCmj8e2Q5JHskogkCjGl047bK0.cache +0 -2
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/OQ/OQZqZfteDyAJeDxmQkHsxX2X7oSSzGgwUUZrVgXv0ik.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/P2/P2IUISqKMUGUYb_iyMz6q0h3kXAwKxlimUpN7eoxOZI.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/R5/R5K7ZwuVEpj2Op97NfLRvPoptJklXXgXJITSRvE4uEM.cache +0 -3
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/SS/SS5viL-oUGG_zQiiu7RDzLwK4f083ItBFmkYInh0sMI.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/TF/TFDMH5kNNHhhk-tPvg2s9Lzm0HJ-Ci-ClJnh6sML_Ww.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/UZ/UZymea-LQVFhgTULttbOmvZbOMpEBzpmDmwM5oUe-JI.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/VC/VCXR2Zw7QD60KrkvPgBwgVVjyT-Hp4e8MvuwYroEEJs.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/WA/WAuP0Oymn_Znv5ZIMRIjurlIWbzJaEBTaHzgDg-GGnE.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/WI/WID3jSshPvMN2zzemnYfE9s2Jrt2f2XRFZSNSX-9k7E.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Wr/WrZFzMXf_dj9Z58d4DNL8_1MRK3Hui_fA821vHMG90Q.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Z2/Z24BktP58xkwOEAAoU357X0PZw3xijWHCE-3eQRpan8.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/ZE/ZEjXvKodbmrduBbJ64yPMKc9dbDCHIAyYGvmL9EMu-I.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/_a/_aeE9UCfhMFMyojfFl0ITfyoHzh2B71G8WIt6eaJCuo.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/_e/_epoDOer1mNXwX7NFV3_vyYJpm0Aqyjjm2G7Ozm7mSk.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/aN/aNFmd9lVu-wejiqk7lgLVHYD1T44RjPva9NjV8z3mo4.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/ad/adYOcoqkRHfVONMmrx1DPjmWqsiiki60KKjQ9a61ttQ.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/bJ/bJb89h1Q58W756426js9hwhThg6ty2Ms_OyXTQbJwWU.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/bX/bXjYE3MolA7lTFHHMrcPe7fgYd_PRuJskGDvggX1BNc.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/bZ/bZEXa53aaC_q_BJk46l2QmjAZajucGRRi_lOpwIW_sM.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/c0/c0a9H4F8n0xKJvJpGhH60cUDGglsNx5MFivWZ_KP8KY.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/cg/cgIpRQLnau60cHNlRj0y1vgiRpmI37z9zpb1ooeLRbg.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/g9/g96HUY0LJb3_RCGO09tosJRyeyV7ch85sNCOToK-KkY.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/gT/gT8gAf4etKrlCUcGg1R3zpXtQVd0_4AIZrOXhMa7Ej4.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/gc/gcMZQfoFjgm9FCDdcWgJsT-jswwmfKak1TL12k7rFm0.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/hg/hgsUUxUMFm0BFvl45gOH1OEZLlgz04ki68iLbpVnRRA.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/iP/iPWMmdoB44FbOhqQDiXao-zB1DtJRKE6XAqJ_gltP4E.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/l1/l171-bHBNKF4K420g9my0Q6P7MhqLaBfZFLGfsXqF9k.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/l8/l8wKhjy01GGc9ZdDRQXn61PTPHcp8jR1VngKXxRAboA.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/nN/nNfPsdatQavm_2QEqsL0wEFZfnTaf7Up5p_-HvOvN1I.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/oD/oD8TIT96W7pPuhPoMBF70HtLrsNiPYlbqQasPBnjSbs.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/qJ/qJrMyQzZ7Zqrl2Z7-_kNkMxGvZUaJs-Z2brltHOqp0k.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/qW/QW1iXYWT2qlhLSbCZkO5gnTZcyqaTOEEFAcyVkf1GLo.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/qk/qkoe3UlTyGITOz4mVPDJSI240Dg4EZwwGtvosQ4N7G4.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/rX/rXNo2b4U9llnAX9oRSOg_pEbM4wKWYPw2yr8EfvoVOk.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/u2/u247Pf6I-tvIlB340ww_Sj4shmsw6asjpAOrkmj2MtE.cache +0 -0
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/u7/u7MRveaOtAWI2uHCVm-BXxOxWN2jBdEBiMwT6IixTt0.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/uS/uSyNK-hHhdMpHNLlgoF8mMgmuUcl2kU6Ynjwqbo-IUU.cache +0 -2
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/v0/v0dr0Ls7_icYtL9HXfpah77VL0Ao52i8PytWwjyf21Q.cache +0 -1
- data/spec/test_app/tmp/cache/assets/sprockets/v3.0/xh/xhQdBrDmBUB-zMIslwp9qFFRvU4ji76iqfzwdYICCBM.cache +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: fc3818ab4c31e2b816d9e922c0b4c31790052c4afbe853164e4cefafed00421b
|
4
|
+
data.tar.gz: 17aa1f60f15b7712591da8c01fe6a57b4a0967c5483cdae86aad10d621f92886
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6980f26f072c7925947c45c1c0aed945a344a2c198a0682f5c6d442299f6e6fc8cbf3fc28d4341a82b53a79e64f61d35443d775eed1e9750d25cf4d2d1ec199
|
7
|
+
data.tar.gz: 134eb7cd2ad22cec00948a11b3995d599b2736f77bd841624a803c4814015b9038aaa8abb3b28bbb6b2341b8d9877e2017373dbded30d5e7cfdab4f2ed907168
|
@@ -1,5 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
document.addEventListener("DOMContentLoaded", (e) => {
|
2
|
+
|
3
|
+
const flash = document.querySelector("#flash")
|
4
|
+
|
5
|
+
if (flash != null) {
|
6
|
+
document.querySelector("#flash .close").addEventListener("click", () => {
|
7
|
+
flash.remove()
|
8
|
+
});
|
9
|
+
}
|
10
|
+
|
11
|
+
});
|
@@ -1,26 +1,30 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
newFields.show();
|
1
|
+
const addButton = document.querySelector(".add-fields")
|
2
|
+
addButton.addEventListener("click", (e) => {
|
3
|
+
e.preventDefault();
|
4
|
+
let count = Number(e.target.dataset.count) + 1;
|
5
|
+
const type = e.target.dataset.type;
|
6
|
+
const lastFields = document.querySelectorAll("." + type + "-fields");
|
7
|
+
const lastField = lastFields[lastFields.length - 1]
|
8
|
+
const newFields = lastField.cloneNode(true);
|
9
|
+
const label = newFields.querySelector("label");
|
10
|
+
label.setAttribute("for", label.getAttribute("for").replace(/\d/, count));
|
11
|
+
newFields.querySelectorAll("input, select").forEach(element => {
|
12
|
+
element.setAttribute("name", element.getAttribute("name").replace(/\d/, count));
|
13
|
+
element.setAttribute("id", element.getAttribute("id").replace(/\d/, count));
|
14
|
+
element.value = ""
|
16
15
|
});
|
16
|
+
lastField.after(newFields);
|
17
|
+
newFields.style.display = "block";
|
18
|
+
e.target.dataset.count = Number(count) + 1;
|
19
|
+
})
|
17
20
|
|
18
|
-
|
21
|
+
const fieldsFor = document.querySelector(".fields-for");
|
22
|
+
fieldsFor.addEventListener("click", (e) => {
|
23
|
+
if (e.target.classList.contains("remove-fields")) {
|
19
24
|
e.preventDefault();
|
20
|
-
|
21
|
-
|
22
|
-
fields.
|
23
|
-
fields.
|
24
|
-
}
|
25
|
-
|
26
|
-
});
|
25
|
+
const type = e.target.dataset.type;
|
26
|
+
const fields = e.target.closest("." + type + "-fields");
|
27
|
+
fields.querySelector("input[identifier=destroy]").value = 1
|
28
|
+
fields.style.display = "none";
|
29
|
+
}
|
30
|
+
})
|
@@ -41,7 +41,7 @@ module Adeia
|
|
41
41
|
private
|
42
42
|
|
43
43
|
def permission_params
|
44
|
-
params.require(:permission).permit(:permission_type, :adeia_element_id, :global_owner, :read_right, :create_right, :update_right, :destroy_right, :resource_id, actions_attributes: [:name])
|
44
|
+
params.require(:permission).permit(:permission_type, :adeia_element_id, :global_owner, :read_right, :create_right, :update_right, :destroy_right, :resource_id, actions_attributes: [:id, :name, :_destroy])
|
45
45
|
end
|
46
46
|
|
47
47
|
end
|
@@ -24,7 +24,7 @@ class Adeia::Permission < ActiveRecord::Base
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def autosave_associated_records_for_actions
|
27
|
-
self.actions = actions.reject{ |a| a.
|
27
|
+
self.actions = actions.reject{ |a| a.marked_for_destruction? }.map do |action|
|
28
28
|
Adeia::Action.find_or_create_by(name: action.name)
|
29
29
|
end
|
30
30
|
end
|
@@ -77,8 +77,8 @@ class Adeia::Permission < ActiveRecord::Base
|
|
77
77
|
end
|
78
78
|
|
79
79
|
def presence_of_a_right
|
80
|
-
unless read_right || update_right || destroy_right || actions.any?
|
81
|
-
errors
|
80
|
+
unless read_right || create_right || update_right || destroy_right || actions.any?
|
81
|
+
errors.add(:base, I18n.t("errors.messages.right_required"))
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<%= render 'error_messages', object: f.object %>
|
4
4
|
|
5
5
|
<%= f.label :user_id %>
|
6
|
-
<%= f.collection_select :user_id, User.all, :id, :
|
6
|
+
<%= f.collection_select :user_id, User.all, :id, :email %>
|
7
7
|
|
8
8
|
<%= f.label :adeia_group_id %>
|
9
9
|
<%= f.collection_select :adeia_group_id, Adeia::Group.all, :id, :name %>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
<%= f.label :permission_type %>
|
6
6
|
<%= f.select :permission_type, options_for_enum(@permission, :permission_type) %>
|
7
|
-
|
7
|
+
|
8
8
|
<%= f.label :adeia_element_id %>
|
9
9
|
<%= f.collection_select :adeia_element_id, Adeia::Element.all, :id, :name %>
|
10
10
|
|
@@ -32,6 +32,8 @@
|
|
32
32
|
<%= action_f.label :name %>
|
33
33
|
<%= action_f.text_field :name %>
|
34
34
|
|
35
|
+
<%= action_f.hidden_field :_destroy, identifier: "destroy" %>
|
36
|
+
|
35
37
|
<button class="remove-fields" data-type="actions"><%= t "adeia.permissions.form.actions.destroy" %></button>
|
36
38
|
</div>
|
37
39
|
|
@@ -44,4 +46,6 @@
|
|
44
46
|
|
45
47
|
<%= f.submit %>
|
46
48
|
|
47
|
-
<% end %>
|
49
|
+
<% end %>
|
50
|
+
|
51
|
+
<%= javascript_include_tag "adeia/nested_form.js" %>
|
@@ -1,8 +1,16 @@
|
|
1
1
|
<% if flash.any? %>
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
<div id="flash">
|
3
|
+
<% flash.each do |key, value| %>
|
4
|
+
<div class="flash-<%= key %>">
|
5
|
+
<div class="wrapper">
|
6
|
+
<span class="flash-content"><%= value.html_safe %></span>
|
7
|
+
|
8
|
+
<svg classs="close" width="100%" height="100%" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.5;">
|
9
|
+
<path d="M0,100L100,0"/>
|
10
|
+
<path d="M0,0L100,100"/>
|
11
|
+
</svg>
|
12
|
+
</div>
|
13
|
+
</div>
|
6
14
|
<% end %>
|
7
|
-
|
8
|
-
<% end %>
|
15
|
+
</div>
|
16
|
+
<% end %>
|
@@ -2,8 +2,8 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<title>Adeia</title>
|
5
|
-
<%= stylesheet_link_tag
|
6
|
-
<%= javascript_include_tag 'adeia/application'
|
5
|
+
<%= stylesheet_link_tag 'adeia/application', media: 'all' %>
|
6
|
+
<%= javascript_include_tag 'adeia/application' %>
|
7
7
|
<%= csrf_meta_tags %>
|
8
8
|
</head>
|
9
9
|
<body>
|
data/lib/adeia/authorization.rb
CHANGED
data/lib/adeia/database.rb
CHANGED
@@ -51,11 +51,19 @@ module Adeia
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def user_groups
|
54
|
-
@user_groups
|
54
|
+
if @user_groups.nil?
|
55
|
+
@user_groups = []
|
56
|
+
@user_groups = Adeia::Group.joins(:group_users).where(adeia_group_users: { user_id: @user.id }).to_a if @user
|
57
|
+
end
|
58
|
+
return @user_groups
|
55
59
|
end
|
56
60
|
|
57
61
|
def owners
|
58
|
-
@owners
|
62
|
+
if @owners.nil?
|
63
|
+
@owners = user_groups
|
64
|
+
@owners = user_groups.push @user if @user
|
65
|
+
end
|
66
|
+
return @owners
|
59
67
|
end
|
60
68
|
|
61
69
|
end
|
data/lib/adeia/engine.rb
CHANGED
data/lib/adeia/version.rb
CHANGED
data/spec/README.md
CHANGED
@@ -14,7 +14,7 @@ describe ArticlesController, :type => :controller do
|
|
14
14
|
|
15
15
|
it "responds successfully" do
|
16
16
|
get :index
|
17
|
-
expect(response).to
|
17
|
+
expect(response).to have_http_status(:success)
|
18
18
|
end
|
19
19
|
|
20
20
|
it "loads the records" do
|
@@ -82,7 +82,7 @@ describe ArticlesController, :type => :controller do
|
|
82
82
|
|
83
83
|
it "responds successfully" do
|
84
84
|
get :show, params: { id: @article.id }
|
85
|
-
expect(response).to
|
85
|
+
expect(response).to have_http_status(:success)
|
86
86
|
end
|
87
87
|
|
88
88
|
it "loads the record" do
|
@@ -97,7 +97,7 @@ describe ArticlesController, :type => :controller do
|
|
97
97
|
|
98
98
|
it "responds successfully" do
|
99
99
|
get :new
|
100
|
-
expect(response).to
|
100
|
+
expect(response).to have_http_status(:success)
|
101
101
|
end
|
102
102
|
|
103
103
|
end
|
@@ -110,7 +110,7 @@ describe ArticlesController, :type => :controller do
|
|
110
110
|
|
111
111
|
it "responds successfully" do
|
112
112
|
get :edit, params: { id: @article.id }
|
113
|
-
expect(response).to
|
113
|
+
expect(response).to have_http_status(:success)
|
114
114
|
end
|
115
115
|
|
116
116
|
it "loads the record" do
|
data/spec/factories.rb
CHANGED
@@ -1,33 +1,33 @@
|
|
1
|
-
|
1
|
+
FactoryBot.define do
|
2
2
|
|
3
3
|
factory :token, class: "Adeia::Token" do
|
4
4
|
token { SecureRandom.urlsafe_base64 }
|
5
|
-
is_valid true
|
5
|
+
is_valid { true }
|
6
6
|
exp_at { 1.month.from_now }
|
7
7
|
end
|
8
8
|
|
9
9
|
factory :permission, class: "Adeia::Permission" do
|
10
10
|
transient do
|
11
|
-
element_name 'admin/articles'
|
12
|
-
group_name
|
13
|
-
type_name 'all_entries'
|
14
|
-
action 'share'
|
11
|
+
element_name { 'admin/articles' }
|
12
|
+
group_name { 'admin' }
|
13
|
+
type_name { 'all_entries' }
|
14
|
+
action { 'share' }
|
15
15
|
end
|
16
16
|
element { Adeia::Element.find_or_create_by(name: element_name) }
|
17
17
|
owner { Adeia::Group.find_by_name(group_name) || create(:group, name: group_name) }
|
18
18
|
|
19
19
|
permission_type { Adeia::Permission.permission_types[type_name] }
|
20
20
|
|
21
|
-
resource_id nil
|
22
|
-
read_right false
|
23
|
-
create_right false
|
24
|
-
update_right false
|
25
|
-
destroy_right false
|
21
|
+
resource_id { nil }
|
22
|
+
read_right { false }
|
23
|
+
create_right { false }
|
24
|
+
update_right { false }
|
25
|
+
destroy_right { false }
|
26
26
|
actions {[ Adeia::Action.find_or_create_by(name: action) ]}
|
27
27
|
end
|
28
28
|
|
29
29
|
factory :group, class: "Adeia::Group" do
|
30
|
-
name "admin"
|
30
|
+
name { "admin" }
|
31
31
|
end
|
32
32
|
|
33
33
|
factory :user_group, class: "Adeia::GroupUser" do
|
@@ -38,14 +38,14 @@ FactoryGirl.define do
|
|
38
38
|
### Test App factories
|
39
39
|
|
40
40
|
factory :user do
|
41
|
-
name "admin"
|
42
|
-
password "12341"
|
43
|
-
password_confirmation "12341"
|
41
|
+
name { "admin" }
|
42
|
+
password { "12341" }
|
43
|
+
password_confirmation { "12341" }
|
44
44
|
end
|
45
45
|
|
46
46
|
factory :article do
|
47
|
-
title "Des ours meurt chaque année"
|
48
|
-
content "Chaque année, plus de 1000 ourse blancs meurt"
|
47
|
+
title { "Des ours meurt chaque année" }
|
48
|
+
content { "Chaque année, plus de 1000 ourse blancs meurt" }
|
49
49
|
user { User.find_by_name("editor") || create(:user, name: "editor") }
|
50
50
|
end
|
51
51
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
require '
|
1
|
+
require 'factory_bot_rails'
|
2
2
|
require 'capybara/rspec'
|
3
3
|
require 'rspec/active_model/mocks'
|
4
4
|
require 'rails-controller-testing'
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
FactoryBot.definition_file_paths = [ File.join(File.dirname(__FILE__), '../spec/factories') ]
|
7
|
+
FactoryBot.find_definitions
|
8
8
|
|
9
9
|
RSpec.configure do |config|
|
10
10
|
|
@@ -16,6 +16,6 @@ RSpec.configure do |config|
|
|
16
16
|
mocks.verify_partial_doubles = true
|
17
17
|
end
|
18
18
|
|
19
|
-
config.include
|
19
|
+
config.include FactoryBot::Syntax::Methods
|
20
20
|
|
21
21
|
end
|
@@ -1,9 +1,8 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
2
|
<html>
|
3
3
|
<head>
|
4
|
-
<title>
|
5
|
-
<%= stylesheet_link_tag
|
6
|
-
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
|
4
|
+
<title>Test App</title>
|
5
|
+
<%= stylesheet_link_tag 'application', media: 'all' %>
|
7
6
|
<%= csrf_meta_tags %>
|
8
7
|
</head>
|
9
8
|
<body>
|
Binary file
|
data/spec/test_app/db/schema.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: UTF-8
|
2
1
|
# This file is auto-generated from the current state of the database. Instead
|
3
2
|
# of editing this file, please use the migrations feature of Active Record to
|
4
3
|
# incrementally modify your database, and then regenerate this schema definition.
|
@@ -18,11 +17,10 @@ ActiveRecord::Schema.define(version: 20151012185726) do
|
|
18
17
|
t.integer "adeia_permission_id"
|
19
18
|
t.datetime "created_at", null: false
|
20
19
|
t.datetime "updated_at", null: false
|
20
|
+
t.index ["adeia_action_id"], name: "index_adeia_action_permissions_on_adeia_action_id"
|
21
|
+
t.index ["adeia_permission_id"], name: "index_adeia_action_permissions_on_adeia_permission_id"
|
21
22
|
end
|
22
23
|
|
23
|
-
add_index "adeia_action_permissions", ["adeia_action_id"], name: "index_adeia_action_permissions_on_adeia_action_id"
|
24
|
-
add_index "adeia_action_permissions", ["adeia_permission_id"], name: "index_adeia_action_permissions_on_adeia_permission_id"
|
25
|
-
|
26
24
|
create_table "adeia_actions", force: :cascade do |t|
|
27
25
|
t.string "name"
|
28
26
|
t.datetime "created_at", null: false
|
@@ -40,11 +38,10 @@ ActiveRecord::Schema.define(version: 20151012185726) do
|
|
40
38
|
t.integer "user_id"
|
41
39
|
t.datetime "created_at", null: false
|
42
40
|
t.datetime "updated_at", null: false
|
41
|
+
t.index ["adeia_group_id"], name: "index_adeia_group_users_on_adeia_group_id"
|
42
|
+
t.index ["user_id"], name: "index_adeia_group_users_on_user_id"
|
43
43
|
end
|
44
44
|
|
45
|
-
add_index "adeia_group_users", ["adeia_group_id"], name: "index_adeia_group_users_on_adeia_group_id"
|
46
|
-
add_index "adeia_group_users", ["user_id"], name: "index_adeia_group_users_on_user_id"
|
47
|
-
|
48
45
|
create_table "adeia_groups", force: :cascade do |t|
|
49
46
|
t.string "name"
|
50
47
|
t.datetime "created_at", null: false
|
@@ -52,8 +49,8 @@ ActiveRecord::Schema.define(version: 20151012185726) do
|
|
52
49
|
end
|
53
50
|
|
54
51
|
create_table "adeia_permissions", force: :cascade do |t|
|
55
|
-
t.integer "owner_id"
|
56
52
|
t.string "owner_type"
|
53
|
+
t.integer "owner_id"
|
57
54
|
t.integer "adeia_element_id"
|
58
55
|
t.integer "permission_type"
|
59
56
|
t.boolean "read_right", default: false
|
@@ -63,11 +60,10 @@ ActiveRecord::Schema.define(version: 20151012185726) do
|
|
63
60
|
t.integer "resource_id"
|
64
61
|
t.datetime "created_at", null: false
|
65
62
|
t.datetime "updated_at", null: false
|
63
|
+
t.index ["adeia_element_id"], name: "index_adeia_permissions_on_adeia_element_id"
|
64
|
+
t.index ["owner_type", "owner_id"], name: "index_adeia_permissions_on_owner_type_and_owner_id"
|
66
65
|
end
|
67
66
|
|
68
|
-
add_index "adeia_permissions", ["adeia_element_id"], name: "index_adeia_permissions_on_adeia_element_id"
|
69
|
-
add_index "adeia_permissions", ["owner_type", "owner_id"], name: "index_adeia_permissions_on_owner_type_and_owner_id"
|
70
|
-
|
71
67
|
create_table "adeia_tokens", force: :cascade do |t|
|
72
68
|
t.string "token"
|
73
69
|
t.boolean "is_valid"
|
@@ -75,20 +71,18 @@ ActiveRecord::Schema.define(version: 20151012185726) do
|
|
75
71
|
t.date "exp_at"
|
76
72
|
t.datetime "created_at", null: false
|
77
73
|
t.datetime "updated_at", null: false
|
74
|
+
t.index ["adeia_permission_id"], name: "index_adeia_tokens_on_adeia_permission_id"
|
78
75
|
end
|
79
76
|
|
80
|
-
add_index "adeia_tokens", ["adeia_permission_id"], name: "index_adeia_tokens_on_adeia_permission_id"
|
81
|
-
|
82
77
|
create_table "articles", force: :cascade do |t|
|
83
78
|
t.string "title"
|
84
79
|
t.text "content"
|
85
80
|
t.integer "user_id"
|
86
81
|
t.datetime "created_at", null: false
|
87
82
|
t.datetime "updated_at", null: false
|
83
|
+
t.index ["user_id"], name: "index_articles_on_user_id"
|
88
84
|
end
|
89
85
|
|
90
|
-
add_index "articles", ["user_id"], name: "index_articles_on_user_id"
|
91
|
-
|
92
86
|
create_table "users", force: :cascade do |t|
|
93
87
|
t.string "name"
|
94
88
|
t.string "password_digest"
|
Binary file
|