adherent 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/adherent/icones/csv.png +0 -0
- data/app/assets/images/adherent/icones/xls.png +0 -0
- data/app/controllers/adherent/application_controller.rb +8 -0
- data/app/controllers/adherent/members_controller.rb +12 -6
- data/app/models/adherent/adhesion.rb +10 -4
- data/app/models/adherent/member.rb +42 -2
- data/app/models/adherent/query_member.rb +113 -0
- data/app/views/adherent/adhesions/_form.html.haml +2 -2
- data/app/views/adherent/members/index.html.erb +14 -13
- data/config/initializers/mime_types.rb +8 -0
- data/db/migrate/20150412145132_create_query_member.rb +23 -0
- data/lib/adherent/version.rb +2 -1
- data/spec/controllers/adherent/members_controller_spec.rb +10 -6
- data/spec/dummy/db/migrate/20150412145762_create_query_member.adherent.rb +24 -0
- data/spec/dummy/log/development.log +16529 -0
- data/spec/dummy/log/test.log +45516 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/002047c2c82601407c25cd51a2209152 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0021d97c1da8e39cdc31432611dc1f83 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0252818b90e0c222ecc1754584406b6f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/03f10562155446429bb36992a0b92e3a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/04414052cc366a532ec99b91c871a03c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/057faeb3fad4dc36d3d7d0b8bb04325a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/066963b3708be15003c276f90b04f410 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/06871d5f41af82a912f6b1e16c95cf75 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/068777b2f603edfa99533430e8c51dd8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0701319e027b68d87b4d5727aa571973 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/08e67f9b24a565ccbd1124ef05e6a592 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0919a8182dea7bbb570c08e2c307f288 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/094b8456cb72b33ae87dae0ba7ddb898 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0a532f90b225ce9ac8c6bd7ae842e06b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0b4b5b1534650859b3c22081213b8978 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0c0801c7f4f10878de603bf2505ddfa3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0c418a7e3c6101ef6e3c008f3e550abe +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0cf09b6bd4058afb7797d332f36bdd68 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0d14e869566ca526fbdbbbc488475003 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0ea4d583ba95e0c1eb3b926932571034 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0ec565b2aab8a3ae9211952ed56f1a70 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0f4534d531ba963bc5bfe31fe1e440e0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1011f3c7821f361a9526ffc199c64af3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/105f9ba3d5f2207f03e5a96732f61aa9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/10c2b2e71e26d6656bebe9a27a770898 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/13131cc9d523e2676ed7beb2e5148049 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/16a23b3b08e7cfe26acd23f26ae54248 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/180048c037c7224ef7601fc6875d3a43 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/18c9906bc5a7358693929c8c08d65545 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1bf0946089435ce76a87bd41668373c2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1c1912cbfad76668e9cba7920057a20f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1c238542b2e90ad68e363ab1d4a8cfc9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1c618f3d751d9ae8fa4c9ea3551fb1f9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1e644a2769d2dd110598326a14417284 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1e744ce18e3322ef8a3644715da7159b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1f9079cfa7c961c037ecd0e2250043c6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/20a218b05c2726d14bd025c36ba31ddd +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/224cf987cad00c39ae3d39b971f8109b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/22948c5cb4a59a4c252888f75cdf387a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/22a52b924d1607de75741cca2b5b4100 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/22e866ad99949e0e85383cb83ec9a880 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2329760cfd987dc40312a49d2c974211 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/235f16eedc53801f4154c4204024a496 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/24383c007af706866f9a978498308d01 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/26f53f256948ecabba69abf1e1dea282 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/274db0da960cfce46e72ed7649491db9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2ac463f684368c0dd093fe7d5bc567bc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2bbf2acccb92437db752f36b9cb9cd62 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2c60d0f2e80cc940437007413465285a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2dbcdc03180b29fc99d1659f39b78cc1 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2e294fd6c56a0466193ed135f54eb355 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/32aa9ce8b2315cc01f8a2c27374215ce +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/332a13206d3e2013aaed55e54759f872 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/33541bbe0a7710d9f0fc192b296c73f2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/34a4093120a5fc0daec9697570a14cac +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/35ef41173b6f56b97a04b40f0fc1b293 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/35fd8eed029678a1500c62cd3221b49f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3704d7891001f9591df9c70f00b8828b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/372593a50247de2c5858f1202b500916 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/379a386413dbf1e4401f7254b4aefbba +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3902c2d919f5f30ddf1b8401aa626507 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/39657549f1ee3a7107d451261ffb466d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/39bf03b4ccf51b4eafd3fa520c741ede +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3bd0f73e61519054c0590a021cc460e3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3c7ac679f8c2cf31dec4ed6ee8064ece +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3d39a82b50748df339cc29d1cb995ecc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3de477330a6f0c70bbf58e0efd9a66af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3def97f4406db752008fa340f74a6e3f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3f2a439772fcd9cd0f434f723837ae51 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/40c0faa33270d368c95cfa1e5e797330 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/42b486109907c85c344e3428f5615140 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/43201002f6033898fe6ebf4b42863988 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4403ce85c7fe84fe60d426553aa99b1f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/44fcfb6a84307ca96ceecf36e31f24fa +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/45b24d3af92162c80de74b80c72716b9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/45fd3019e156ddaed79f09cb426c74e0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/46b306efbef22611d63b16f70b1dfb92 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/46cbfefc229778c4d546821f3dc866f4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/47a80d133284fdf4f9f0c0ac4a1ac041 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/494f833c3bd29eaea447d16b5d6682e2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/49b5803aaa253c1ffa5214311973e684 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4af17d268e2ffe72af8a78b78811f666 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4ddf15b55b63cc061b47598887250483 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4e10005d181aab6cecebcddc92c6bddc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4f67efffc5aea8afd7ea072c6ba8712f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/510692add38624ac80a87b191683d62f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/520aebfb52aa75e3e8a9ba57b9b713a6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/52e940c5c1d8089bcdf984d4d27c5520 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/536c10ae35b4049d46807a1bb3c0d960 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/53e9dbf9ed4c2b1ff0c2a9cfc55ad6ed +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/555693fc60a32a02e49777fdf902626e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/56f179a54ca866ae04070c6ebfba4ca7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5768e2da329c68c958acde5d26124de0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/57e8e5954196bd14468ff5db3ae99cd0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/586ce8fe4b79a57617fc2fb5b0a61dfe +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5a27a4c25ec209ba7816b8aca6322697 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5ab7f24aa3e6b2b56afab2d03e43c8b9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5e053ce9ffcaf22837f5f8f89746cfc7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5f7982cadcc1a33cc745cd505fd2f21e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/620a73df9fe64ee474ff0455ab7ec4e6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/633c100575d535c778661ba0f1410f51 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/63a72244bdf73521f399e501b341d16d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6425806ac0cdde2e39de3acf01fc3baf +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/65718e7a65fd89199b02b7cd38b90be9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/65d0b957c5865a5aa520b0cb26fce3fa +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/662e0c617259b839657d51e2c0ba6c4f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/68a257f9d184b44971cbe05b3a018b79 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/69a78967e103c4b02122552a2f3b9d11 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/69f23513c7a86a829d1973fbdb21405b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6a27917dfb0d4a194b15c7fe33e8a2fe +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6b4a271890f37338b02a9febc97c3daf +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6cb768545ee34f1d849ccf3caf520913 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6df973778134c66fb80ebe9bc7f55527 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6f5d5de4baa6cda62a63b63743ff33e2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/707d14985ad94cdf9b5480953a10faf5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/70a81f9703f996ceb7861f31043fa772 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7191d39b2ec3b192c2f1c94eb2a71d46 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7566b213016e5bc90381985bbae7e445 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/75df7dd0ef873271ce1062a2d14b45f1 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/76688686fe11abed207295bdab7dbb1e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7936710203d4d28155f744eb687dc125 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7baa2e01021ef9bd8204236fee88d289 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7baa8d092b9d409d47643521a8b55e62 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7c297bdb92e1b06ff2d288b928c49ff9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7d7522df5cd3ba1f22c81c653dd5d651 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7ee425f20d4d2577e8d2a67745c87d9a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/802a3029fda33c1c24a1bb256347bc6f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/814ed84cf825b66e8a93afa3046115cd +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8259f3fc885403b4eea8dd12964c2ffc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/828a391376a8e4e0cb3ed1f676ec060a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/83ce7d021f07063451a06f6d60175f8a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/850d92cf676cc2c2c662ee8dc328f82c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/854e57b12b9e199bf99ee1e6b4140cb0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/863379807bfb3c1d38ad4ad41f283101 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/88b3b9628f940ef50703d36ff435c67c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/88cb6c31c0ef95f134773c1d49072412 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8969cef7fbf7b14282b11c62b32919c0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8a7a27749f2f76175627ed4084e5ae1b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8c382a2a9aab338b046cc3fe6d47f435 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8c5ffb42727c5fc7794ac3c608b17c2e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8d46886219801353094d82d2e0b36f73 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8ea4f850c201e8912b42b4bc3e997211 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8fec68cfa10ef4643a92927e94d7a88c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/90fc5652fe6161075680fcd4cd0c45d2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9128c86b1a4a983b1e3cc44b2ab4a1c0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9157a652853bd3cea861bd767fed0b08 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/925684e5a9f1e78f793a879d3702e730 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/93aa3074f1cd1a511a73c50254d6673b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/942ea398c220dfe3c4b4aab028e0bb02 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/947d70d3406792779a12f1f6d39d1b91 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9713f297e0ca72345a5b7202c052becf +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/973acbad728af4334804dd0454045384 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/97829b155233b6d466bc829fff627287 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/97f59d5e32c82d6c6f80530dd59eb1e5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9909959901922ff5ee27206a9e56a99d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9a6548b678d621a1b9f0f9f27f130113 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9b410af44867a4979d1aea0ab84ed24b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9b6859af21d7d645ed13281e6419d6dc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9bc806b242d3b60b7a2e015640a87077 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9c4623e57da4d15adb71bd1b04188b1d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9c55f3eca763e68ded31023b7f66543a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9d4198672849d9edf7212a7e5b24345c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9d5d20a90c55b873f24c83ced17ab26b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9df8aa618d64c72ff01523582e414c27 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9edbcadf5d7bd3710cf93d08d9c78cf0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9fdb8e951f975dae3836c2ccf0f65a34 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a0e62c7cdca2dc22e82b98d84fb135ea +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a0edbc1dad95cc84f40d966fdf24377e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a259c79ff690848e93962f587da8f2ac +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a26dcd35a73dac613f3bd3b377d42893 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a331bfa4691369dd432154ee4b5c4893 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a3a3f78f8e854339e32a5ab0638abbbf +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a3e1c65520840eb6d0ae0ec11fcfd089 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a55eb7433db62f7bb96ad5a1d5e76d47 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a6007699da6bc59ddab5019f88a59065 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a61539b6c3198f19f8f388ba46a854b6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a84cdd7b3061cdeac330d161f046a227 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a85d238965fe5d50a791dc1c6ee797b4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a861e5ebcc07278b62dc9b1a154767ac +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a939ccf173a7107ea61ade2219dfd61c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a9d3a45f08b286a7fb1127e534902b83 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/aa83d6dfd86764aa8d69489a3264670d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/aa8e08da5a759df504329ac665668cfe +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/aac72c81c4f00133234e7d1bb46d7925 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ab4a5456ce4a26ea6ccfc7162782762d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/aba0c31d127bd18cf814b0ff829fa269 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ac0e6a1f5b87c2966f07864c89c0acc3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/aecccc74b2c5a692cc4a111266c21333 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/af3bf8706967bab4d4f51779183f4344 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/afa2f142e7bd81eac463da4fbe831498 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b08e1c0e374910078f89f1167190948b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b09e6678212250cb40b072b3161a72ff +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b0bcbac4a093728722781997d798b882 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b0ce289a63f04d7c54d28cdfad9604de +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b0d6ff4608e402650ca685bc013d5d0a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b14d197893a2562569404cd1e67a9426 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b1ced1471404d144869187ef589b8a77 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b22235f66fcf877116e5d908e8f72344 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b39aae3be4af2ea0846f7b7065ec6aed +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b3bbb4709b3343a2e1f6fe2e4ad2e1ac +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b4288860ba2256da39753a5e79904da2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b42bf05ee0e89dcf7cb127f4d4a28f98 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b5db5427cdef8d152ae598d461178026 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b5f026717e0a827d4c73b953fddd57d8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b61acbaee87426b4a215a2167cbebfc4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b61f4c9e983288cc4474e15a4f8a347e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b81f43a01d9f68f845ad3c812d275c2e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b8479c03b63428b97c95ecc6e17323fe +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b91564453cd7ec0a86c754d5158b6575 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ba64f0be716eb9c4b766f645a2345828 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/bade9bfde878286f65c92ef261ac8fe3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/bc8018050fe1f25e9a84238d17decf3e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/bd8063fecf2cd295e2b22705307779de +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/bed31f39e89681d79fe30e029aad3f58 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/bf0218f8ad37b2633dadec0a06d10ca8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c1d5b8783261726af51242f75d0034ef +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c35251b000451b1b9f7274e0ae471704 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c39062f6a04c41168a923ea22d701a5a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c3e3f451f120a1362ffcccab302f1465 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c42b5b47b2b06af9c22c2bfd46d85170 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c43b7d48dcacb4c5f7fadfb5da249630 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c45264229ed7ce7be9c2a2e67b21ca00 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c4c3d076ac3be83dd6e799a0b8548a0f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c535e640eb483b962af9a2ef6db4ebf5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c55e2bbc3d3c5566893be021ec1c4ab7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c5c1585d4d511a81d6a5a6e691bc60af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c68f1c51bdf91793a0bbff4465174a47 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c6b956a670b41d8849fdaf0d66a33c8d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c6f338252e6fde5de124af9cbb5d8480 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c82fc1f02530a001e4d74045294ea16c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c84476f833d6035bcbe3fccc3d5fb79a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c8d04da57c10081fada8edf4a2b27ea9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ca442e1a00de2d188585ae28fd7a4479 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cb05c62f9bde87615d74732a1475ba9d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cb476833cd1a806e251da407a58d9520 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cd7d9486b010a3ecb202e59044fe6bba +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cf1bb0eb567af64974fd1335e73ea7e2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cf34626c45538b36718fd50fa9bcb2e6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cf93444cd435bf18c63fb2d3805e7937 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d1cbf6c90d6358cf08bdb8c27ed2ec09 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d27d4e6bd84d0108fc54a21959181335 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d314159e58c892b5eb193898a2d2d858 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d3a874e84a97c21320b348d19aa1e03f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d59e4078332f6867cc21d12f5a61d171 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d5a4b074b23dceb1252a9caabc60997e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d729ad91c96ff3545dfae3d391e43207 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d88c0d3362ebdb47849b797a3ec1b355 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/da996593aa3789391cab3d7762f13687 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/db36a18184e5fd54e44a6eee54e01770 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/dbb83894d774d7ca09649f3fa4a56a10 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/dbd2d94dbde49512102903953f4ac687 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/dc146f8d1ff283ff045000f8349e3942 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/dc93959c03eab404fae9175d3db1fa70 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/dcabbbfdc4aa2d7b89e949c691cdc823 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/dccdaf1023e5acfe8b50bc6758feb969 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/dce67637c5015fb918e48897a4e6c96a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ddacb0da48b291954237b0c87d0f7abf +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/de3a671b026f4d842a94fe6babafc7ad +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/de4fdc4d1f700596d5f2ce7077fbc32e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/df7e1e4d508705c77a96e8deb9d8cf4a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e058019b4b57023b96e2bacd9b872f6d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e128312dd259094d00196a3f02f41819 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e17667e7004e5cfc7f733b8762f47c3f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e1ee9d32c19869c2b1de3bed4eadc635 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e2d34e55c19309ae4d1b8628d38514c6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e52bf847776498593423b635698c989c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e5b2af9eb2163eb30d5d1793e36971ea +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e6d5c0cdc7e54ac96c2029818114ddb2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e88f434eb6de6ae8e1c76ce83bd239da +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e9650ee4408d83ea6d57b8c97535ce5f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e9d3b4c4c90f3be7d3d0abf681e6beb5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/eb50c3bd1d2a096785ed48ba31b74c4c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ebb4320b249107dd538d8c5fce819156 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ed1289bfd5270a38bd9adfcb8d0627c8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/edd41e775e8d24b1ecb4c02101d003c2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ee0b5978881a6a496f615b7fa30f545a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ee6531726dfe6592fa84b42a420b6acd +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f03d611409c3b2c45d75f97158197ee0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f0fcd9c615efeee2f78b2f63fffe3ee9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f182d38353047eae18909cbd48ed14f9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f3766c14dea5591a30012a6a277df404 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f45cf956be156f4af2c09a24d3eeacc6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f4ddcae783285dd8fc1d36e118c8cb7d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f6c8347aff37a4784ea82069ba176f5f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f74b3c294b6adddd7edb69ca36a17c72 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f896d4e2d77d23813547f069efae9995 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fa8643622dfe174cfaada5b55fefb926 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fb978620720358c7cca722496182fe52 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fca89522784c8592001dc314a2361344 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fcda547950e2d87a356e6450970d4d8a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fd147c53711773ad70daed13844ec1a4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/feddce8a241201fb35b4f171a77caa8a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fef07c3c165353f861564ede180350a4 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/002047c2c82601407c25cd51a2209152 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0252818b90e0c222ecc1754584406b6f +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/03f10562155446429bb36992a0b92e3a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/04414052cc366a532ec99b91c871a03c +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/057faeb3fad4dc36d3d7d0b8bb04325a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0701319e027b68d87b4d5727aa571973 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0919a8182dea7bbb570c08e2c307f288 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0c418a7e3c6101ef6e3c008f3e550abe +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0cf09b6bd4058afb7797d332f36bdd68 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0ea4d583ba95e0c1eb3b926932571034 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0f4534d531ba963bc5bfe31fe1e440e0 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/10c2b2e71e26d6656bebe9a27a770898 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/180048c037c7224ef7601fc6875d3a43 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/1bf0946089435ce76a87bd41668373c2 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/1c618f3d751d9ae8fa4c9ea3551fb1f9 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/1e644a2769d2dd110598326a14417284 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/1e96fab65eff8789cd8c76ffadf40814 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/20a218b05c2726d14bd025c36ba31ddd +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/224cf987cad00c39ae3d39b971f8109b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/22948c5cb4a59a4c252888f75cdf387a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/22a52b924d1607de75741cca2b5b4100 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/22e866ad99949e0e85383cb83ec9a880 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2329760cfd987dc40312a49d2c974211 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/24383c007af706866f9a978498308d01 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/26f53f256948ecabba69abf1e1dea282 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2ac463f684368c0dd093fe7d5bc567bc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2dbcdc03180b29fc99d1659f39b78cc1 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2e1a77a09f7de5bce3ae91e9a65c84c1 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2e294fd6c56a0466193ed135f54eb355 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/32aa9ce8b2315cc01f8a2c27374215ce +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/34a4093120a5fc0daec9697570a14cac +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/35fd8eed029678a1500c62cd3221b49f +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/372593a50247de2c5858f1202b500916 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/3902c2d919f5f30ddf1b8401aa626507 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/39657549f1ee3a7107d451261ffb466d +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/39bf03b4ccf51b4eafd3fa520c741ede +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/3bd0f73e61519054c0590a021cc460e3 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/3c7ac679f8c2cf31dec4ed6ee8064ece +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/3de477330a6f0c70bbf58e0efd9a66af +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/3def97f4406db752008fa340f74a6e3f +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/3f2a439772fcd9cd0f434f723837ae51 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/40c0faa33270d368c95cfa1e5e797330 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/42b486109907c85c344e3428f5615140 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/4403ce85c7fe84fe60d426553aa99b1f +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/45b24d3af92162c80de74b80c72716b9 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/45fd3019e156ddaed79f09cb426c74e0 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/46b306efbef22611d63b16f70b1dfb92 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/47a80d133284fdf4f9f0c0ac4a1ac041 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/49b5803aaa253c1ffa5214311973e684 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/4af17d268e2ffe72af8a78b78811f666 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/4dd3fce32a54a0f8fb029c30f41d3487 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/4ddf15b55b63cc061b47598887250483 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/510692add38624ac80a87b191683d62f +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/52e940c5c1d8089bcdf984d4d27c5520 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/536c10ae35b4049d46807a1bb3c0d960 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/53e9dbf9ed4c2b1ff0c2a9cfc55ad6ed +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/555693fc60a32a02e49777fdf902626e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/5768e2da329c68c958acde5d26124de0 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/57e8e5954196bd14468ff5db3ae99cd0 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/586ce8fe4b79a57617fc2fb5b0a61dfe +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/5ab7f24aa3e6b2b56afab2d03e43c8b9 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/5bb934dcd4ec1050b1f031f8ab61bdaa +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/63a72244bdf73521f399e501b341d16d +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6425806ac0cdde2e39de3acf01fc3baf +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/65718e7a65fd89199b02b7cd38b90be9 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/662e0c617259b839657d51e2c0ba6c4f +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/69a78967e103c4b02122552a2f3b9d11 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/69f23513c7a86a829d1973fbdb21405b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6a27917dfb0d4a194b15c7fe33e8a2fe +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6b4a271890f37338b02a9febc97c3daf +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6cb768545ee34f1d849ccf3caf520913 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6df973778134c66fb80ebe9bc7f55527 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/707d14985ad94cdf9b5480953a10faf5 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/7191d39b2ec3b192c2f1c94eb2a71d46 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/75df7dd0ef873271ce1062a2d14b45f1 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/76688686fe11abed207295bdab7dbb1e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/7936710203d4d28155f744eb687dc125 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/7baa2e01021ef9bd8204236fee88d289 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/7baa8d092b9d409d47643521a8b55e62 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/7c297bdb92e1b06ff2d288b928c49ff9 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/7d7522df5cd3ba1f22c81c653dd5d651 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/8259f3fc885403b4eea8dd12964c2ffc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/828a391376a8e4e0cb3ed1f676ec060a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/83ce7d021f07063451a06f6d60175f8a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/850d92cf676cc2c2c662ee8dc328f82c +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/8969cef7fbf7b14282b11c62b32919c0 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/8a7a27749f2f76175627ed4084e5ae1b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/8c382a2a9aab338b046cc3fe6d47f435 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/8c5ffb42727c5fc7794ac3c608b17c2e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/8ea4f850c201e8912b42b4bc3e997211 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/8fec68cfa10ef4643a92927e94d7a88c +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/90fc5652fe6161075680fcd4cd0c45d2 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/9128c86b1a4a983b1e3cc44b2ab4a1c0 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/9157a652853bd3cea861bd767fed0b08 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/925684e5a9f1e78f793a879d3702e730 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/93aa3074f1cd1a511a73c50254d6673b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/942ea398c220dfe3c4b4aab028e0bb02 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/973acbad728af4334804dd0454045384 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/97f59d5e32c82d6c6f80530dd59eb1e5 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/9b410af44867a4979d1aea0ab84ed24b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/9b6859af21d7d645ed13281e6419d6dc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/9bc806b242d3b60b7a2e015640a87077 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/9c4623e57da4d15adb71bd1b04188b1d +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/9c55f3eca763e68ded31023b7f66543a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/9d4198672849d9edf7212a7e5b24345c +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/9fdb8e951f975dae3836c2ccf0f65a34 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a259c79ff690848e93962f587da8f2ac +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a26dcd35a73dac613f3bd3b377d42893 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a3a3f78f8e854339e32a5ab0638abbbf +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a3e1c65520840eb6d0ae0ec11fcfd089 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a6007699da6bc59ddab5019f88a59065 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a61539b6c3198f19f8f388ba46a854b6 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a84cdd7b3061cdeac330d161f046a227 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a85d238965fe5d50a791dc1c6ee797b4 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a9d3a45f08b286a7fb1127e534902b83 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/aa8e08da5a759df504329ac665668cfe +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/aac72c81c4f00133234e7d1bb46d7925 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/ac0e6a1f5b87c2966f07864c89c0acc3 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/aecccc74b2c5a692cc4a111266c21333 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/afa2f142e7bd81eac463da4fbe831498 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b08e1c0e374910078f89f1167190948b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b0bcbac4a093728722781997d798b882 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b0d6ff4608e402650ca685bc013d5d0a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b14d197893a2562569404cd1e67a9426 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b1ced1471404d144869187ef589b8a77 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b22235f66fcf877116e5d908e8f72344 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b4288860ba2256da39753a5e79904da2 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b42bf05ee0e89dcf7cb127f4d4a28f98 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b5db5427cdef8d152ae598d461178026 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b5f026717e0a827d4c73b953fddd57d8 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b61acbaee87426b4a215a2167cbebfc4 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b91564453cd7ec0a86c754d5158b6575 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/bade9bfde878286f65c92ef261ac8fe3 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/bd8063fecf2cd295e2b22705307779de +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/bed31f39e89681d79fe30e029aad3f58 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/bf0218f8ad37b2633dadec0a06d10ca8 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c1d5b8783261726af51242f75d0034ef +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c35251b000451b1b9f7274e0ae471704 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c39062f6a04c41168a923ea22d701a5a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c42b5b47b2b06af9c22c2bfd46d85170 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c45264229ed7ce7be9c2a2e67b21ca00 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c4c3d076ac3be83dd6e799a0b8548a0f +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c535e640eb483b962af9a2ef6db4ebf5 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c55e2bbc3d3c5566893be021ec1c4ab7 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c5c1585d4d511a81d6a5a6e691bc60af +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c6b956a670b41d8849fdaf0d66a33c8d +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c6f338252e6fde5de124af9cbb5d8480 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c84476f833d6035bcbe3fccc3d5fb79a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/cb476833cd1a806e251da407a58d9520 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/cf1bb0eb567af64974fd1335e73ea7e2 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/cf34626c45538b36718fd50fa9bcb2e6 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d1cbf6c90d6358cf08bdb8c27ed2ec09 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d27d4e6bd84d0108fc54a21959181335 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d314159e58c892b5eb193898a2d2d858 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d59e4078332f6867cc21d12f5a61d171 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d5a4b074b23dceb1252a9caabc60997e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d729ad91c96ff3545dfae3d391e43207 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d88c0d3362ebdb47849b797a3ec1b355 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/da996593aa3789391cab3d7762f13687 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/dc146f8d1ff283ff045000f8349e3942 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/dccdaf1023e5acfe8b50bc6758feb969 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/dce67637c5015fb918e48897a4e6c96a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/ddacb0da48b291954237b0c87d0f7abf +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/de4fdc4d1f700596d5f2ce7077fbc32e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e058019b4b57023b96e2bacd9b872f6d +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e128312dd259094d00196a3f02f41819 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e17667e7004e5cfc7f733b8762f47c3f +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e2d34e55c19309ae4d1b8628d38514c6 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e52bf847776498593423b635698c989c +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e5b2af9eb2163eb30d5d1793e36971ea +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e6d5c0cdc7e54ac96c2029818114ddb2 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e9650ee4408d83ea6d57b8c97535ce5f +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/eb50c3bd1d2a096785ed48ba31b74c4c +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/ebb4320b249107dd538d8c5fce819156 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/ed1289bfd5270a38bd9adfcb8d0627c8 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/edd41e775e8d24b1ecb4c02101d003c2 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/ee0b5978881a6a496f615b7fa30f545a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/ee6531726dfe6592fa84b42a420b6acd +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f03d611409c3b2c45d75f97158197ee0 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f0fcd9c615efeee2f78b2f63fffe3ee9 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f3766c14dea5591a30012a6a277df404 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f6c8347aff37a4784ea82069ba176f5f +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f74b3c294b6adddd7edb69ca36a17c72 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/fa8643622dfe174cfaada5b55fefb926 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/fb978620720358c7cca722496182fe52 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/fca89522784c8592001dc314a2361344 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/fcda547950e2d87a356e6450970d4d8a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/fd147c53711773ad70daed13844ec1a4 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/fef07c3c165353f861564ede180350a4 +0 -0
- data/spec/features/js_spec.rb +2 -2
- data/spec/models/adherent/member_spec.rb +25 -0
- data/spec/models/adherent/query_member_spec.rb +155 -0
- metadata +468 -46
- data/app/assets/stylesheets/adherent/members.css +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 127fbdd71b1bdaa6d9072a7033fe51b12509da0c
|
4
|
+
data.tar.gz: df8d29fd57d16ef6bd3a00e117d8d46f94df0052
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 190a65eb5593687177f11dd585704c2aa82df315664e5fa86416b60092a4ef42b0a892706cc2d97cc1c5a0818756151844f2c52b6c642342c01a0a9c3d38a967
|
7
|
+
data.tar.gz: bc51fcbe4e1deb9250cd972ae5acd3b1030cdda952b6e4c590b5bd89eda46b67669cbb6e059387d83f7765a8a3028facb55304fa8ae882d9f6f85efb18219b4d
|
Binary file
|
Binary file
|
@@ -2,5 +2,13 @@
|
|
2
2
|
# pour avoir les méthodes d'authenfication proposées par l'ApplicationController
|
3
3
|
# ainsi que la gestion des sessions et notamment la méthode find_organism
|
4
4
|
class Adherent::ApplicationController < ApplicationController
|
5
|
+
|
6
|
+
# met en forme une date au format dd-mmm-yyyy en retirant le point
|
7
|
+
# par exemple 13-nov-2013 (et non 13-nov.-2016), ceci pour pouvoir
|
8
|
+
# facilement inclure la date dans le nom d'un fichier
|
9
|
+
def dashed_date(date)
|
10
|
+
I18n.l(date, format:'%d-%b-%Y').gsub('.', '')
|
11
|
+
end
|
12
|
+
|
5
13
|
end
|
6
14
|
|
@@ -6,12 +6,18 @@ module Adherent
|
|
6
6
|
class MembersController < ApplicationController
|
7
7
|
# GET /members
|
8
8
|
# GET /members.json
|
9
|
-
def index
|
10
|
-
|
9
|
+
def index
|
10
|
+
|
11
|
+
@members = Adherent::QueryMember.query_members(@organism)
|
11
12
|
|
12
13
|
respond_to do |format|
|
13
14
|
format.html # index.html.erb
|
14
|
-
format.
|
15
|
+
format.csv { send_data Adherent::QueryMember.to_csv(@organism),
|
16
|
+
:filename=>"#{@organism.title}-#{dashed_date(Date.today)}-Membres.csv" }
|
17
|
+
|
18
|
+
format.xls { send_data Adherent::QueryMember.to_csv(@organism),
|
19
|
+
:filename=>"#{@organism.title}-#{dashed_date(Date.today)}-Membres.xls" }
|
20
|
+
format.json { render json:@members }
|
15
21
|
end
|
16
22
|
end
|
17
23
|
|
@@ -22,7 +28,7 @@ module Adherent
|
|
22
28
|
|
23
29
|
respond_to do |format|
|
24
30
|
format.html # show.html.erb
|
25
|
-
format.json { render json
|
31
|
+
format.json { render json:@member }
|
26
32
|
end
|
27
33
|
end
|
28
34
|
|
@@ -33,7 +39,7 @@ module Adherent
|
|
33
39
|
|
34
40
|
respond_to do |format|
|
35
41
|
format.html # new.html.erb
|
36
|
-
format.json { render json
|
42
|
+
format.json { render json:@member }
|
37
43
|
end
|
38
44
|
end
|
39
45
|
|
@@ -53,7 +59,7 @@ module Adherent
|
|
53
59
|
format.json { render json: @member, status: :created, location: @member }
|
54
60
|
else
|
55
61
|
format.html { render action: "new" }
|
56
|
-
format.json { render json
|
62
|
+
format.json { render json:@member.errors, status: :unprocessable_entity }
|
57
63
|
end
|
58
64
|
end
|
59
65
|
end
|
@@ -8,10 +8,15 @@ module Adherent
|
|
8
8
|
belongs_to :member
|
9
9
|
has_many :reglements
|
10
10
|
|
11
|
+
# TODO changer le champ to_date en un champ until_date car crée de la
|
12
|
+
# confusion avec les méthodes to_date de Ruby
|
13
|
+
|
11
14
|
validates :from_date, :to_date, :member_id, :amount, presence:true
|
12
15
|
validates_numericality_of :amount, greater_than_or_equal_to: 0
|
13
16
|
validate :chrono_order
|
14
17
|
|
18
|
+
# défini dans le module pick_date_extension.
|
19
|
+
# Voir les conseils et instructions de ce module
|
15
20
|
pick_date_for :from_date, :to_date
|
16
21
|
|
17
22
|
# partant d'une adhésion, retourne un hash avec les attributs correspondants à
|
@@ -28,16 +33,15 @@ module Adherent
|
|
28
33
|
montant = amount if montant == 0
|
29
34
|
{:from_date =>I18n.l(read_attribute(:to_date)+1),
|
30
35
|
:to_date=>I18n.l(read_attribute(:to_date).years_since(1)),
|
31
|
-
amount: montant
|
36
|
+
amount: montant
|
32
37
|
}
|
33
38
|
end
|
34
39
|
|
35
40
|
# liste toutes les adhésions qui ne sont pas payées.
|
36
41
|
# pour rappel un where ne fonctionne pas avec un aggrégat obligeant à utiliser la clause having
|
37
|
-
#
|
38
|
-
# to_i est nécessaire car le retour fait par Rails est un string
|
42
|
+
#
|
39
43
|
scope :unpaid, -> {select('adherent_adhesions.*, sum(adherent_reglements.amount) as reglements_amount').
|
40
|
-
joins('left join adherent_reglements on
|
44
|
+
joins('left join adherent_reglements on adherent_adhesions.id = adherent_reglements.adhesion_id').
|
41
45
|
group('adherent_adhesions.id').
|
42
46
|
having('adherent_adhesions.amount > 0 AND (adherent_adhesions.amount > sum(adherent_reglements.amount) OR sum(adherent_reglements.amount) IS NULL)')}
|
43
47
|
|
@@ -48,6 +52,8 @@ module Adherent
|
|
48
52
|
"#{member.to_s} - #{Adherent::ApplicationController.helpers.number_to_currency(due, locale: :fr)}"
|
49
53
|
end
|
50
54
|
|
55
|
+
|
56
|
+
|
51
57
|
|
52
58
|
|
53
59
|
# indique si une adhésion a été réglée
|
@@ -1,10 +1,12 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
1
3
|
module Adherent
|
2
4
|
class Member < ActiveRecord::Base
|
3
5
|
|
4
|
-
|
6
|
+
|
5
7
|
pick_date_for :birthdate
|
6
8
|
|
7
|
-
belongs_to :organism, class_name:
|
9
|
+
belongs_to :organism, class_name:'::Organism'
|
8
10
|
has_one :coord, dependent: :destroy
|
9
11
|
has_many :adhesions, dependent: :destroy
|
10
12
|
has_many :payments
|
@@ -34,6 +36,17 @@ module Adherent
|
|
34
36
|
[forname, name.upcase].join(' ')
|
35
37
|
end
|
36
38
|
|
39
|
+
# indique la date de fin de son adhésion actuelle.
|
40
|
+
# S'il n'y a pas d'adhésion, on prend la date de création du membre
|
41
|
+
#
|
42
|
+
# On n'a qu'un I18n::l car le to_date de last_adhesion est déja mis
|
43
|
+
# au format par le module pick_date_extension
|
44
|
+
#
|
45
|
+
def jusquau
|
46
|
+
la = last_adhesion
|
47
|
+
la ? la.to_date : I18n::l(created_at.to_date)
|
48
|
+
end
|
49
|
+
|
37
50
|
# renvoie une nouvelle adhésion préremplie avec les éléments issus de la
|
38
51
|
# dernière adhésion.
|
39
52
|
# il est possible d'imposer le montant si nécessaire
|
@@ -48,5 +61,32 @@ module Adherent
|
|
48
61
|
adhesions.new(vals)
|
49
62
|
end
|
50
63
|
|
64
|
+
|
65
|
+
# Permet en une seule requête de récupérer les données de la vue index
|
66
|
+
# avec l'id, le number, name, forname, mail, tel, l'échande de l'adhésion
|
67
|
+
# (champ to_date), le montant des reglements reçus pour les adhésions de
|
68
|
+
# ce membre (champ t_reglements), le montant des adhésions de ce membre
|
69
|
+
# champ (t_adhesions)
|
70
|
+
def self.index_members
|
71
|
+
sql= <<EOF
|
72
|
+
SELECT adherent_members.id, number, name, forname, birthdate, adherent_coords.mail AS mail, adherent_coords.tel AS tel,
|
73
|
+
(SELECT to_date FROM adherent_adhesions WHERE adherent_adhesions.member_id = adherent_members.id ORDER BY to_date DESC LIMIT 1 ) AS m_to_date,
|
74
|
+
(SELECT SUM(adherent_reglements.amount) FROM adherent_reglements, adherent_adhesions WHERE adherent_reglements.adhesion_id = adherent_adhesions.id AND adherent_adhesions.member_id = adherent_members.id) AS t_reglements,
|
75
|
+
(SELECT SUM(amount) FROM adherent_adhesions WHERE adherent_adhesions.member_id = adherent_members.id) AS t_adhesions
|
76
|
+
FROM adherent_members LEFT JOIN adherent_coords ON adherent_members.id = adherent_coords.member_id;
|
77
|
+
EOF
|
78
|
+
Adherent::Member.connection.execute( sql.gsub("\n", ''))
|
79
|
+
end
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
protected
|
85
|
+
|
86
|
+
def last_adhesion
|
87
|
+
adhesions.order('to_date').last
|
88
|
+
end
|
89
|
+
|
90
|
+
|
51
91
|
end
|
52
92
|
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
require 'csv'
|
2
|
+
|
3
|
+
module Adherent
|
4
|
+
# La classe QueryMember s'appuie sur une view de SQL appelée
|
5
|
+
# adherent_query_members.
|
6
|
+
#
|
7
|
+
# Elle reprend les principaux éléments de Member (organism_id, id, name,
|
8
|
+
# forname, birthdate, et rajoute la date de la dernière adhésion (champ
|
9
|
+
# m_to_date), le montant total des adhésions dues (t_adhesions) et le montant
|
10
|
+
# total des règlements (t_reglements).
|
11
|
+
#
|
12
|
+
# Ces deux derniers champs sont utilisés pour savoir si le membre est à
|
13
|
+
# jour de ses paiements (méthode #a_jour?)
|
14
|
+
#
|
15
|
+
class QueryMember < ActiveRecord::Base
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
def self.columns() @columns ||= []; end
|
20
|
+
|
21
|
+
def self.column(name, sql_type = nil, default = nil, null = true)
|
22
|
+
columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)
|
23
|
+
end
|
24
|
+
|
25
|
+
column :id, :integer
|
26
|
+
column :organism_id, :integer
|
27
|
+
column :number, :string
|
28
|
+
column :name, :string
|
29
|
+
column :forname, :string
|
30
|
+
column :birthdate, :date
|
31
|
+
column :m_to_date, :date
|
32
|
+
column :t_adhesions, :decimal
|
33
|
+
column :t_reglements, :decimal
|
34
|
+
|
35
|
+
|
36
|
+
# juste pour avoir la remise en forme du champ birthdate
|
37
|
+
# pour l'affichage
|
38
|
+
pick_date_for :birthdate
|
39
|
+
|
40
|
+
# booléen indiquant si l'adhérent est à jour de ces cotisations
|
41
|
+
def a_jour?
|
42
|
+
montant_du <= 0.001
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.query_sql(organism)
|
46
|
+
%Q(SELECT adherent_members.id, organism_id, number, name, forname, birthdate,
|
47
|
+
adherent_coords.mail AS mail, adherent_coords.tel AS tel,
|
48
|
+
(SELECT to_date FROM adherent_adhesions
|
49
|
+
WHERE adherent_adhesions.member_id = adherent_members.id
|
50
|
+
ORDER BY to_date DESC LIMIT 1 ) AS m_to_date,
|
51
|
+
(SELECT SUM(adherent_reglements.amount) FROM adherent_reglements,
|
52
|
+
adherent_adhesions
|
53
|
+
WHERE adherent_reglements.adhesion_id = adherent_adhesions.id AND
|
54
|
+
adherent_adhesions.member_id = adherent_members.id) AS t_reglements,
|
55
|
+
(SELECT SUM(amount) FROM adherent_adhesions
|
56
|
+
WHERE adherent_adhesions.member_id = adherent_members.id) AS t_adhesions
|
57
|
+
FROM adherent_members
|
58
|
+
|
59
|
+
LEFT JOIN adherent_coords ON adherent_members.id = adherent_coords.member_id
|
60
|
+
WHERE organism_id = #{organism.id};
|
61
|
+
)
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.query_members(organism)
|
65
|
+
find_by_sql(query_sql(organism))
|
66
|
+
end
|
67
|
+
|
68
|
+
# ici on aurait pu utiliser pick_date_for mais cela pose le problème
|
69
|
+
# des dates non remplies. Ce qui a son tour est gênant pour le tri dans
|
70
|
+
# les tables.
|
71
|
+
def m_to_date
|
72
|
+
td = read_attribute(:m_to_date)
|
73
|
+
td.is_a?(Date) ? (I18n::l td) : '31/12/2099'
|
74
|
+
end
|
75
|
+
|
76
|
+
# montant dû par l'adhérent pour ses adhésions
|
77
|
+
def montant_du
|
78
|
+
tadh = t_adhesions ? BigDecimal.new(t_adhesions, 2) : BigDecimal.new(0.0, 2)
|
79
|
+
treg = t_reglements ? BigDecimal.new(t_reglements, 2) : BigDecimal.new(0.0, 2)
|
80
|
+
tadh - treg
|
81
|
+
end
|
82
|
+
|
83
|
+
# edition en csv des membres d'un organisme dont l'id est
|
84
|
+
# transmis en argument
|
85
|
+
def self.to_csv(organism, options = {col_sep:"\t"})
|
86
|
+
ms = query_members(organism)
|
87
|
+
CSV.generate(options) do |csv|
|
88
|
+
csv << ['Numero', 'Nom', 'Prénom', 'Date de naissance',
|
89
|
+
'Mail', 'Tél', 'Doit', 'Fin Adh.']
|
90
|
+
ms.each do |m|
|
91
|
+
csv << [m.number, m.name, m.forname, m.birthdate, m.mail, m.tel,
|
92
|
+
ActiveSupport::NumberHelper.number_to_rounded(m.montant_du, precision:2),
|
93
|
+
m.m_to_date]
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
# Pour avoir l'encodage Windows, voir à mettre dans un module si
|
99
|
+
# répété avec d'autres modèles
|
100
|
+
def self.to_xls(organism, options = {col_sep:"\t"})
|
101
|
+
to_csv(organism, options).encode("windows-1252")
|
102
|
+
end
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
protected
|
107
|
+
|
108
|
+
# forcément car basé sur une view sql
|
109
|
+
def readonly?
|
110
|
+
true
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -8,11 +8,11 @@
|
|
8
8
|
my_wrapper_html:{class:'col-lg-9'},
|
9
9
|
input_html:{value:@adhesion.from_date},
|
10
10
|
:as=>:date_picker
|
11
|
-
= f.input :to_date,
|
11
|
+
= f.input :to_date,
|
12
12
|
wrapper_html:{class:'col-lg-4'},
|
13
13
|
my_wrapper_html:{class:'col-lg-9'},
|
14
14
|
input_html:{value:@adhesion.to_date}, :as=>:date_picker
|
15
|
-
= f.input :amount,
|
15
|
+
= f.input :amount,
|
16
16
|
wrapper_html:{class:'col-lg-4'},
|
17
17
|
label_html:{class:'col-lg-4'},
|
18
18
|
my_wrapper_html:{class:'col-lg-8'},
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
<%= icon_to 'nouveau.png', new_member_path, title:'Ajouter un membre' %>
|
4
4
|
<%= icon_to 'payment.png', payments_path, title:'Table des paiements' %>
|
5
|
+
<%= icon_to('csv.png', members_path(@organism,:format=>:csv)) %>
|
6
|
+
<%= icon_to('xls.png', members_path(@organism, :format=>:csv)) %>
|
5
7
|
<% end -%>
|
6
8
|
|
7
9
|
|
@@ -13,37 +15,36 @@
|
|
13
15
|
id='members' cellpadding="0" cellspacing="0" border="0">
|
14
16
|
<thead>
|
15
17
|
<tr>
|
16
|
-
|
17
18
|
<th>Numero </th>
|
18
|
-
|
19
19
|
<th><%= I18n::t('name') %></th>
|
20
|
-
|
21
20
|
<th><%= I18n::t('forname') %></th>
|
22
|
-
|
23
21
|
<th class='date-euro'><%= I18n::t('birthdate') %></th>
|
24
|
-
|
25
22
|
<th><%= I18n::t('mail') %></th>
|
26
23
|
<th><%= I18n::t('tel') %></th>
|
27
|
-
|
24
|
+
<th>Doit</th>
|
25
|
+
<th class='date-euro'>Fin Adh.</th>
|
28
26
|
<th class='actions'>Actions</th>
|
29
27
|
|
30
28
|
</tr>
|
31
29
|
</thead>
|
32
30
|
<tbody>
|
33
31
|
<% @members.each do |member| %>
|
34
|
-
<tr
|
32
|
+
<tr id="<%="member_#{member.id}"%>">
|
35
33
|
<td><%= member.number %></td>
|
36
34
|
<td><%= member.name %></td>
|
37
35
|
<td><%= member.forname %></td>
|
38
36
|
<td><%= member.birthdate %></td>
|
39
|
-
<td><%= member.
|
40
|
-
<td><%= member.
|
41
|
-
<td><%=
|
37
|
+
<td><%= member.mail %></td>
|
38
|
+
<td><%= member.tel %></td>
|
39
|
+
<td class="numeric"><%= number_to_currency member.montant_du %></td>
|
40
|
+
<td><%= member.m_to_date %></td>
|
41
|
+
<td>
|
42
|
+
<%= icon_to 'card-address.png', member_coord_path(member), title:'Coordonnées', id:"coord_member_#{member.id}" %>
|
42
43
|
<%= icon_to 'bandaid.png', member_adhesions_path(member), title:'Liste des adhésions', id:"adhesion_member_#{member.id}"%>
|
43
|
-
|
44
|
-
<%= icon_to 'payment.png', member_payments_path(member), title: 'Liste des paiements' , id:"payment_member_#{member.id}"%>
|
44
|
+
<%= icon_to 'payment.png', member_payments_path(member), title: 'Liste des paiements' , id:"payment_member_#{member.id}"%>
|
45
45
|
<%= icon_to 'modifier.png', edit_member_path(member) , id:"edit_member_#{member.id}" %>
|
46
|
-
|
46
|
+
<%= icon_to 'supprimer.png', member_path(id:member.id), :method => :delete, data:{:confirm => 'Etes vous sûr ?'} %>
|
47
|
+
</td>
|
47
48
|
</tr>
|
48
49
|
<% end %>
|
49
50
|
</tbody>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Add new mime types for use in respond_to blocks:
|
4
|
+
# Mime::Type.register "text/richtext", :rtf
|
5
|
+
# Mime::Type.register_alias "text/html", :iphone
|
6
|
+
|
7
|
+
# Mime::Type.register "application/pdf", :pdf
|
8
|
+
Mime::Type.register_alias "application/xls", :xls
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class CreateQueryMember < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
self.connection.execute %Q(CREATE OR REPLACE VIEW adherent_query_members AS
|
4
|
+
SELECT adherent_members.id, organism_id, number, name, forname, birthdate,
|
5
|
+
adherent_coords.mail AS mail, adherent_coords.tel AS tel,
|
6
|
+
(SELECT to_date FROM adherent_adhesions
|
7
|
+
WHERE adherent_adhesions.member_id = adherent_members.id
|
8
|
+
ORDER BY to_date DESC LIMIT 1 ) AS m_to_date,
|
9
|
+
(SELECT SUM(adherent_reglements.amount) FROM adherent_reglements,
|
10
|
+
adherent_adhesions
|
11
|
+
WHERE adherent_reglements.adhesion_id = adherent_adhesions.id AND
|
12
|
+
adherent_adhesions.member_id = adherent_members.id) AS t_reglements,
|
13
|
+
(SELECT SUM(amount) FROM adherent_adhesions
|
14
|
+
WHERE adherent_adhesions.member_id = adherent_members.id) AS t_adhesions
|
15
|
+
FROM adherent_members
|
16
|
+
LEFT JOIN adherent_coords ON adherent_members.id = adherent_coords.member_id;
|
17
|
+
)
|
18
|
+
end
|
19
|
+
|
20
|
+
def down
|
21
|
+
self.connection.execute "DROP VIEW IF EXISTS adherent_query_members"
|
22
|
+
end
|
23
|
+
end
|
data/lib/adherent/version.rb
CHANGED
@@ -13,5 +13,6 @@ module Adherent
|
|
13
13
|
# VERSION = "0.2.2.2" # correction french_decimal_input
|
14
14
|
# VERSION = "0.2.2.3" # adaptation à la précompilation des assets
|
15
15
|
# VERSION = "0.2.2.4" # correction des références des assets data_tables
|
16
|
-
VERSION = '0.2.3' # Ajout d'un champ comment pour les paiements
|
16
|
+
# VERSION = '0.2.3' # Ajout d'un champ comment pour les paiements
|
17
|
+
VERSION = '0.2.4' # Vue index avec fin adh et montant du plus export
|
17
18
|
end
|
@@ -10,9 +10,7 @@ describe Adherent::MembersController, :type => :controller do
|
|
10
10
|
|
11
11
|
|
12
12
|
describe "GET index" do
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
|
16
14
|
it 'rend la vue index' do
|
17
15
|
get :index
|
18
16
|
expect(response).to render_template("index")
|
@@ -20,11 +18,17 @@ describe Adherent::MembersController, :type => :controller do
|
|
20
18
|
|
21
19
|
|
22
20
|
it "assigns all members as @members" do
|
23
|
-
|
24
|
-
|
21
|
+
expect(Adherent::QueryMember).to receive(:query_members).and_return([1,2])
|
25
22
|
get :index
|
26
23
|
expect(assigns(:members)).to eq([1,2])
|
27
|
-
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'peut rendre un csv' do
|
27
|
+
expect {get :index, format:'csv'}.not_to raise_error
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'ou un xls' do
|
31
|
+
expect {get :index, format:'xls'}.not_to raise_error
|
28
32
|
end
|
29
33
|
end
|
30
34
|
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# This migration comes from adherent (originally 20150412145132)
|
2
|
+
class CreateQueryMember < ActiveRecord::Migration
|
3
|
+
def up
|
4
|
+
self.connection.execute %Q(CREATE OR REPLACE VIEW adherent_query_members AS
|
5
|
+
SELECT adherent_members.id, organism_id, number, name, forname, birthdate,
|
6
|
+
adherent_coords.mail AS mail, adherent_coords.tel AS tel,
|
7
|
+
(SELECT to_date FROM adherent_adhesions
|
8
|
+
WHERE adherent_adhesions.member_id = adherent_members.id
|
9
|
+
ORDER BY to_date DESC LIMIT 1 ) AS m_to_date,
|
10
|
+
(SELECT SUM(adherent_reglements.amount) FROM adherent_reglements,
|
11
|
+
adherent_adhesions
|
12
|
+
WHERE adherent_reglements.adhesion_id = adherent_adhesions.id AND
|
13
|
+
adherent_adhesions.member_id = adherent_members.id) AS t_reglements,
|
14
|
+
(SELECT SUM(amount) FROM adherent_adhesions
|
15
|
+
WHERE adherent_adhesions.member_id = adherent_members.id) AS t_adhesions
|
16
|
+
FROM adherent_members
|
17
|
+
LEFT JOIN adherent_coords ON adherent_members.id = adherent_coords.member_id;
|
18
|
+
)
|
19
|
+
end
|
20
|
+
|
21
|
+
def down
|
22
|
+
self.connection.execute "DROP VIEW IF EXISTS adherent_query_members"
|
23
|
+
end
|
24
|
+
end
|