comunit-base 0.37.200628.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +426 -0
- data/Rakefile +26 -0
- data/app/assets/config/comunit_base_manifest.js +2 -0
- data/app/assets/images/comunit/base/icons/book.svg +1 -0
- data/app/assets/images/comunit/base/icons/comment.svg +1 -0
- data/app/assets/images/comunit/base/icons/dropdown.svg +3 -0
- data/app/assets/images/comunit/base/icons/hamburger.svg +1 -0
- data/app/assets/images/comunit/base/icons/pencil.svg +1 -0
- data/app/assets/images/comunit/base/icons/recent.svg +1 -0
- data/app/assets/images/comunit/base/icons/repost.svg +1 -0
- data/app/assets/images/comunit/base/icons/right-arrow.svg +1 -0
- data/app/assets/images/comunit/base/icons/search.svg +1 -0
- data/app/assets/images/comunit/base/icons/slider/left-arrow-hover.svg +4 -0
- data/app/assets/images/comunit/base/icons/slider/left-arrow.svg +4 -0
- data/app/assets/images/comunit/base/icons/slider/right-arrow-hover.svg +4 -0
- data/app/assets/images/comunit/base/icons/slider/right-arrow.svg +4 -0
- data/app/assets/images/comunit/base/icons/view.svg +1 -0
- data/app/assets/images/comunit/base/placeholders/file.svg +1 -0
- data/app/assets/images/comunit/base/placeholders/region_image.svg +12 -0
- data/app/assets/images/comunit/base/publisher_logo1.png +0 -0
- data/app/assets/javascripts/comunit/base/components/regions.js +0 -0
- data/app/assets/javascripts/comunit/base/comunit-base.js +197 -0
- data/app/assets/javascripts/comunit/base/socialization.js +47 -0
- data/app/assets/stylesheets/biovision/regions/regions.scss +25 -0
- data/app/assets/stylesheets/comunit/base/admin.scss +95 -0
- data/app/assets/stylesheets/comunit/base/albums.scss +101 -0
- data/app/assets/stylesheets/comunit/base/components.scss +8 -0
- data/app/assets/stylesheets/comunit/base/components/calendar.scss +62 -0
- data/app/assets/stylesheets/comunit/base/components/campaigns.scss +1 -0
- data/app/assets/stylesheets/comunit/base/components/campaigns/candidates.scss +16 -0
- data/app/assets/stylesheets/comunit/base/components/carousel.scss +36 -0
- data/app/assets/stylesheets/comunit/base/components/deeds.scss +2 -0
- data/app/assets/stylesheets/comunit/base/components/deeds/form.scss +26 -0
- data/app/assets/stylesheets/comunit/base/components/deeds/preview.scss +11 -0
- data/app/assets/stylesheets/comunit/base/components/forms.scss +24 -0
- data/app/assets/stylesheets/comunit/base/components/forms/inputs.scss +32 -0
- data/app/assets/stylesheets/comunit/base/components/posts.scss +28 -0
- data/app/assets/stylesheets/comunit/base/components/posts/featured.scss +86 -0
- data/app/assets/stylesheets/comunit/base/components/posts/item.scss +91 -0
- data/app/assets/stylesheets/comunit/base/components/posts/list.scss +20 -0
- data/app/assets/stylesheets/comunit/base/components/posts/my-form.scss +32 -0
- data/app/assets/stylesheets/comunit/base/components/posts/preview.scss +169 -0
- data/app/assets/stylesheets/comunit/base/default.scss +74 -0
- data/app/assets/stylesheets/comunit/base/default_site.scss +6 -0
- data/app/assets/stylesheets/comunit/base/entries.scss +145 -0
- data/app/assets/stylesheets/comunit/base/events.scss +161 -0
- data/app/assets/stylesheets/comunit/base/layout.scss +417 -0
- data/app/assets/stylesheets/comunit/base/notifications.scss +12 -0
- data/app/assets/stylesheets/comunit/base/posts.scss +798 -0
- data/app/assets/stylesheets/comunit/base/socialization.scss +112 -0
- data/app/assets/stylesheets/comunit/base/themes/default.scss +34 -0
- data/app/assets/stylesheets/comunit/base/themes/default/footer.scss +45 -0
- data/app/assets/stylesheets/comunit/base/themes/default/frontpage.scss +2 -0
- data/app/assets/stylesheets/comunit/base/themes/default/frontpage/featured_posts.scss +8 -0
- data/app/assets/stylesheets/comunit/base/themes/default/frontpage/post_category.scss +36 -0
- data/app/assets/stylesheets/comunit/base/themes/default/header.scss +108 -0
- data/app/assets/stylesheets/comunit/base/themes/default/header/navigation.scss +139 -0
- data/app/assets/stylesheets/comunit/base/themes/default/header/search.scss +31 -0
- data/app/assets/stylesheets/comunit/base/themes/default/legacy.scss +183 -0
- data/app/assets/stylesheets/comunit/base/themes/default/main.scss +45 -0
- data/app/assets/stylesheets/comunit/base/themes/default/sidebar.scss +49 -0
- data/app/assets/stylesheets/comunit/base/themes/default/sidebar/polls.scss +38 -0
- data/app/assets/stylesheets/comunit/base/themes/default/sidebar/posts.scss +133 -0
- data/app/assets/stylesheets/comunit/base/users.scss +142 -0
- data/app/assets/stylesheets/comunit/base/vars.scss +17 -0
- data/app/controllers/admin/albums_controller.rb +35 -0
- data/app/controllers/admin/appeals_controller.rb +30 -0
- data/app/controllers/admin/campaigns_controller.rb +37 -0
- data/app/controllers/admin/candidates_controller.rb +28 -0
- data/app/controllers/admin/countries_controller.rb +26 -0
- data/app/controllers/admin/decision_users_controller.rb +2 -0
- data/app/controllers/admin/decisions_controller.rb +2 -0
- data/app/controllers/admin/deed_categories_controller.rb +51 -0
- data/app/controllers/admin/deeds_controller.rb +28 -0
- data/app/controllers/admin/event_materials_controller.rb +25 -0
- data/app/controllers/admin/event_participants_controller.rb +27 -0
- data/app/controllers/admin/event_programs_controller.rb +20 -0
- data/app/controllers/admin/event_speakers_controller.rb +30 -0
- data/app/controllers/admin/event_sponsors_controller.rb +30 -0
- data/app/controllers/admin/events_controller.rb +54 -0
- data/app/controllers/admin/groups_controller.rb +54 -0
- data/app/controllers/admin/photos_controller.rb +25 -0
- data/app/controllers/admin/political_forces_controller.rb +45 -0
- data/app/controllers/admin/promo_blocks_controller.rb +27 -0
- data/app/controllers/admin/promo_items_controller.rb +22 -0
- data/app/controllers/admin/regions_controller.rb +53 -0
- data/app/controllers/admin/teams_controller.rb +53 -0
- data/app/controllers/admin/user_messages_controller.rb +2 -0
- data/app/controllers/albums_controller.rb +68 -0
- data/app/controllers/api/user_links_controller.rb +23 -0
- data/app/controllers/api/users_controller.rb +71 -0
- data/app/controllers/appeals_controller.rb +78 -0
- data/app/controllers/articles_controller.rb +49 -0
- data/app/controllers/authors_controller.rb +27 -0
- data/app/controllers/campaigns_controller.rb +130 -0
- data/app/controllers/candidates_controller.rb +70 -0
- data/app/controllers/decision_users_controller.rb +2 -0
- data/app/controllers/decisions_controller.rb +2 -0
- data/app/controllers/deed_categories_controller.rb +70 -0
- data/app/controllers/deeds_controller.rb +95 -0
- data/app/controllers/editorial/index_controller.rb +11 -0
- data/app/controllers/editorial/users_controller.rb +34 -0
- data/app/controllers/entries_controller.rb +140 -0
- data/app/controllers/event_materials_controller.rb +55 -0
- data/app/controllers/event_participants_controller.rb +44 -0
- data/app/controllers/event_programs_controller.rb +55 -0
- data/app/controllers/event_speakers_controller.rb +55 -0
- data/app/controllers/event_sponsors_controller.rb +55 -0
- data/app/controllers/events_controller.rb +69 -0
- data/app/controllers/featured_posts_controller.rb +42 -0
- data/app/controllers/groups_controller.rb +57 -0
- data/app/controllers/impeachment_controller.rb +15 -0
- data/app/controllers/index_controller.rb +42 -0
- data/app/controllers/legacy/admin/post_categories_controller.rb +28 -0
- data/app/controllers/legacy/admin/posts_controller.rb +31 -0
- data/app/controllers/legacy/news_controller.rb +116 -0
- data/app/controllers/legacy/post_categories_controller.rb +74 -0
- data/app/controllers/legacy/posts_controller.rb +132 -0
- data/app/controllers/my/albums_controller.rb +2 -0
- data/app/controllers/my/deeds_controller.rb +42 -0
- data/app/controllers/my/entries_controller.rb +8 -0
- data/app/controllers/my/followees_controller.rb +9 -0
- data/app/controllers/my/followers_controller.rb +9 -0
- data/app/controllers/my/messages_controller.rb +23 -0
- data/app/controllers/my/notifications_controller.rb +8 -0
- data/app/controllers/network/campaigns_controller.rb +11 -0
- data/app/controllers/network/candidates_controller.rb +11 -0
- data/app/controllers/network/political_forces_controller.rb +11 -0
- data/app/controllers/network/posts_controller.rb +11 -0
- data/app/controllers/network/regions_controller.rb +11 -0
- data/app/controllers/network/sites_controller.rb +15 -0
- data/app/controllers/network/users_controller.rb +22 -0
- data/app/controllers/network_controller.rb +68 -0
- data/app/controllers/news_categories_controller.rb +59 -0
- data/app/controllers/news_controller.rb +67 -0
- data/app/controllers/photos_controller.rb +67 -0
- data/app/controllers/political_forces_controller.rb +70 -0
- data/app/controllers/profiles_controller.rb +27 -0
- data/app/controllers/promo_blocks_controller.rb +64 -0
- data/app/controllers/promo_items_controller.rb +68 -0
- data/app/controllers/regional_news_controller.rb +26 -0
- data/app/controllers/search_controller.rb +10 -0
- data/app/controllers/teams_controller.rb +56 -0
- data/app/controllers/user_messages_controller.rb +41 -0
- data/app/controllers/users_controller.rb +94 -0
- data/app/helpers/albums_helper.rb +37 -0
- data/app/helpers/campaigns_helper.rb +98 -0
- data/app/helpers/comments_helper.rb +15 -0
- data/app/helpers/deeds_helper.rb +36 -0
- data/app/helpers/entries_helper.rb +104 -0
- data/app/helpers/events_helper.rb +80 -0
- data/app/helpers/feedback_helper.rb +6 -0
- data/app/helpers/groups_helper.rb +11 -0
- data/app/helpers/media_helper.rb +19 -0
- data/app/helpers/parsing_helper.rb +80 -0
- data/app/helpers/promo_helper.rb +38 -0
- data/app/helpers/regions_helper.rb +77 -0
- data/app/helpers/users_helper.rb +37 -0
- data/app/helpers/votes_helper.rb +24 -0
- data/app/jobs/application_job.rb +7 -0
- data/app/jobs/network_campaign_sync_job.rb +20 -0
- data/app/jobs/network_candidate_sync_job.rb +20 -0
- data/app/jobs/network_entity_sync_job.rb +31 -0
- data/app/jobs/network_political_force_sync_job.rb +20 -0
- data/app/jobs/network_post_sync_job.rb +22 -0
- data/app/jobs/network_user_sync_job.rb +20 -0
- data/app/mailers/appeals_mailer.rb +12 -0
- data/app/mailers/application_mailer.rb +5 -0
- data/app/models/album.rb +42 -0
- data/app/models/appeal.rb +50 -0
- data/app/models/appeal_type.rb +45 -0
- data/app/models/application_record.rb +3 -0
- data/app/models/campaign.rb +78 -0
- data/app/models/candidate.rb +144 -0
- data/app/models/candidate_political_force.rb +15 -0
- data/app/models/central_region.rb +53 -0
- data/app/models/concerns/post_child_with_priority.rb +49 -0
- data/app/models/country.rb +33 -0
- data/app/models/decision.rb +38 -0
- data/app/models/decision_user.rb +25 -0
- data/app/models/deed.rb +78 -0
- data/app/models/deed_category.rb +95 -0
- data/app/models/deed_deed_category.rb +15 -0
- data/app/models/deed_image.rb +33 -0
- data/app/models/entry.rb +128 -0
- data/app/models/event.rb +47 -0
- data/app/models/event_material.rb +44 -0
- data/app/models/event_participant.rb +52 -0
- data/app/models/event_program.rb +50 -0
- data/app/models/event_speaker.rb +69 -0
- data/app/models/event_sponsor.rb +69 -0
- data/app/models/featured_post.rb +20 -0
- data/app/models/group.rb +34 -0
- data/app/models/illustration.rb +11 -0
- data/app/models/news.rb +110 -0
- data/app/models/news_category.rb +60 -0
- data/app/models/notification.rb +64 -0
- data/app/models/photo.rb +53 -0
- data/app/models/political_force.rb +62 -0
- data/app/models/privilege.rb +188 -0
- data/app/models/promo_block.rb +49 -0
- data/app/models/promo_item.rb +36 -0
- data/app/models/region.rb +149 -0
- data/app/models/region_user.rb +28 -0
- data/app/models/site.rb +29 -0
- data/app/models/team.rb +72 -0
- data/app/models/team_privilege.rb +6 -0
- data/app/models/theme.rb +26 -0
- data/app/models/theme_news_category.rb +4 -0
- data/app/models/theme_post_category.rb +4 -0
- data/app/models/user_group.rb +6 -0
- data/app/models/user_link.rb +69 -0
- data/app/models/user_message.rb +86 -0
- data/app/models/zen_category.rb +21 -0
- data/app/services/biovision/components/campaigns_component.rb +14 -0
- data/app/services/biovision/components/decisions_component.rb +9 -0
- data/app/services/biovision/components/deeds_component.rb +15 -0
- data/app/services/biovision/components/regions_component.rb +32 -0
- data/app/services/comunit/network/handler.rb +162 -0
- data/app/services/comunit/network/handlers/decision_handler.rb +16 -0
- data/app/services/comunit/network/handlers/deed_category_handler.rb +31 -0
- data/app/services/comunit/network/handlers/deed_handler.rb +58 -0
- data/app/services/comunit/network/handlers/deed_image_handler.rb +40 -0
- data/app/services/comunit/network/handlers/poll_answer_handler.rb +41 -0
- data/app/services/comunit/network/handlers/poll_handler.rb +46 -0
- data/app/services/comunit/network/handlers/poll_question_handler.rb +31 -0
- data/app/services/comunit/network/handlers/poll_vote_handler.rb +41 -0
- data/app/services/comunit/network/handlers/site_handler.rb +21 -0
- data/app/services/comunit/network/handlers/user_handler.rb +45 -0
- data/app/services/comunit/network/logging.rb +33 -0
- data/app/services/comunit/network/sending.rb +28 -0
- data/app/services/network_manager.rb +116 -0
- data/app/services/network_manager/campaign_handler.rb +96 -0
- data/app/services/network_manager/candidate_handler.rb +137 -0
- data/app/services/network_manager/political_force_handler.rb +85 -0
- data/app/services/network_manager/post_attachment_handler.rb +18 -0
- data/app/services/network_manager/post_handler.rb +133 -0
- data/app/services/network_manager/post_type_handler.rb +15 -0
- data/app/services/network_manager/region_handler.rb +83 -0
- data/app/services/network_manager/user_handler.rb +158 -0
- data/app/services/popular_entries.rb +25 -0
- data/app/services/popular_posts.rb +28 -0
- data/app/services/post_manager.rb +79 -0
- data/app/services/post_parser.rb +77 -0
- data/app/services/region_manager.rb +60 -0
- data/app/services/user_profile_handler.rb +74 -0
- data/app/uploaders/event_attachment_uploader.rb +15 -0
- data/app/uploaders/event_image_uploader.rb +32 -0
- data/app/uploaders/event_person_image_uploader.rb +40 -0
- data/app/uploaders/event_sponsor_image_uploader.rb +40 -0
- data/app/uploaders/header_image_uploader.rb +50 -0
- data/app/uploaders/illustration_image_uploader.rb +32 -0
- data/app/uploaders/photo_uploader.rb +55 -0
- data/app/uploaders/post_illustration_uploader.rb +73 -0
- data/app/uploaders/post_image_uploader.rb +54 -0
- data/app/uploaders/promo_image_uploader.rb +53 -0
- data/app/uploaders/region_image_uploader.rb +53 -0
- data/app/uploaders/site_image_uploader.rb +55 -0
- data/app/views/about/donate.html.erb +12 -0
- data/app/views/admin/albums/_list.html.erb +11 -0
- data/app/views/admin/albums/_nav_item.html.erb +6 -0
- data/app/views/admin/albums/_toggleable.html.erb +7 -0
- data/app/views/admin/albums/entity/_in_list.html.erb +19 -0
- data/app/views/admin/albums/index.html.erb +14 -0
- data/app/views/admin/albums/photos.html.erb +23 -0
- data/app/views/admin/albums/show.html.erb +55 -0
- data/app/views/admin/appeals/_form.html.erb +15 -0
- data/app/views/admin/appeals/_list.html.erb +17 -0
- data/app/views/admin/appeals/_nav_item.html.erb +2 -0
- data/app/views/admin/appeals/_toggleable.html.erb +7 -0
- data/app/views/admin/appeals/entity/_in_list.html.erb +13 -0
- data/app/views/admin/appeals/index.html.erb +13 -0
- data/app/views/admin/appeals/show.html.erb +67 -0
- data/app/views/admin/campaigns/_nav_item.html.erb +6 -0
- data/app/views/admin/campaigns/candidates.html.erb +24 -0
- data/app/views/admin/campaigns/entity/_in_list.html.erb +40 -0
- data/app/views/admin/campaigns/index.html.erb +21 -0
- data/app/views/admin/campaigns/new_candidate.html.erb +24 -0
- data/app/views/admin/campaigns/show.html.erb +73 -0
- data/app/views/admin/candidates/_nav_item.html.erb +6 -0
- data/app/views/admin/candidates/entity/_in_list.html.erb +29 -0
- data/app/views/admin/candidates/entity/_political_forces.html.erb +23 -0
- data/app/views/admin/candidates/index.html.erb +22 -0
- data/app/views/admin/candidates/show.html.erb +93 -0
- data/app/views/admin/components/links/_campaigns.html.erb +5 -0
- data/app/views/admin/components/links/_deeds.html.erb +2 -0
- data/app/views/admin/components/links/_regions.html.erb +3 -0
- data/app/views/admin/components/user_settings/_regions.html.erb +22 -0
- data/app/views/admin/components/user_settings/regions/_linked_regions.html.erb +23 -0
- data/app/views/admin/components/user_settings/regions/_new_link.html.erb +43 -0
- data/app/views/admin/countries/_nav_item.html.erb +2 -0
- data/app/views/admin/deed_categories/_nav_item.html.erb +6 -0
- data/app/views/admin/deed_categories/entity/_in_list.html.erb +31 -0
- data/app/views/admin/deed_categories/index.html.erb +22 -0
- data/app/views/admin/deed_categories/show.html.erb +79 -0
- data/app/views/admin/deeds/_nav_item.html.erb +6 -0
- data/app/views/admin/deeds/entity/_categories.html.erb +33 -0
- data/app/views/admin/deeds/entity/_in_list.html.erb +31 -0
- data/app/views/admin/deeds/index.html.erb +24 -0
- data/app/views/admin/deeds/show.html.erb +63 -0
- data/app/views/admin/event_materials/_list.html.erb +11 -0
- data/app/views/admin/event_materials/_toggleable.html.erb +7 -0
- data/app/views/admin/event_materials/entity/_in_list.html.erb +16 -0
- data/app/views/admin/event_participants/_list.html.erb +11 -0
- data/app/views/admin/event_participants/_nav_item.html.erb +6 -0
- data/app/views/admin/event_participants/_toggleable.html.erb +7 -0
- data/app/views/admin/event_participants/entity/_in_list.html.erb +22 -0
- data/app/views/admin/event_participants/index.html.erb +15 -0
- data/app/views/admin/event_participants/show.html.erb +10 -0
- data/app/views/admin/event_programs/_list.html.erb +11 -0
- data/app/views/admin/event_programs/entity/_in_list.html.erb +9 -0
- data/app/views/admin/event_programs/show.html.erb +11 -0
- data/app/views/admin/event_speakers/_list.html.erb +11 -0
- data/app/views/admin/event_speakers/_toggleable.html.erb +7 -0
- data/app/views/admin/event_speakers/entity/_in_list.html.erb +17 -0
- data/app/views/admin/event_sponsors/_list.html.erb +11 -0
- data/app/views/admin/event_sponsors/_toggleable.html.erb +7 -0
- data/app/views/admin/event_sponsors/entity/_in_list.html.erb +17 -0
- data/app/views/admin/events/_event.html.erb +57 -0
- data/app/views/admin/events/_nav_item.html.erb +6 -0
- data/app/views/admin/events/_toggleable.html.erb +7 -0
- data/app/views/admin/events/entity/_in_list.html.erb +24 -0
- data/app/views/admin/events/entity/_materials.html.erb +14 -0
- data/app/views/admin/events/entity/_programs.html.erb +14 -0
- data/app/views/admin/events/entity/_speakers.html.erb +14 -0
- data/app/views/admin/events/entity/_sponsors.html.erb +14 -0
- data/app/views/admin/events/index.html.erb +16 -0
- data/app/views/admin/events/participants.html.erb +22 -0
- data/app/views/admin/events/show.html.erb +32 -0
- data/app/views/admin/featured_posts/_add.html.erb +128 -0
- data/app/views/admin/featured_posts/_language.html.erb +14 -0
- data/app/views/admin/featured_posts/_nav_item.html.erb +2 -0
- data/app/views/admin/featured_posts/entity/_in_list.html.erb +26 -0
- data/app/views/admin/featured_posts/index.html.erb +18 -0
- data/app/views/admin/groups/_list.html.erb +11 -0
- data/app/views/admin/groups/_nav_item.html.erb +6 -0
- data/app/views/admin/groups/entity/_in_list.html.erb +15 -0
- data/app/views/admin/groups/index.html.erb +11 -0
- data/app/views/admin/groups/show.html.erb +89 -0
- data/app/views/admin/groups/users.jbuilder +11 -0
- data/app/views/admin/groups/users/_list.html.erb +18 -0
- data/app/views/admin/groups/users/_user.html.erb +24 -0
- data/app/views/admin/index/_additional.html.erb +0 -0
- data/app/views/admin/index/_custom_dashboard.html.erb +3 -0
- data/app/views/admin/index/dashboard/_event_manager.html.erb +8 -0
- data/app/views/admin/index/dashboard/_feedback_manager.html.erb +8 -0
- data/app/views/admin/index/dashboard/_promo_manager.html.erb +10 -0
- data/app/views/admin/photos/_list.html.erb +11 -0
- data/app/views/admin/photos/entity/_in_list.html.erb +13 -0
- data/app/views/admin/photos/show.html.erb +42 -0
- data/app/views/admin/political_forces/_nav_item.html.erb +6 -0
- data/app/views/admin/political_forces/candidates.html.erb +25 -0
- data/app/views/admin/political_forces/entity/_in_list.html.erb +24 -0
- data/app/views/admin/political_forces/index.html.erb +21 -0
- data/app/views/admin/political_forces/show.html.erb +48 -0
- data/app/views/admin/post_attachments/entity/_in_list.html.erb +12 -0
- data/app/views/admin/posts/_list.html.erb +15 -0
- data/app/views/admin/posts/_nav_item.html.erb +2 -0
- data/app/views/admin/posts/_toggleable.html.erb +7 -0
- data/app/views/admin/posts/entity/_additional_data.html.erb +0 -0
- data/app/views/admin/posts/entity/_attachments.html.erb +14 -0
- data/app/views/admin/posts/entity/_in_list.html.erb +90 -0
- data/app/views/admin/posts/entity/_in_search.html.erb +8 -0
- data/app/views/admin/posts/entity/_links.html.erb +125 -0
- data/app/views/admin/posts/entity/in_list/_additional_data.html.erb +0 -0
- data/app/views/admin/posts/images.html.erb +22 -0
- data/app/views/admin/posts/index.html.erb +16 -0
- data/app/views/admin/posts/post/_preview.html.erb +28 -0
- data/app/views/admin/posts/regions.jbuilder +10 -0
- data/app/views/admin/posts/search.jbuilder +26 -0
- data/app/views/admin/posts/show.html.erb +208 -0
- data/app/views/admin/privileges/entity/_groups.html.erb +33 -0
- data/app/views/admin/privileges/entity/_in_list.html.erb +54 -0
- data/app/views/admin/privileges/entity/_region.html.erb +12 -0
- data/app/views/admin/privileges/index.html.erb +25 -0
- data/app/views/admin/privileges/regions.jbuilder +10 -0
- data/app/views/admin/privileges/show.html.erb +81 -0
- data/app/views/admin/promo_blocks/_nav_item.html.erb +6 -0
- data/app/views/admin/promo_blocks/entity/_in_list.html.erb +34 -0
- data/app/views/admin/promo_blocks/entity/_items.html.erb +23 -0
- data/app/views/admin/promo_blocks/index.html.erb +14 -0
- data/app/views/admin/promo_blocks/show.html.erb +52 -0
- data/app/views/admin/promo_items/entity/_in_list.html.erb +31 -0
- data/app/views/admin/promo_items/show.html.erb +69 -0
- data/app/views/admin/regions/_nav_item.html.erb +2 -0
- data/app/views/admin/regions/_news_form.html.erb +91 -0
- data/app/views/admin/regions/_post_form.html.erb +91 -0
- data/app/views/admin/regions/_region.jbuilder +11 -0
- data/app/views/admin/regions/entity/_in_list.html.erb +22 -0
- data/app/views/admin/regions/index.html.erb +16 -0
- data/app/views/admin/regions/index.jbuilder +3 -0
- data/app/views/admin/regions/show.html.erb +90 -0
- data/app/views/admin/regions/show.jbuilder +8 -0
- data/app/views/admin/teams/_list.html.erb +11 -0
- data/app/views/admin/teams/_nav_item.html.erb +6 -0
- data/app/views/admin/teams/_toggleable.html.erb +7 -0
- data/app/views/admin/teams/entity/_in_list.html.erb +18 -0
- data/app/views/admin/teams/entity/_privileges.html.erb +33 -0
- data/app/views/admin/teams/index.html.erb +11 -0
- data/app/views/admin/teams/show.html.erb +16 -0
- data/app/views/admin/users/entity/_in_list.html.erb +53 -0
- data/app/views/admin/users/entity/_privilege.html.erb +33 -0
- data/app/views/admin/users/entity/_profile.html.erb +75 -0
- data/app/views/albums/_form.html.erb +59 -0
- data/app/views/albums/_list.html.erb +13 -0
- data/app/views/albums/edit.html.erb +13 -0
- data/app/views/albums/new.html.erb +12 -0
- data/app/views/albums/show.html.erb +21 -0
- data/app/views/api/user_links/not_found.jbuilder +3 -0
- data/app/views/appeals/_form.html.erb +44 -0
- data/app/views/appeals/edit.js.erb +1 -0
- data/app/views/appeals/new.html.erb +12 -0
- data/app/views/appeals/new.js.erb +1 -0
- data/app/views/appeals_mailer/appeal_reply.html.erb +10 -0
- data/app/views/articles/category.html.erb +18 -0
- data/app/views/articles/index.html.erb +17 -0
- data/app/views/articles/show.html.erb +6 -0
- data/app/views/articles/tagged.html.erb +14 -0
- data/app/views/authentication/_info.html.erb +8 -0
- data/app/views/authentication/new.html.erb +9 -0
- data/app/views/authors/_list.html.erb +18 -0
- data/app/views/authors/entity/_in_list.html.erb +9 -0
- data/app/views/authors/index.html.erb +10 -0
- data/app/views/authors/show.html.erb +25 -0
- data/app/views/blog_posts/category.html.erb +18 -0
- data/app/views/blog_posts/show.html.erb +6 -0
- data/app/views/blog_posts/tagged.html.erb +14 -0
- data/app/views/campaigns/_form.html.erb +91 -0
- data/app/views/campaigns/candidate.html.erb +29 -0
- data/app/views/campaigns/edit.html.erb +17 -0
- data/app/views/campaigns/new.html.erb +15 -0
- data/app/views/candidates/_form.html.erb +209 -0
- data/app/views/candidates/edit.html.erb +19 -0
- data/app/views/candidates/new.html.erb +11 -0
- data/app/views/deed_categories/_form.html.erb +44 -0
- data/app/views/deed_categories/edit.html.erb +18 -0
- data/app/views/deed_categories/new.html.erb +16 -0
- data/app/views/deeds/_form.html.erb +114 -0
- data/app/views/deeds/_list.html.erb +18 -0
- data/app/views/deeds/_preview.html.erb +6 -0
- data/app/views/deeds/_regions.html.erb +91 -0
- data/app/views/deeds/edit.html.erb +12 -0
- data/app/views/deeds/form/_categories.html.erb +30 -0
- data/app/views/deeds/index.html.erb +32 -0
- data/app/views/deeds/new.html.erb +15 -0
- data/app/views/deeds/regions.jbuilder +10 -0
- data/app/views/deeds/show.html.erb +28 -0
- data/app/views/editable_pages/form/_ckeditor.html.erb +12 -0
- data/app/views/editorial/index/_navigation.html.erb +17 -0
- data/app/views/editorial/index/index.html.erb +16 -0
- data/app/views/editorial/users/_filter.html.erb +12 -0
- data/app/views/editorial/users/_list.html.erb +17 -0
- data/app/views/editorial/users/_nav_item.html.erb +6 -0
- data/app/views/editorial/users/_toggleable.html.erb +7 -0
- data/app/views/editorial/users/entity/_in_list.html.erb +19 -0
- data/app/views/editorial/users/index.html.erb +14 -0
- data/app/views/editorial/users/show.html.erb +107 -0
- data/app/views/entries/_adjacent.html.erb +16 -0
- data/app/views/entries/_entry.html.erb +39 -0
- data/app/views/entries/_form.html.erb +53 -0
- data/app/views/entries/_list.html.erb +9 -0
- data/app/views/entries/_preview.html.erb +22 -0
- data/app/views/entries/_recent.html.erb +7 -0
- data/app/views/entries/_repost_form.html.erb +108 -0
- data/app/views/entries/_sidebar_preview.html.erb +10 -0
- data/app/views/entries/archive.html.erb +14 -0
- data/app/views/entries/archive/_month_list.html.erb +27 -0
- data/app/views/entries/edit.html.erb +14 -0
- data/app/views/entries/index.html.erb +17 -0
- data/app/views/entries/new.html.erb +10 -0
- data/app/views/entries/new_repost.html.erb +8 -0
- data/app/views/entries/show.html.erb +15 -0
- data/app/views/event_materials/_form.html.erb +66 -0
- data/app/views/event_materials/edit.html.erb +11 -0
- data/app/views/event_materials/new.html.erb +13 -0
- data/app/views/event_participants/_form.html.erb +28 -0
- data/app/views/event_participants/edit.html.erb +12 -0
- data/app/views/event_participants/new.html.erb +13 -0
- data/app/views/event_programs/_form.html.erb +48 -0
- data/app/views/event_programs/edit.html.erb +11 -0
- data/app/views/event_programs/new.html.erb +13 -0
- data/app/views/event_speakers/_form.html.erb +75 -0
- data/app/views/event_speakers/edit.html.erb +11 -0
- data/app/views/event_speakers/new.html.erb +13 -0
- data/app/views/event_sponsors/_form.html.erb +75 -0
- data/app/views/event_sponsors/edit.html.erb +11 -0
- data/app/views/event_sponsors/new.html.erb +13 -0
- data/app/views/events/_form.html.erb +143 -0
- data/app/views/events/edit.html.erb +11 -0
- data/app/views/events/entity/_speakers.html.erb +17 -0
- data/app/views/events/entity/_sponsors.html.erb +15 -0
- data/app/views/events/new.html.erb +10 -0
- data/app/views/events/show.html.erb +22 -0
- data/app/views/featured_posts/create.jbuilder +10 -0
- data/app/views/groups/_form.html.erb +41 -0
- data/app/views/groups/edit.html.erb +12 -0
- data/app/views/groups/new.html.erb +11 -0
- data/app/views/impeachment/_filter.html.erb +41 -0
- data/app/views/impeachment/candidate.html.erb +32 -0
- data/app/views/impeachment/candidates.html.erb +52 -0
- data/app/views/index/_post_preview.jbuilder +3 -0
- data/app/views/index/frontpage_posts/_illustrated.html.erb +14 -0
- data/app/views/index/frontpage_posts/_loader.html.erb +35 -0
- data/app/views/index/frontpage_posts/_main_news.html.erb +11 -0
- data/app/views/index/frontpage_posts/_preview.html.erb +46 -0
- data/app/views/index/frontpage_posts/_regional_news.html.erb +11 -0
- data/app/views/index/frontpage_posts/_videos.html.erb +8 -0
- data/app/views/index/index.html.erb +19 -0
- data/app/views/index/index/_categories.html.erb +33 -0
- data/app/views/index/index/_featured_posts.html.erb +38 -0
- data/app/views/index/main_news.jbuilder +9 -0
- data/app/views/index/regional_news.jbuilder +9 -0
- data/app/views/layouts/admin/_footer.html.erb +5 -0
- data/app/views/layouts/application.html.erb +28 -0
- data/app/views/layouts/application/_footer.html.erb +18 -0
- data/app/views/layouts/application/_header.html.erb +27 -0
- data/app/views/layouts/application/_header_content.html.erb +0 -0
- data/app/views/layouts/application/_main_navigation.html.erb +27 -0
- data/app/views/layouts/application/header/_authentication.html.erb +9 -0
- data/app/views/layouts/application/header/_logo.html.erb +12 -0
- data/app/views/layouts/application/header/_region_selector.html.erb +24 -0
- data/app/views/layouts/application/header/_search.html.erb +5 -0
- data/app/views/layouts/application/main_navigation/_addition.html.erb +0 -0
- data/app/views/layouts/application/main_navigation/_categories.html.erb +15 -0
- data/app/views/layouts/application/main_navigation/_prepend.html.erb +0 -0
- data/app/views/layouts/mailer.html.erb +13 -0
- data/app/views/layouts/mailer.text.erb +1 -0
- data/app/views/my/confirmations/show.html.erb +30 -0
- data/app/views/my/deeds/_list.html.erb +18 -0
- data/app/views/my/deeds/entity/_categories.html.erb +33 -0
- data/app/views/my/deeds/index.html.erb +13 -0
- data/app/views/my/deeds/show.html.erb +32 -0
- data/app/views/my/entries/index.html.erb +2 -0
- data/app/views/my/followees/_list.html.erb +11 -0
- data/app/views/my/followees/index.html.erb +18 -0
- data/app/views/my/followers/_list.html.erb +11 -0
- data/app/views/my/followers/index.html.erb +18 -0
- data/app/views/my/index/_articles.html.erb +21 -0
- data/app/views/my/index/_blog_posts.html.erb +21 -0
- data/app/views/my/index/_news.html.erb +21 -0
- data/app/views/my/index/index.html.erb +64 -0
- data/app/views/my/messages/_list.html.erb +11 -0
- data/app/views/my/messages/dialog.html.erb +36 -0
- data/app/views/my/messages/entity/_in_list.html.erb +14 -0
- data/app/views/my/messages/index.html.erb +14 -0
- data/app/views/my/messages/not_found.html.erb +1 -0
- data/app/views/my/notifications/_list.html.erb +11 -0
- data/app/views/my/notifications/entity/_entry_comment.html.erb +1 -0
- data/app/views/my/notifications/entity/_in_list.html.erb +5 -0
- data/app/views/my/notifications/entity/_new_follower.html.erb +1 -0
- data/app/views/my/notifications/entity/_new_message.html.erb +9 -0
- data/app/views/my/notifications/entity/_news_comment.html.erb +1 -0
- data/app/views/my/notifications/entity/_post_comment.html.erb +1 -0
- data/app/views/my/notifications/index.html.erb +10 -0
- data/app/views/my/posts/_form.html.erb +234 -0
- data/app/views/my/posts/_list.html.erb +9 -0
- data/app/views/my/posts/_post.html.erb +81 -0
- data/app/views/my/posts/_preview.html.erb +45 -0
- data/app/views/my/posts/articles.html.erb +26 -0
- data/app/views/my/posts/index.html.erb +16 -0
- data/app/views/my/posts/news_index.html.erb +26 -0
- data/app/views/my/profiles/edit.html.erb +13 -0
- data/app/views/my/profiles/edit/_form.html.erb +386 -0
- data/app/views/my/profiles/show.html.erb +5 -0
- data/app/views/my/recoveries/show.html.erb +41 -0
- data/app/views/network/show.jbuilder +14 -0
- data/app/views/news/_form.html.erb +145 -0
- data/app/views/news/_news.html.erb +70 -0
- data/app/views/news/_preview.html.erb +10 -0
- data/app/views/news/category.html.erb +18 -0
- data/app/views/news/edit.html.erb +16 -0
- data/app/views/news/form/_figures.html.erb +69 -0
- data/app/views/news/index.html.erb +17 -0
- data/app/views/news/index/_column.html.erb +11 -0
- data/app/views/news/index/_items.html.erb +13 -0
- data/app/views/news/new.html.erb +11 -0
- data/app/views/news/not_found.html.erb +7 -0
- data/app/views/news/previews/_comments.html.erb +15 -0
- data/app/views/news/previews/_most_recent.html.erb +14 -0
- data/app/views/news/previews/_topics.html.erb +15 -0
- data/app/views/news/show.html.erb +6 -0
- data/app/views/news/show_in_category.html.erb +40 -0
- data/app/views/news/tagged.html.erb +14 -0
- data/app/views/news_categories/_form.html.erb +39 -0
- data/app/views/news_categories/edit.html.erb +16 -0
- data/app/views/news_categories/new.html.erb +15 -0
- data/app/views/photos/_form.html.erb +62 -0
- data/app/views/photos/_list.html.erb +17 -0
- data/app/views/photos/edit.html.erb +13 -0
- data/app/views/photos/new.html.erb +14 -0
- data/app/views/photos/show.html.erb +17 -0
- data/app/views/political_forces/_flares.html.erb +9 -0
- data/app/views/political_forces/_form.html.erb +97 -0
- data/app/views/political_forces/edit.html.erb +17 -0
- data/app/views/political_forces/new.html.erb +15 -0
- data/app/views/posts/_carousel.html.erb +11 -0
- data/app/views/posts/_form.html.erb +452 -0
- data/app/views/posts/_post.html.erb +136 -0
- data/app/views/posts/_preview.html.erb +51 -0
- data/app/views/posts/archive.html.erb +13 -0
- data/app/views/posts/archive.jbuilder +3 -0
- data/app/views/posts/archive/_month_list.html.erb +25 -0
- data/app/views/posts/archive_day.html.erb +12 -0
- data/app/views/posts/category.html.erb +18 -0
- data/app/views/posts/entity/_author.html.erb +9 -0
- data/app/views/posts/entity/_gallery.html.erb +54 -0
- data/app/views/posts/entity/_linked_posts.html.erb +9 -0
- data/app/views/posts/entity/_metadata.html.erb +39 -0
- data/app/views/posts/entity/_preview_author.html.erb +10 -0
- data/app/views/posts/entity/_publisher.html.erb +7 -0
- data/app/views/posts/form/_attachments.html.erb +29 -0
- data/app/views/posts/form/_figures.html.erb +67 -0
- data/app/views/posts/form/_gallery.html.erb +163 -0
- data/app/views/posts/index.html.erb +13 -0
- data/app/views/posts/index.jbuilder +1 -0
- data/app/views/posts/post_type/_category.html.erb +16 -0
- data/app/views/posts/post_type/_post_page.html.erb +9 -0
- data/app/views/posts/post_type/_tagged.html.erb +7 -0
- data/app/views/posts/show.html.erb +9 -0
- data/app/views/posts/show_in_category.html.erb +20 -0
- data/app/views/posts/tagged.html.erb +10 -0
- data/app/views/posts/tagged.jbuilder +1 -0
- data/app/views/profiles/_profile.html.erb +175 -0
- data/app/views/profiles/entries.html.erb +11 -0
- data/app/views/profiles/followees.html.erb +21 -0
- data/app/views/profiles/not_found.html.erb +1 -0
- data/app/views/profiles/show.html.erb +4 -0
- data/app/views/promo_blocks/_entity.html.erb +10 -0
- data/app/views/promo_blocks/_form.html.erb +80 -0
- data/app/views/promo_blocks/edit.html.erb +17 -0
- data/app/views/promo_blocks/new.html.erb +15 -0
- data/app/views/promo_items/_form.html.erb +132 -0
- data/app/views/promo_items/edit.html.erb +18 -0
- data/app/views/promo_items/new.html.erb +18 -0
- data/app/views/regional_news/_news.html.erb +70 -0
- data/app/views/regional_news/_preview.html.erb +10 -0
- data/app/views/regional_news/category.html.erb +39 -0
- data/app/views/regional_news/index.html.erb +43 -0
- data/app/views/regional_news/index/_column.html.erb +11 -0
- data/app/views/regional_news/index/_items.html.erb +13 -0
- data/app/views/regional_news/previews/_comments.html.erb +15 -0
- data/app/views/regional_news/previews/_most_recent.html.erb +14 -0
- data/app/views/regional_news/previews/_topics.html.erb +15 -0
- data/app/views/regional_news/show_in_category.html.erb +40 -0
- data/app/views/regions/_form.html.erb +59 -0
- data/app/views/regions/_region.jbuilder +12 -0
- data/app/views/regions/edit.html.erb +20 -0
- data/app/views/regions/index.jbuilder +3 -0
- data/app/views/regions/new.html.erb +17 -0
- data/app/views/regions/show.jbuilder +3 -0
- data/app/views/search/index.html.erb +24 -0
- data/app/views/shared/_counters.html.erb +1 -0
- data/app/views/shared/_favicons.html.erb +6 -0
- data/app/views/shared/_pagination.jbuilder +9 -0
- data/app/views/shared/_pluso.html.erb +12 -0
- data/app/views/shared/_sidebar.html.erb +18 -0
- data/app/views/shared/blog/_sidebar.html.erb +8 -0
- data/app/views/shared/errors/_not_found.html.erb +7 -0
- data/app/views/shared/forms/_region_select.html.erb +55 -0
- data/app/views/shared/sidebar/_calendar.html.erb +54 -0
- data/app/views/shared/sidebar/_custom_sidebar.html.erb +0 -0
- data/app/views/shared/sidebar/_deeds.html.erb +10 -0
- data/app/views/shared/sidebar/_poll.html.erb +62 -0
- data/app/views/shared/sidebar/_popular_entries.html.erb +68 -0
- data/app/views/shared/sidebar/_popular_topics.html.erb +51 -0
- data/app/views/shared/sidebar/_recent_posts.html.erb +17 -0
- data/app/views/teams/_form.html.erb +45 -0
- data/app/views/teams/edit.html.erb +12 -0
- data/app/views/teams/new.html.erb +11 -0
- data/app/views/user_messages/_form.html.erb +12 -0
- data/app/views/user_messages/new.html.erb +7 -0
- data/app/views/user_messages/not_found.html.erb +7 -0
- data/app/views/users/_filter.html.erb +12 -0
- data/app/views/users/_follow_buttons.html.erb +4 -0
- data/app/views/users/_list.html.erb +11 -0
- data/app/views/users/entity/_in_list.html.erb +19 -0
- data/app/views/users/form/_profile_data.html.erb +162 -0
- data/app/views/users/index.html.erb +11 -0
- data/app/views/users/index.jbuilder +14 -0
- data/config/locales/albums-ru.yml +83 -0
- data/config/locales/campaigns-ru.yml +356 -0
- data/config/locales/common-ru.yml +48 -0
- data/config/locales/decisions-ru.yml +22 -0
- data/config/locales/deeds-ru.yml +108 -0
- data/config/locales/events-ru.yml +217 -0
- data/config/locales/feedback-ru.yml +57 -0
- data/config/locales/media-ru.yml +94 -0
- data/config/locales/notifications-ru.yml +8 -0
- data/config/locales/posts-ru.yml +475 -0
- data/config/locales/promo-ru.yml +98 -0
- data/config/locales/regions-ru.yml +99 -0
- data/config/locales/socialization-ru.yml +60 -0
- data/config/locales/users-ru.yml +284 -0
- data/config/routes.rb +251 -0
- data/db/amends/20190223100000_create_themes.rb +40 -0
- data/db/amends/20190311141414_convert_posts.rb +218 -0
- data/db/amends/20190415131313_add_uuid_to_post_attachments.rb +16 -0
- data/db/amends/20190501222222_add_fields_to_regions.rb +15 -0
- data/db/amends/20190710121653_update_region_posts_count.rb +16 -0
- data/db/amends/20200406151505_add_fields_to_sites.rb +18 -0
- data/db/migrate/20170129000001_create_sites.rb +32 -0
- data/db/migrate/20170129000002_create_regions.rb +70 -0
- data/db/migrate/20170209000101_create_user_links.rb +23 -0
- data/db/migrate/20170209000102_create_user_messages.rb +26 -0
- data/db/migrate/20171111000005_create_appeal_types.rb +19 -0
- data/db/migrate/20171111000010_create_appeals.rb +32 -0
- data/db/migrate/20180630000001_create_promo_blocks.rb +21 -0
- data/db/migrate/20180630000002_create_promo_items.rb +31 -0
- data/db/migrate/20190805212121_add_comunit_to_posts.rb +18 -0
- data/db/migrate/20190913142159_convert_themes.rb +24 -0
- data/db/migrate/20190919112129_add_regions_component.rb +18 -0
- data/db/migrate/20190922165743_create_region_users.rb +22 -0
- data/db/migrate/20191209101010_create_campaigns.rb +96 -0
- data/db/migrate/20200306220439_add_impeachment_category.rb +12 -0
- data/db/migrate/20200420000000_create_deeds_component.rb +89 -0
- data/db/migrate/20200604000000_create_decisions_component.rb +53 -0
- data/db/obsolete_migrations/20170209000006_create_illustrations.rb +18 -0
- data/db/obsolete_migrations/20170228195056_create_groups.rb +19 -0
- data/db/obsolete_migrations/20170228195119_create_user_groups.rb +17 -0
- data/db/obsolete_migrations/20170309205037_create_albums.rb +26 -0
- data/db/obsolete_migrations/20170309205146_create_photos.rb +21 -0
- data/db/obsolete_migrations/20170322000001_create_teams.rb +22 -0
- data/db/obsolete_migrations/20170322000002_create_team_privileges.rb +17 -0
- data/db/obsolete_migrations/20170413000001_create_events.rb +29 -0
- data/db/obsolete_migrations/20170413000002_create_event_participants.rb +29 -0
- data/db/obsolete_migrations/20170413000003_create_event_speakers.rb +21 -0
- data/db/obsolete_migrations/20170413000004_create_event_sponsors.rb +21 -0
- data/db/obsolete_migrations/20170413000005_create_event_programs.rb +19 -0
- data/db/obsolete_migrations/20170413000006_create_event_materials.rb +21 -0
- data/db/obsolete_migrations/20170517000000_insert_editable_pages.rb +10 -0
- data/db/obsolete_migrations/20190924040404_convert_regional_editors.rb +106 -0
- data/lib/comunit/base.rb +7 -0
- data/lib/comunit/base/decorators/controllers/admin/posts_controller_decorator.rb +8 -0
- data/lib/comunit/base/decorators/controllers/admin/privileges_controller_decorator.rb +7 -0
- data/lib/comunit/base/decorators/controllers/my/posts_controller_decorator.rb +28 -0
- data/lib/comunit/base/decorators/controllers/my/profiles_controller_decorator.rb +25 -0
- data/lib/comunit/base/decorators/controllers/poll_answers_controller_decorator.rb +14 -0
- data/lib/comunit/base/decorators/controllers/poll_questions_controller_decorator.rb +14 -0
- data/lib/comunit/base/decorators/controllers/polls_controller_decorator.rb +24 -0
- data/lib/comunit/base/decorators/controllers/posts_controller_decorator.rb +46 -0
- data/lib/comunit/base/decorators/models/post_decorator.rb +39 -0
- data/lib/comunit/base/decorators/models/user_decorator.rb +30 -0
- data/lib/comunit/base/decorators/models/user_privilege_decorator.rb +3 -0
- data/lib/comunit/base/engine.rb +46 -0
- data/lib/comunit/base/privilege_methods.rb +53 -0
- data/lib/comunit/base/version.rb +7 -0
- data/lib/tasks/comunit.rake +29 -0
- data/lib/tasks/comunit/base_tasks.rake +4 -0
- data/lib/tasks/regions.rake +57 -0
- metadata +947 -0
data/Rakefile
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
begin
|
2
|
+
require 'bundler/setup'
|
3
|
+
rescue LoadError
|
4
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
5
|
+
end
|
6
|
+
|
7
|
+
require 'rdoc/task'
|
8
|
+
|
9
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
10
|
+
rdoc.rdoc_dir = 'rdoc'
|
11
|
+
rdoc.title = 'Comunit::Base'
|
12
|
+
rdoc.options << '--line-numbers'
|
13
|
+
rdoc.rdoc_files.include('README.md')
|
14
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
|
+
end
|
16
|
+
|
17
|
+
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
18
|
+
load 'rails/tasks/engine.rake'
|
19
|
+
|
20
|
+
|
21
|
+
load 'rails/tasks/statistics.rake'
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
require 'bundler/gem_tasks'
|
26
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" ?><svg style="enable-background:new 0 0 99 77.258;" version="1.1" viewBox="0 0 99 77.258" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="book"><path d="M90.181,9.248l-3.019-6.262c-3.679-0.995-7.021-1.741-10.158-2.24C73.866,0.249,71.016,0,68.389,0 c-5.132,0-9.149,0.683-12.086,2.047c-2.937,1.365-5.123,3.588-6.576,6.671c-1.606-3.147-3.801-5.386-6.596-6.719 C40.337,0.667,36.472,0,31.532,0c-2.841,0-5.89,0.249-9.147,0.746c-3.257,0.498-6.708,1.245-10.351,2.24l-3.39,6.791L0,10.307 v66.95l40.953-3.179c1.762,0.835,3.433,1.469,4.994,1.903c1.561,0.433,3.027,0.65,4.387,0.65c1.329,0,2.707-0.217,4.129-0.65 c1.422-0.433,2.612-1.067,4.096-1.903L99,77.258V9.778L90.181,9.248z M87,7.466l4,9.007v49.466l-4-8.959V7.466z M90.12,68.347 l-33.985-2.842c-1.201,1.51-2.94,2.456-5.218,2.842c0-7.545,5.452-11.319,16.357-11.319c2.533,0,5.336,0.192,8.41,0.578 c3.074,0.385,6.402,0.98,9.986,1.782L90.12,68.347z M50,15.895c0-4.656,1.633-7.947,3.981-9.874 c2.935-2.44,7.489-3.661,13.204-3.661c2.347,0,4.247,0.193,7.12,0.578C77.178,3.323,81,3.901,83,4.672v52.067 c-2-0.706-4.85-1.228-7.677-1.565c-2.827-0.337-5.233-0.506-8.043-0.506c-4.233,0-7.806,0.442-10.215,1.324 C54.655,56.876,53,58.489,50,60.833V15.895z M15,4.768c2-0.802,6.035-1.404,8.959-1.806c2.923-0.401,5.743-0.602,8.528-0.602 c5.414,0,9.125,1.116,11.817,3.347C46.994,7.94,48,11.303,48,15.798v44.842c-3-3.981-8.895-5.973-16.845-5.973 c-1.949,0-4.079,0.161-6.847,0.482C21.539,55.471,17,55.969,15,56.643V4.768z M23.663,57.582c2.951-0.369,5.709-0.554,8.274-0.554 c5.531,0,9.586,0.875,12.167,2.625c2.58,1.751,4.087,4.648,4.519,8.694c-2.319-0.545-3.973-1.476-4.962-2.794L9.788,68.347 l4.443-9.103C17.568,58.505,20.712,57.951,23.663,57.582z M8,15.943l4-8.67V56.98l-4,9.2V15.943z M97,74.705L58.001,71.67 c-1.392,0.867-2.672,1.517-3.97,1.951c-1.298,0.434-2.533,0.651-3.77,0.651c-1.329,0-2.689-0.217-4.111-0.651 c-1.422-0.433-3.053-1.083-4.598-1.951L2,74.705V12.33l4.395-0.289L4,15.461v55.294l38.144-2.408 c1.761,1.574,4.453,2.36,7.204,2.36c2.782,0,4.896-0.786,6.689-2.36L93,70.755V15.461l-2.008-3.901L97,11.897V74.705z"/></g><g id="Слой_1"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" ?><svg style="enable-background:new 0 0 91.635 72.824;" version="1.1" viewBox="0 0 91.635 72.824" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="chat"><path d="M0,72.824L12.421,46.77c-3.786-4.877-5.704-10.579-5.704-16.97c0-9.335,4.712-17.143,13.627-22.577 C27.983,2.565,38.218,0,49.165,0C63.571,0,76.672,4.508,84.21,12.06c4.939,4.947,7.437,10.932,7.425,17.786 c-0.017,9.946-4.717,18.279-13.591,24.099c-7.654,5.019-17.907,7.783-28.869,7.783c-6.609,0-13.133-1.038-18.926-3.007 c-9.608,3.688-24.41,11.153-24.562,11.23L0,72.824z M49.165,4.351c-10.159,0-19.59,2.339-26.556,6.586 c-5.265,3.21-11.541,9.088-11.541,18.862c0,5.814,1.871,10.943,5.561,15.247l0.921,1.075L9.368,63.284 c5.497-2.663,13.895-6.601,20.089-8.916l0.746-0.279l0.749,0.269c5.515,1.975,11.816,3.019,18.223,3.019 c10.124,0,19.529-2.511,26.483-7.071c5.293-3.471,11.607-9.84,11.626-20.467c0.01-5.657-2.061-10.605-6.153-14.705 C74.391,8.382,62.441,4.351,49.165,4.351z"/></g><g id="Слой_1"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg height="25px" version="1.1" viewBox="0 0 25 25" width="25px" xmlns="http://www.w3.org/2000/svg"><g fill="#ffffff" fill-rule="evenodd" id="TabBar-Icons" stroke="none" stroke-width="1"><g fill="#ffffff" id="Hamburger"><path d="M0,2 L25,2 L25,6 L0,6 L0,2 Z M0,10 L25,10 L25,14 L0,14 L0,10 Z M0,18 L25,18 L25,22 L0,22 L0,18 Z"/></g></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" ?><svg style="enable-background:new 0 0 90.927 81.141;" version="1.1" viewBox="0 0 90.927 81.141" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="pencil"><path d="M76.663,55.441L13.593,0C5.806,1.758,1.275,6.845,0,15.263l63.264,55.455l27.663,10.424L76.663,55.441z M32.733,20.101 l38.127,33.372c-0.54-0.167-0.988-0.264-1.343-0.289c-1.292-0.091-1.982,0.477-2.068,1.705l0.014,0.488L29.449,21.77 C30.572,21.037,31.667,20.481,32.733,20.101z M27.536,23.34l38.39,33.781c-1.511,0.251-2.321,1.151-2.431,2.702L25.299,26.056 C25.859,25.024,26.605,24.119,27.536,23.34z M14.639,24.575L2.848,14.246c1.55-5.865,4.905-9.705,10.066-11.517l11.704,10.176 C19.558,15.147,16.231,19.036,14.639,24.575z M60.537,65.167L22.566,31.66c0.486-1.361,0.992-2.544,1.516-3.546l37.874,33.5 c-0.616-0.011-1.079,0.111-1.389,0.365c-0.31,0.254-0.483,0.64-0.52,1.157C60.015,63.588,60.179,64.266,60.537,65.167z M64.903,68.884c-2.06-2.094-3.058-3.608-2.992-4.546c0.027-0.388,0.152-0.663,0.375-0.826c0.223-0.163,0.56-0.228,1.012-0.197 c0.937,0.066,2.513,0.746,4.728,2.038c-1.809-1.978-2.67-3.581-2.584-4.809c0.043-0.613,0.245-1.062,0.606-1.345 c0.361-0.283,0.898-0.4,1.608-0.349c0.744,0.052,2.223,0.709,4.44,1.969c-1.913-1.888-2.823-3.494-2.73-4.82 c0.025-0.355,0.141-0.615,0.347-0.779c0.206-0.164,0.52-0.231,0.94-0.202c1.454,0.102,2.961,0.842,4.52,2.218l7.498,13.875 l-3.008,3.295L64.903,68.884z"/></g><g id="Слой_1"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" ?><svg height="24px" version="1.1" viewBox="0 0 24 24" width="24px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g fill="none" fill-rule="evenodd" id="miu" stroke="none" stroke-width="1"><g id="Artboard-1" transform="translate(-359.000000, -119.000000)"><g id="slice" transform="translate(215.000000, 119.000000)"/><path d="M361.181376,129 C362.121889,123.879764 366.60786,120 372,120 C378.075133,120 383,124.924867 383,131 C383,137.075133 378.075133,142 372,142 C367.727268,142 364.023517,139.563904 362.201917,136.004883 L363.340648,136.004883 C365.070389,138.991197 368.300604,141 372,141 C377.522848,141 382,136.522848 382,131 C382,125.477152 377.522848,121 372,121 C367.162084,121 363.126577,124.435519 362.200036,129 L361.181376,129 Z M371.5,131.349626 L376.710685,134.421329 L377.218515,133.559872 L372.5,130.754395 L372.5,124.031738 L371.5,124.031738 L371.5,131.349626 Z M361.5,132 L364,129 L359,129 L361.5,132 Z" fill="#000000" id="circle-backup-time-history-recent-time-machine-outline-stroke"/></g></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" ?><svg height="32" id="repost" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M6 8 L12 14 L8 14 L8 20 L18 20 L18 24 L4 24 L4 14 L0 14 z M14 8 L28 8 L28 18 L32 18 L26 24 L20 18 L24 18 L24 12 L14 12z"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" ?><svg enable-background="new 0 0 500 500" id="Layer_1" version="1.1" viewBox="0 0 500 500" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><circle cx="253.9" cy="246.4" r="204.7" stroke="#000000" stroke-miterlimit="10"/><circle cx="253.9" cy="246.4" fill="#FFFFFF" r="181.8" stroke="#000000" stroke-miterlimit="10"/><polyline fill="none" points=" 214.2,313.4 305.9,245 305.9,245 305.9,245 305.9,245 214.3,176.5 " stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="22"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1 Tiny//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd'><svg baseProfile="tiny" height="32px" version="1.1" viewBox="0 0 32 32" width="32px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Guides__x26__Forms"/><g id="Icons"><path d="M24,23.543l-4.356-4.356c0.875-1.168,1.399-2.614,1.399-4.186c0-3.866-3.134-7-7-7s-7,3.134-7,7s3.134,7,7,7 c1.572,0,3.018-0.525,4.186-1.399l4.356,4.356L24,23.543z M9.043,15c0-2.757,2.243-5,5-5c2.757,0,5,2.243,5,5c0,2.757-2.243,5-5,5 C11.286,20,9.043,17.757,9.043,15z"/></g></svg>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<svg version="1.1" viewBox="0 0 32 64" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<rect x="0" y="0" width="32" height="64" stroke="none" rx="8" fill="rgba(240, 240, 240, .95)" />
|
3
|
+
<polyline fill="none" points="26 4, 4 31, 26 59" stroke="rgba(32, 32, 32, .75)" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" />
|
4
|
+
</svg>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<svg version="1.1" viewBox="0 0 32 64" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<rect x="0" y="0" width="32" height="64" stroke="none" rx="8" fill="rgba(230, 230, 230, .75)" />
|
3
|
+
<polyline fill="none" points="26 4, 4 31, 26 59" stroke="rgba(32, 32, 32, .5)" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" />
|
4
|
+
</svg>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<svg version="1.1" viewBox="0 0 32 64" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<rect x="0" y="0" width="32" height="64" stroke="none" rx="8" fill="rgba(240, 240, 240, .95)" />
|
3
|
+
<polyline fill="none" points="4 4, 26 31, 4 59" stroke="rgba(32, 32, 32, .75)" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" />
|
4
|
+
</svg>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<svg version="1.1" viewBox="0 0 32 64" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<rect x="0" y="0" width="32" height="64" stroke="none" rx="8" fill="rgba(230, 230, 230, .75)" />
|
3
|
+
<polyline fill="none" points="4 4, 26 31, 4 59" stroke="rgba(32, 32, 32, .5)" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" />
|
4
|
+
</svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" ?><svg style="enable-background:new 0 0 93.388 75.594;" version="1.1" viewBox="0 0 93.388 75.594" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="search"><g><path d="M57.158,42.7l-2.041,1.076l-6.061-4.054l-0.669,0.762l5.607,3.994l-0.503,0.572c-0.836,0.953-1.522,2.376-2.059,4.268 c-0.615,2.047-0.683,3.534-0.204,4.461l-9.422-5.318c-3.705,3.835-8.748,5.736-15.131,5.702 c-6.593-0.05-12.336-2.224-17.228-6.518C4.747,43.517,1.864,39.496,0.8,35.581c-0.656-2.264-0.909-7.07-0.758-14.419 c0.685,6.845,3.648,12.568,8.89,17.17c5.591,4.909,11.841,7.752,18.752,8.531c7.753,0.845,13.986-1.419,18.699-6.788 c0.697-0.794,1.534-1.747,2.51-2.859L57.158,42.7z"/><path d="M51.853,21.927c-0.862-5.425-3.85-10.383-8.965-14.873c-5.147-4.518-11.186-6.866-18.116-7.044 C17.392-0.17,11.498,2.25,7.092,7.269c-8.952,10.197-7.9,20.149,3.154,29.854c5.401,4.742,11.505,7.4,18.311,7.975 c7.472,0.653,13.507-1.642,18.109-6.884C51.073,33.196,52.801,27.767,51.853,21.927z M44.868,36.804 c-4.156,4.734-9.637,6.812-16.444,6.236c-6.202-0.495-11.765-2.904-16.69-7.227C1.727,27.029,0.767,18.03,8.855,8.817 c4.016-4.574,9.369-6.794,16.057-6.66c6.326,0.098,11.825,2.197,16.495,6.296c4.67,4.1,7.405,8.61,8.204,13.53 C50.465,27.289,48.884,32.23,44.868,36.804z"/><path d="M38.683,13.453c6.735,5.913,8.805,13.102,6.21,21.568c-0.974-7.605-3.875-13.527-8.704-17.766 c-4.701-4.127-9.898-6.074-15.589-5.838c-5.692,0.235-10.666,2.619-14.924,7.149c0.623-1.927,1.66-3.717,3.11-5.369 c3.625-4.129,8.548-6.051,14.767-5.768C29.383,7.708,34.426,9.716,38.683,13.453z"/><path d="M31.133,32.963c-1.589,0.913-3.873,0.791-6.854-0.363c-2.456-0.918-4.541-2.131-6.257-3.637 c-2.097-1.84-3.291-3.845-3.581-6.012C19.638,25.488,25.202,28.826,31.133,32.963z"/><path d="M91.741,65.298c1.08,0.948,1.628,2.245,1.646,3.892c0.016,1.646-0.491,3.057-1.522,4.232 c-1.088,1.239-2.525,1.947-4.311,2.123c-1.547,0.16-2.776-0.075-3.685-0.704L53.183,54.82c-1.156-0.733-1.474-2.165-0.953-4.296 c0.468-2.007,1.442-3.853,2.92-5.537c1.004-1.144,2.281-1.541,3.832-1.192L87.85,62.81L91.741,65.298z"/></g></g><g id="Слой_1"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg enable-background="new 0 0 24 24" height="24px" id="Layer_1" version="1.1" viewBox="0 0 24 24" width="24px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><path d="M13,12c1.1,0,2-0.9,2-2V5.5C15,5.2,14.8,5,14.5,5S14,5.2,14,5.5V10c0,0.6-0.4,1-1,1s-1-0.4-1-1V3c0-1.1,0.9-2,2-2 s2,0.9,2,2h1c0-1.7-1.3-3-3-3s-3,1.3-3,3v7C11,11.1,11.9,12,13,12z"/><path d="M19.9,1h-2.4C17.8,1.6,18,2.3,18,3h1v19H2V3h8c0-0.7,0.2-1.4,0.6-2H1.1C0.5,1,0,1.5,0,2.1v20.8C0,23.5,0.5,24,1.1,24h18.8 c0.6,0,1.1-0.5,1.1-1.1V2.1C21,1.5,20.5,1,19.9,1z"/><g><rect height="1" width="4" x="5" y="8"/><rect height="1" width="4" x="5" y="10"/><rect height="1" width="4" x="5" y="12"/><rect height="1" width="11" x="5" y="14"/><rect height="1" width="11" x="5" y="16"/><rect height="1" width="11" x="5" y="18"/></g></g></svg>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<?xml version="1.0" ?>
|
2
|
+
<svg height="24" version="1.1" width="24" xmlns="http://www.w3.org/2000/svg">
|
3
|
+
<g transform="translate(0 -1028.4)">
|
4
|
+
<path d="m3 1031.4v10c0 4.2 3.6322 8 9 10 5.368-2 9-5.8 9-10v-10h-18z" fill="#7f8c8d"/>
|
5
|
+
<path d="m3 1030.4v10c0 4.2 3.6322 8 9 10 5.368-2 9-5.8 9-10v-10h-18z" fill="#bdc3c7"/>
|
6
|
+
<path d="m3 1030.4v10c0 4.2 3.6322 8 9 10v-20h-9z" fill="#95a5a6"/>
|
7
|
+
<path d="m5 1032.4v8c0 3.4 2.8251 6.4 7 8 4.175-1.6 7-4.6 7-8v-8h-14z" fill="#ecf0f1"/>
|
8
|
+
<path d="m5 1040.4c0 3.4 2.8251 6.4 7 8v-8h-7z" fill="#2980b9"/>
|
9
|
+
<rect fill="#3498db" height="8" transform="translate(0 1028.4)" width="7" x="12" y="4"/>
|
10
|
+
<rect fill="#bdc3c7" height="8" transform="translate(0 1028.4)" width="7" x="5" y="4"/>
|
11
|
+
</g>
|
12
|
+
</svg>
|
Binary file
|
File without changes
|
@@ -0,0 +1,197 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
const Comunit = {
|
4
|
+
initialized: false,
|
5
|
+
autoInitComponents: true,
|
6
|
+
components: {}
|
7
|
+
};
|
8
|
+
|
9
|
+
Comunit.components.entityRegionSelect = {
|
10
|
+
initialized: false,
|
11
|
+
listSelector: ".js-form-region-select",
|
12
|
+
radioSelector: ".js-set-new-region",
|
13
|
+
containerSelector: ".result-container",
|
14
|
+
regionNameSelector: ".new-region-name",
|
15
|
+
lists: [],
|
16
|
+
init: function () {
|
17
|
+
document.querySelectorAll(this.listSelector).forEach(this.addList);
|
18
|
+
this.initialized = true;
|
19
|
+
},
|
20
|
+
addList: function (element) {
|
21
|
+
const component = Comunit.components.entityRegionSelect;
|
22
|
+
const list = {
|
23
|
+
"element": element,
|
24
|
+
"radio": element.querySelector(component.radioSelector),
|
25
|
+
"container": element.querySelector(component.containerSelector),
|
26
|
+
"name": element.querySelector(component.regionNameSelector)
|
27
|
+
};
|
28
|
+
list["url"] = list["container"].getAttribute("data-url");
|
29
|
+
|
30
|
+
element.setAttribute("data-list-index", String(component.lists.length));
|
31
|
+
list["radio"].addEventListener("click", component.radioChecked);
|
32
|
+
|
33
|
+
component.lists.push(list);
|
34
|
+
},
|
35
|
+
radioChecked: function (e) {
|
36
|
+
const component = Comunit.components.entityRegionSelect;
|
37
|
+
const radio = e.target;
|
38
|
+
const index = radio.closest(component.listSelector).getAttribute("data-list-index");
|
39
|
+
const list = component.lists[index];
|
40
|
+
|
41
|
+
list["radio"].value = "";
|
42
|
+
list["name"].innerHTML = "";
|
43
|
+
list["container"].innerHTML = "";
|
44
|
+
|
45
|
+
component.loadRegions(list["url"], list["container"]);
|
46
|
+
},
|
47
|
+
loadRegions: function (url, container) {
|
48
|
+
const component = Comunit.components.entityRegionSelect;
|
49
|
+
const request = Biovision.jsonAjaxRequest("get", url, function () {
|
50
|
+
const response = JSON.parse(this.responseText);
|
51
|
+
if (response.hasOwnProperty("data")) {
|
52
|
+
component.appendList(container, response["data"]);
|
53
|
+
}
|
54
|
+
});
|
55
|
+
|
56
|
+
request.send();
|
57
|
+
},
|
58
|
+
appendList: function (container, data) {
|
59
|
+
const component = Comunit.components.entityRegionSelect;
|
60
|
+
const select = document.createElement("select");
|
61
|
+
const index = container.closest(component.listSelector).getAttribute("data-list-index");
|
62
|
+
const list = component.lists[index];
|
63
|
+
const blankOption = document.createElement("option");
|
64
|
+
blankOption.innerHTML = list["name"].innerHTML + "↓";
|
65
|
+
blankOption.setAttribute("value", list["radio"].value);
|
66
|
+
select.append(blankOption);
|
67
|
+
|
68
|
+
data.forEach(function (item) {
|
69
|
+
const option = document.createElement("option");
|
70
|
+
option.innerHTML = item["attributes"]["name"];
|
71
|
+
option.value = item["id"];
|
72
|
+
if (parseInt(item["meta"]["child_count"]) > 0) {
|
73
|
+
option.setAttribute("data-url", item["links"]["self"]);
|
74
|
+
}
|
75
|
+
|
76
|
+
select.append(option);
|
77
|
+
});
|
78
|
+
|
79
|
+
select.addEventListener("change", component.newRegion);
|
80
|
+
|
81
|
+
container.append(select);
|
82
|
+
},
|
83
|
+
/**
|
84
|
+
*
|
85
|
+
* @param {Event} e
|
86
|
+
* @type {Function}
|
87
|
+
*/
|
88
|
+
newRegion: function (e) {
|
89
|
+
const component = Comunit.components.entityRegionSelect;
|
90
|
+
const select = e.target;
|
91
|
+
const index = select.closest(component.listSelector).getAttribute("data-list-index");
|
92
|
+
const list = component.lists[index];
|
93
|
+
const option = select.options[select.selectedIndex];
|
94
|
+
const container = list["container"];
|
95
|
+
|
96
|
+
list["radio"].value = option.value;
|
97
|
+
list["name"].innerHTML = option.innerHTML;
|
98
|
+
if (option.hasAttribute("data-url")) {
|
99
|
+
const url = option.getAttribute("data-url");
|
100
|
+
const request = Biovision.jsonAjaxRequest("get", url, function () {
|
101
|
+
const response = JSON.parse(this.responseText);
|
102
|
+
|
103
|
+
if (response.hasOwnProperty("data")) {
|
104
|
+
const data = response["data"];
|
105
|
+
if (data.hasOwnProperty("relationships")) {
|
106
|
+
const relationships = data["relationships"];
|
107
|
+
if (relationships["children"].length > 0) {
|
108
|
+
component.appendList(container, relationships["children"]);
|
109
|
+
}
|
110
|
+
}
|
111
|
+
}
|
112
|
+
});
|
113
|
+
|
114
|
+
component.removeSiblings(select);
|
115
|
+
request.send();
|
116
|
+
}
|
117
|
+
},
|
118
|
+
removeSiblings: function (current) {
|
119
|
+
const nextSibling = current.nextElementSibling;
|
120
|
+
|
121
|
+
if (nextSibling) {
|
122
|
+
this.removeSiblings(nextSibling);
|
123
|
+
nextSibling.remove();
|
124
|
+
}
|
125
|
+
}
|
126
|
+
};
|
127
|
+
|
128
|
+
Comunit.components.regionLinkRemover = {
|
129
|
+
initialized: false,
|
130
|
+
selector: ".region-link-destroy",
|
131
|
+
buttons: [],
|
132
|
+
init: function () {
|
133
|
+
document.querySelectorAll(this.selector).forEach(this.apply);
|
134
|
+
this.initialized = true;
|
135
|
+
},
|
136
|
+
apply: function (button) {
|
137
|
+
const component = Comunit.components.regionLinkRemover;
|
138
|
+
component.buttons.push(button);
|
139
|
+
button.addEventListener("click", component.handler);
|
140
|
+
},
|
141
|
+
handler: function (event) {
|
142
|
+
const button = event.target;
|
143
|
+
if (confirm(button.getAttribute("data-message"))) {
|
144
|
+
const url = button.getAttribute("data-url");
|
145
|
+
const request = Biovision.jsonAjaxRequest("delete", url, function () {
|
146
|
+
button.closest("li").remove();
|
147
|
+
});
|
148
|
+
request.send();
|
149
|
+
}
|
150
|
+
}
|
151
|
+
};
|
152
|
+
|
153
|
+
Comunit.components.regionLinkCreator = {
|
154
|
+
initialized: false,
|
155
|
+
selector: ".region-link-create",
|
156
|
+
button: undefined,
|
157
|
+
pattern: undefined,
|
158
|
+
container: undefined,
|
159
|
+
list: undefined,
|
160
|
+
init: function () {
|
161
|
+
this.button = document.querySelector(this.selector);
|
162
|
+
if (this.button) {
|
163
|
+
this.pattern = this.button.getAttribute("data-url");
|
164
|
+
this.container = this.button.closest(".js-grouping-container");
|
165
|
+
this.list = this.button.closest("div").querySelector(".js-form-region-select");
|
166
|
+
this.button.addEventListener("click", this.handler);
|
167
|
+
this.initialized = true;
|
168
|
+
}
|
169
|
+
},
|
170
|
+
handler: function () {
|
171
|
+
const component = Comunit.components.regionLinkCreator;
|
172
|
+
const radio = component.list.querySelector("input:checked");
|
173
|
+
const regionId = parseInt(radio.value);
|
174
|
+
if (regionId > 0) {
|
175
|
+
component.createLink(regionId);
|
176
|
+
}
|
177
|
+
},
|
178
|
+
createLink: function (regionId) {
|
179
|
+
const url = this.pattern.replace("_id_", String(regionId));
|
180
|
+
Biovision.jsonAjaxRequest("put", url, this.insertLink).send();
|
181
|
+
},
|
182
|
+
insertLink: function () {
|
183
|
+
const component = Comunit.components.regionLinkCreator;
|
184
|
+
const regionName = component.list.querySelector(".new-region-name").innerHTML;
|
185
|
+
let list = component.container.querySelector(".regions-user-linked");
|
186
|
+
if (!list) {
|
187
|
+
list = document.createElement("ul");
|
188
|
+
list.classList.add("regions-user-linked");
|
189
|
+
component.container.prepend(list);
|
190
|
+
}
|
191
|
+
const li = document.createElement("li");
|
192
|
+
li.innerHTML = regionName;
|
193
|
+
list.append(li);
|
194
|
+
}
|
195
|
+
};
|
196
|
+
|
197
|
+
Biovision.components.comunit = Comunit;
|
@@ -0,0 +1,47 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
document.addEventListener('DOMContentLoaded', function () {
|
4
|
+
let $container = $('.follow-user-buttons');
|
5
|
+
let url = $container.data('url');
|
6
|
+
|
7
|
+
$container.find('.follow').on('click', function () {
|
8
|
+
let $follow = $(this).parent().find('.follow');
|
9
|
+
let $unfollow = $(this).parent().find('.unfollow');
|
10
|
+
|
11
|
+
$.ajax(url, {
|
12
|
+
method: 'put',
|
13
|
+
success: function (response) {
|
14
|
+
$follow.addClass('hidden');
|
15
|
+
$unfollow.removeClass('hidden');
|
16
|
+
}
|
17
|
+
}).fail(Biovision.handleAjaxFailure);
|
18
|
+
});
|
19
|
+
|
20
|
+
$container.find('.unfollow').on('click', function () {
|
21
|
+
let $follow = $(this).parent().find('.follow');
|
22
|
+
let $unfollow = $(this).parent().find('.unfollow');
|
23
|
+
|
24
|
+
$.ajax(url, {
|
25
|
+
method: 'delete',
|
26
|
+
success: function (response) {
|
27
|
+
$follow.removeClass('hidden');
|
28
|
+
$unfollow.addClass('hidden');
|
29
|
+
}
|
30
|
+
}).fail(Biovision.handleAjaxFailure);
|
31
|
+
});
|
32
|
+
|
33
|
+
$('.hide-request').on('click', function () {
|
34
|
+
let $button = $(this);
|
35
|
+
|
36
|
+
$.ajax($button.data('url'), {
|
37
|
+
method: 'delete',
|
38
|
+
success: function(response) {
|
39
|
+
if (response.hasOwnProperty('data')) {
|
40
|
+
if (!response['data']['visible']) {
|
41
|
+
$button.closest('li').addClass('hidden');
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}
|
45
|
+
}).fail(Biovision.handleAjaxFailure);
|
46
|
+
});
|
47
|
+
});
|
@@ -0,0 +1,25 @@
|
|
1
|
+
$border-primary: .1rem solid #777 !default;
|
2
|
+
|
3
|
+
form {
|
4
|
+
#region-image {
|
5
|
+
img {
|
6
|
+
border: $border-primary;
|
7
|
+
max-height: 11rem;
|
8
|
+
width: 11rem;
|
9
|
+
}
|
10
|
+
}
|
11
|
+
}
|
12
|
+
|
13
|
+
.privileges {
|
14
|
+
&.regions {
|
15
|
+
margin: 0 0 0 1.2rem;
|
16
|
+
padding: 0;
|
17
|
+
border: none;
|
18
|
+
|
19
|
+
> li {
|
20
|
+
list-style: none;
|
21
|
+
margin: 0;
|
22
|
+
padding: 0;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
@@ -0,0 +1,95 @@
|
|
1
|
+
@import "biovision/vote/vote";
|
2
|
+
@import "biovision/comment/comments";
|
3
|
+
@import "biovision/post/admin/posts";
|
4
|
+
|
5
|
+
form {
|
6
|
+
.new-region-name:empty::after {
|
7
|
+
color: var(--text-color-secondary);
|
8
|
+
content: attr(data-blank);
|
9
|
+
}
|
10
|
+
}
|
11
|
+
|
12
|
+
.post-category-tree {
|
13
|
+
.post-category-tree {
|
14
|
+
border-left: .1rem solid #eee;
|
15
|
+
margin-bottom: var(--spacer-xs);
|
16
|
+
margin-left: .8rem;
|
17
|
+
padding-left: 1rem;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
.regions-user-linked {
|
22
|
+
list-style: none;
|
23
|
+
|
24
|
+
li {
|
25
|
+
align-items: center;
|
26
|
+
display: flex;
|
27
|
+
margin: 0 0 var(--spacer-xs);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
.regions-user-new {
|
32
|
+
align-items: center;
|
33
|
+
display: flex;
|
34
|
+
flex-wrap: wrap;
|
35
|
+
|
36
|
+
ul {
|
37
|
+
list-style: none;
|
38
|
+
margin: 0;
|
39
|
+
padding: 0;
|
40
|
+
}
|
41
|
+
|
42
|
+
li {
|
43
|
+
align-items: center;
|
44
|
+
display: flex;
|
45
|
+
margin: 0 0 var(--spacer-xs) 0;
|
46
|
+
padding: 0;
|
47
|
+
}
|
48
|
+
|
49
|
+
.new-region-name {
|
50
|
+
font-weight: 500;
|
51
|
+
margin: 0 var(--spacer-xs);
|
52
|
+
}
|
53
|
+
|
54
|
+
.result-container {
|
55
|
+
margin: 0 var(--spacer-xs);
|
56
|
+
}
|
57
|
+
}
|
58
|
+
|
59
|
+
.region-link-destroy {
|
60
|
+
background: image_url('biovision/base/icons/destroy.svg') no-repeat center / 1.6rem auto;
|
61
|
+
border: none;
|
62
|
+
border-radius: 50%;
|
63
|
+
box-shadow: 0 0 .2rem rgba(127, 0, 0, .25);
|
64
|
+
cursor: pointer;
|
65
|
+
display: inline-block;
|
66
|
+
height: 2.4rem;
|
67
|
+
margin-right: var(--spacer-s);
|
68
|
+
transition: .25s;
|
69
|
+
width: 2.4rem;
|
70
|
+
|
71
|
+
&:focus,
|
72
|
+
&:hover {
|
73
|
+
background-color: rgba(127, 0, 0, .125);
|
74
|
+
box-shadow: 0 0 .4rem rgba(196, 0, 0, .75);
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
.region-link-create {
|
79
|
+
background: image_url('biovision/base/icons/create.svg') no-repeat center / 1.6rem auto;
|
80
|
+
border: none;
|
81
|
+
border-radius: 50%;
|
82
|
+
box-shadow: 0 0 .2rem rgba(0, 127, 0, .25);
|
83
|
+
cursor: pointer;
|
84
|
+
display: inline-block;
|
85
|
+
height: 2.4rem;
|
86
|
+
margin-right: var(--spacer-s);
|
87
|
+
transition: .25s;
|
88
|
+
width: 2.4rem;
|
89
|
+
|
90
|
+
&:focus,
|
91
|
+
&:hover {
|
92
|
+
background-color: rgba(0, 127, 0, .125);
|
93
|
+
box-shadow: 0 0 .4rem rgba(0, 196, 0, .75);
|
94
|
+
}
|
95
|
+
}
|