card 1.16.6 → 1.16.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardoc/checksums +234 -49
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/VERSION +1 -1
- data/config/initializers/mime_types.rb +3 -3
- data/config/initializers/notification.rb +1 -1
- data/db/migrate/20121118115000_update_link_type.rb +8 -8
- data/db/migrate/20130411210957_update_codenames.rb +2 -2
- data/db/migrate/20140822073704_create_new_revision_tables.rb +12 -13
- data/db/migrate/20141001105348_move_revisions_to_actions.rb +16 -16
- data/db/migrate/20141121172918_rename_card_migration_table.rb +4 -4
- data/db/migrate_core_cards/20130419215612_import_help_text.rb +3 -3
- data/db/migrate_core_cards/20130823192433_add_style_cards.rb +45 -47
- data/db/migrate_core_cards/20130910183318_move_styles_to_content.rb +1 -1
- data/db/migrate_core_cards/20130920214038_jsonize_tinymce.rb +3 -3
- data/db/migrate_core_cards/20130920291703_update_stylesheets.rb +3 -3
- data/db/migrate_core_cards/20130927191728_account_events.rb +6 -6
- data/db/migrate_core_cards/20131016172445_common_css_patch.rb +1 -1
- data/db/migrate_core_cards/20140110193325_reset_account_request_type.rb +1 -1
- data/db/migrate_core_cards/20140307231621_user_data_to_cards.rb +19 -19
- data/db/migrate_core_cards/20140317035504_account_requests_to_signups.rb +11 -12
- data/db/migrate_core_cards/20140512155840_add_script_cards.rb +35 -36
- data/db/migrate_core_cards/20140629222005_add_email_cards.rb +55 -55
- data/db/migrate_core_cards/20140725180118_config_card_updates.rb +1 -1
- data/db/migrate_core_cards/20141111083921_delete_machine_output.rb +2 -2
- data/db/migrate_core_cards/20141115034214_config_descriptions_etc.rb +3 -3
- data/db/migrate_core_cards/20141120120605_fix_notification_html_message.rb +2 -2
- data/db/migrate_core_cards/20141204061304_watchers_to_following.rb +8 -8
- data/db/migrate_core_cards/20141208162106_add_ace_script.rb +2 -2
- data/db/migrate_core_cards/20141216155251_add_more_following_cards.rb +16 -16
- data/db/migrate_core_cards/20141230204340_uri_codename.rb +1 -1
- data/db/migrate_core_cards/20150202143810_import_bootstrap_layout.rb +19 -19
- data/db/migrate_core_cards/20150220134731_following_to_follow_rule.rb +3 -3
- data/db/migrate_core_cards/20150317162412_bootstrap_themes.rb +15 -15
- data/db/migrate_core_cards/20150326205655_bootswatch_themes.rb +11 -11
- data/db/migrate_core_cards/20150331135745_new_card_menu.rb +1 -1
- data/db/migrate_core_cards/20150429090551_search_card_context.rb +1 -1
- data/db/migrate_core_cards/20150508212032_menu_compatibility.rb +3 -3
- data/db/migrate_core_cards/20150510031118_fix_skin_images.rb +1 -1
- data/db/migrate_core_cards/20150528084659_add_session_cardtype.rb +4 -4
- data/db/migrate_core_cards/20150601133433_add_recent_setting_session_card.rb +5 -5
- data/db/migrate_core_cards/20150605115802_add_performance_log_card.rb +1 -1
- data/db/migrate_core_cards/20150610171702_add_debugger_session_card.rb +2 -2
- data/db/migrate_core_cards/20150611203506_rails_inflection_updates.rb +5 -5
- data/db/migrate_core_cards/20150627205133_fix_script_bootstrap_card_type.rb +1 -1
- data/db/migrate_core_cards/20150702130543_remove_edit_toolbar_pinned.rb +1 -1
- data/db/migrate_core_cards/20150724123438_update_file_and_image_cards.rb +5 -5
- data/db/migrate_core_cards/20150807205221_create_references_for_search_cards.rb +1 -1
- data/db/migrate_core_cards/20150824135418_update_file_history.rb +3 -3
- data/db/migrate_core_cards/20150903130006_attachment_upload_cards.rb +2 -2
- data/db/migrate_core_cards/20150910085603_remove_performance_log_card.rb +1 -1
- data/lib/card.rb +4 -4
- data/lib/card/active_record_ext.rb +8 -8
- data/lib/card/auth.rb +6 -6
- data/lib/card/cache.rb +1 -1
- data/lib/card/chunk.rb +1 -1
- data/lib/card/content.rb +1 -1
- data/lib/card/diff.rb +10 -10
- data/lib/card/env.rb +1 -1
- data/lib/card/format.rb +12 -12
- data/lib/card/loader.rb +1 -1
- data/lib/card/migration.rb +1 -1
- data/lib/card/name.rb +4 -4
- data/lib/card/query.rb +255 -61
- data/lib/card/query/attributes.rb +310 -0
- data/lib/card/query/clause.rb +12 -15
- data/lib/card/query/join.rb +73 -0
- data/lib/card/query/reference.rb +51 -0
- data/lib/card/query/sql_statement.rb +228 -0
- data/lib/card/query/value.rb +66 -0
- data/lib/card/reference.rb +6 -6
- data/lib/card/set.rb +12 -12
- data/lib/card/set_pattern.rb +9 -9
- data/lib/card/spec_helper.rb +5 -5
- data/lib/card/success.rb +1 -1
- data/lib/cardio.rb +7 -7
- data/lib/generators/card/format/format_generator.rb +3 -3
- data/lib/generators/card/migration/migration_generator.rb +5 -5
- data/lib/generators/card/set/set_generator.rb +4 -4
- data/mod/01_core/chunk/include.rb +4 -4
- data/mod/01_core/chunk/link.rb +5 -5
- data/mod/01_core/chunk/literal.rb +2 -2
- data/mod/01_core/chunk/query_reference.rb +8 -8
- data/mod/01_core/chunk/uri.rb +18 -18
- data/mod/01_core/format/html_format.rb +4 -4
- data/mod/01_core/set/all/active_card.rb +2 -2
- data/mod/01_core/set/all/collection.rb +21 -26
- data/mod/01_core/set/all/content.rb +2 -2
- data/mod/01_core/set/all/fetch.rb +6 -6
- data/mod/01_core/set/all/initialize.rb +4 -4
- data/mod/01_core/set/all/location_history.rb +2 -2
- data/mod/01_core/set/all/name.rb +14 -14
- data/mod/01_core/set/all/pattern.rb +1 -1
- data/mod/01_core/set/all/permissions.rb +12 -12
- data/mod/01_core/set/all/phases.rb +29 -12
- data/mod/01_core/set/all/references.rb +14 -14
- data/mod/01_core/set/all/rules.rb +8 -8
- data/mod/01_core/set/all/templating.rb +10 -9
- data/mod/01_core/set/all/tracked_attributes.rb +7 -7
- data/mod/01_core/set/all/trash.rb +6 -6
- data/mod/01_core/set/all/type.rb +7 -7
- data/mod/01_core/set/all/utils.rb +4 -4
- data/mod/01_core/set/all/view_cache.rb +1 -1
- data/mod/01_core/set_pattern/02_all_plus.rb +2 -2
- data/mod/01_core/set_pattern/03_type.rb +1 -1
- data/mod/01_core/set_pattern/04_star.rb +1 -1
- data/mod/01_core/set_pattern/05_rstar.rb +2 -2
- data/mod/01_core/set_pattern/06_right.rb +4 -4
- data/mod/01_core/set_pattern/07_type_plus_right.rb +4 -4
- data/mod/01_core/set_pattern/08_self.rb +1 -1
- data/mod/01_core/spec/chunk/uri_spec.rb +73 -73
- data/mod/01_core/spec/format/html_format_spec.rb +5 -5
- data/mod/01_core/spec/set/all/attribute_tracking_spec.rb +1 -1
- data/mod/01_core/spec/set/all/collection_spec.rb +22 -22
- data/mod/01_core/spec/set/all/content_spec.rb +1 -1
- data/mod/01_core/spec/set/all/fetch_spec.rb +24 -24
- data/mod/01_core/spec/set/all/initialize_spec.rb +9 -9
- data/mod/01_core/spec/set/all/name_spec.rb +8 -8
- data/mod/01_core/spec/set/all/pattern_spec.rb +10 -10
- data/mod/01_core/spec/set/all/permissions_spec.rb +45 -45
- data/mod/01_core/spec/set/all/references_spec.rb +1 -1
- data/mod/01_core/spec/set/all/rules2_spec.rb +15 -15
- data/mod/01_core/spec/set/all/rules_spec.rb +37 -37
- data/mod/01_core/spec/set/all/templating_spec.rb +21 -21
- data/mod/01_core/spec/set/all/tracked_attributes_spec.rb +55 -55
- data/mod/01_core/spec/set/all/trash_spec.rb +4 -4
- data/mod/01_core/spec/set/all/type_spec.rb +15 -15
- data/mod/01_history/lib/card/act.rb +2 -2
- data/mod/01_history/lib/card/action.rb +22 -22
- data/mod/01_history/lib/card/change.rb +1 -1
- data/mod/01_history/set/all/actions.rb +2 -2
- data/mod/01_history/set/all/content_history.rb +4 -4
- data/mod/01_history/set/all/history.rb +46 -46
- data/mod/02_basic_types/set/all/all_css.rb +10 -10
- data/mod/02_basic_types/set/all/all_csv.rb +7 -7
- data/mod/02_basic_types/set/all/base.rb +25 -25
- data/mod/02_basic_types/set/all/json.rb +16 -16
- data/mod/02_basic_types/set/all/rss.rb +7 -7
- data/mod/02_basic_types/set/type/html.rb +2 -2
- data/mod/02_basic_types/set/type/plain_text.rb +1 -1
- data/mod/02_basic_types/set/type/pointer.rb +39 -31
- data/mod/02_basic_types/spec/set/all/all_css_spec.rb +1 -1
- data/mod/02_basic_types/spec/set/all/all_csv_spec.rb +1 -1
- data/mod/02_basic_types/spec/set/all/base_spec.rb +18 -18
- data/mod/02_basic_types/spec/set/all/json_spec.rb +4 -4
- data/mod/02_basic_types/spec/set/all/rss_spec.rb +8 -2
- data/mod/02_basic_types/spec/set/type/plain_text_spec.rb +1 -1
- data/mod/02_basic_types/spec/set/type/pointer_spec.rb +54 -44
- data/mod/03_machines/lib/card/machine.rb +46 -29
- data/mod/03_machines/lib/card/machine_input.rb +34 -10
- data/mod/03_machines/set/type/coffee_script.rb +3 -3
- data/mod/03_machines/set/type/css.rb +8 -8
- data/mod/03_machines/set/type/java_script.rb +4 -4
- data/mod/03_machines/set/type/scss.rb +2 -2
- data/mod/03_machines/set/type/skin.rb +1 -1
- data/mod/03_machines/spec/lib/shared_machine_examples.rb +27 -27
- data/mod/03_machines/spec/lib/shared_machine_input_examples.rb +8 -8
- data/mod/03_machines/spec/set/type/coffeescript_spec.rb +6 -6
- data/mod/03_machines/spec/set/type/css_spec.rb +9 -9
- data/mod/03_machines/spec/set/type/javascript_spec.rb +6 -6
- data/mod/03_machines/spec/set/type/scss_spec.rb +5 -5
- data/mod/03_machines/spec/set/type/skin_spec.rb +25 -25
- data/mod/04_settings/lib/card/setting.rb +11 -11
- data/mod/04_settings/set/abstract/permission.rb +9 -9
- data/mod/04_settings/set/right/script.rb +1 -1
- data/mod/04_settings/set/right/structure.rb +0 -5
- data/mod/04_settings/set/right/style.rb +2 -2
- data/mod/04_settings/set/self/accountable.rb +1 -1
- data/mod/04_settings/set/self/add_help.rb +1 -1
- data/mod/04_settings/set/self/autoname.rb +1 -1
- data/mod/04_settings/set/self/captcha.rb +1 -1
- data/mod/04_settings/set/self/create.rb +1 -1
- data/mod/04_settings/set/self/default.rb +1 -1
- data/mod/04_settings/set/self/delete.rb +1 -1
- data/mod/04_settings/set/self/help.rb +1 -1
- data/mod/04_settings/set/self/input.rb +1 -1
- data/mod/04_settings/set/self/layout.rb +1 -1
- data/mod/04_settings/set/self/on_create.rb +1 -1
- data/mod/04_settings/set/self/on_delete.rb +1 -1
- data/mod/04_settings/set/self/on_update.rb +1 -1
- data/mod/04_settings/set/self/options.rb +1 -1
- data/mod/04_settings/set/self/options_label.rb +1 -1
- data/mod/04_settings/set/self/read.rb +1 -1
- data/mod/04_settings/set/self/script.rb +1 -1
- data/mod/04_settings/set/self/structure.rb +1 -1
- data/mod/04_settings/set/self/style.rb +1 -1
- data/mod/04_settings/set/self/table_of_contents.rb +1 -1
- data/mod/04_settings/set/self/thanks.rb +1 -1
- data/mod/04_settings/set/self/update.rb +1 -1
- data/mod/04_settings/set/type/setting.rb +14 -14
- data/mod/04_settings/spec/set/right/comment_spec.rb +5 -5
- data/mod/04_settings/spec/set/right/create_spec.rb +1 -1
- data/mod/04_settings/spec/set/right/script_spec.rb +5 -5
- data/mod/04_settings/spec/set/right/structure_spec.rb +4 -2
- data/mod/04_settings/spec/set/right/style_spec.rb +7 -7
- data/mod/04_settings/spec/set/type/setting_spec.rb +2 -2
- data/mod/05_email/lib/card/follow_option.rb +24 -24
- data/mod/05_email/set/all/follow.rb +24 -16
- data/mod/05_email/set/all/notify.rb +25 -23
- data/mod/05_email/set/all/observer.rb +5 -5
- data/mod/05_email/set/right/bcc.rb +8 -8
- data/mod/05_email/set/right/follow.rb +44 -17
- data/mod/05_email/set/right/follow_fields.rb +1 -1
- data/mod/05_email/set/right/following.rb +49 -40
- data/mod/05_email/set/self/always.rb +2 -2
- data/mod/05_email/set/self/created.rb +1 -1
- data/mod/05_email/set/self/edited.rb +4 -4
- data/mod/05_email/set/self/follow.rb +1 -1
- data/mod/05_email/set/self/follow_defaults.rb +9 -9
- data/mod/05_email/set/self/never.rb +1 -1
- data/mod/05_email/set/type/email_template.rb +9 -9
- data/mod/05_email/set/type_plus_right/user/follow.rb +16 -16
- data/mod/05_email/spec/set/all/follow_spec.rb +10 -10
- data/mod/05_email/spec/set/all/notify_spec.rb +82 -82
- data/mod/05_email/spec/set/all/observer_spec.rb +16 -16
- data/mod/05_email/spec/set/right/followers_spec.rb +6 -6
- data/mod/05_email/spec/set/self/follow_defaults_spec.rb +2 -2
- data/mod/05_standard/lib/carrier_wave/cardmount.rb +5 -5
- data/mod/05_standard/lib/image_uploader.rb +8 -8
- data/mod/05_standard/set/abstract/attachment.rb +18 -18
- data/mod/05_standard/set/all/account.rb +5 -5
- data/mod/05_standard/set/all/comment.rb +7 -7
- data/mod/05_standard/set/all/error.rb +25 -25
- data/mod/05_standard/set/all/event_viz.rb +1 -1
- data/mod/05_standard/set/all/links.rb +9 -9
- data/mod/05_standard/set/all/rich_html/content.rb +34 -34
- data/mod/05_standard/set/all/rich_html/editing.rb +35 -35
- data/mod/05_standard/set/all/rich_html/form.rb +20 -20
- data/mod/05_standard/set/all/rich_html/header.rb +8 -8
- data/mod/05_standard/set/all/rich_html/menu.rb +33 -33
- data/mod/05_standard/set/all/rich_html/modal.rb +16 -16
- data/mod/05_standard/set/all/rich_html/toolbar.rb +63 -63
- data/mod/05_standard/set/all/rich_html/wrapper.rb +8 -8
- data/mod/05_standard/set/right/account.rb +27 -27
- data/mod/05_standard/set/right/email.rb +5 -5
- data/mod/05_standard/set/right/password.rb +5 -5
- data/mod/05_standard/set/rstar/rules.rb +52 -52
- data/mod/05_standard/set/self/account_links.rb +27 -27
- data/mod/05_standard/set/self/all.rb +1 -1
- data/mod/05_standard/set/self/head.rb +5 -5
- data/mod/05_standard/set/self/navbox.rb +11 -11
- data/mod/05_standard/set/self/recent.rb +2 -2
- data/mod/05_standard/set/self/search.rb +13 -13
- data/mod/05_standard/set/self/signin.rb +19 -19
- data/mod/05_standard/set/self/stats.rb +2 -2
- data/mod/05_standard/set/type/basic.rb +1 -1
- data/mod/05_standard/set/type/cardtype.rb +5 -5
- data/mod/05_standard/set/type/date.rb +1 -1
- data/mod/05_standard/set/type/file.rb +7 -7
- data/mod/05_standard/set/type/image.rb +8 -8
- data/mod/05_standard/set/type/number.rb +2 -2
- data/mod/05_standard/set/type/phrase.rb +1 -1
- data/mod/05_standard/set/type/search_type.rb +27 -21
- data/mod/05_standard/set/type/session.rb +2 -2
- data/mod/05_standard/set/type/set.rb +37 -37
- data/mod/05_standard/set/type/signup.rb +25 -25
- data/mod/05_standard/set/type/uri.rb +1 -1
- data/mod/05_standard/set/type/user.rb +21 -21
- data/mod/05_standard/spec/chunk/include_spec.rb +16 -16
- data/mod/05_standard/spec/chunk/link_spec.rb +18 -18
- data/mod/05_standard/spec/chunk/query_reference_spec.rb +1 -1
- data/mod/05_standard/spec/set/all/account_spec.rb +7 -7
- data/mod/05_standard/spec/set/all/email_html_spec.rb +3 -3
- data/mod/05_standard/spec/set/all/history_spec.rb +14 -14
- data/mod/05_standard/spec/set/all/rich_html/editing_spec.rb +1 -1
- data/mod/05_standard/spec/set/all/rich_html/form_spec.rb +2 -2
- data/mod/05_standard/spec/set/right/account_spec.rb +9 -9
- data/mod/05_standard/spec/set/right/email_spec.rb +8 -8
- data/mod/05_standard/spec/set/right/password_spec.rb +9 -9
- data/mod/05_standard/spec/set/right/stats_spec.rb +1 -1
- data/mod/05_standard/spec/set/right/when_created_spec.rb +1 -1
- data/mod/05_standard/spec/set/right/when_last_edited_spec.rb +1 -1
- data/mod/05_standard/spec/set/rstar/rules_spec.rb +2 -2
- data/mod/05_standard/spec/set/self/account_links_spec.rb +2 -2
- data/mod/05_standard/spec/set/self/all_spec.rb +8 -11
- data/mod/05_standard/spec/set/self/head_spec.rb +1 -1
- data/mod/05_standard/spec/set/self/navbox_spec.rb +1 -1
- data/mod/05_standard/spec/set/self/now_spec.rb +1 -1
- data/mod/05_standard/spec/set/self/stats_spec.rb +1 -1
- data/mod/05_standard/spec/set/self/version_spec.rb +1 -1
- data/mod/05_standard/spec/set/type/email_template_spec.rb +25 -25
- data/mod/05_standard/spec/set/type/file_spec.rb +4 -4
- data/mod/05_standard/spec/set/type/html_spec.rb +3 -3
- data/mod/05_standard/spec/set/type/image_spec.rb +6 -6
- data/mod/05_standard/spec/set/type/layout_type_spec.rb +1 -1
- data/mod/05_standard/spec/set/type/search_type_spec.rb +10 -10
- data/mod/05_standard/spec/set/type/signup_spec.rb +11 -11
- data/mod/05_standard/spec/set/type/toggle_spec.rb +2 -2
- data/mod/05_standard/spec/set/type/uri_spec.rb +9 -9
- data/mod/06_bootstrap/set/all/bootstrap/helper.rb +10 -10
- data/mod/06_bootstrap/set/all/bootstrap/wrapper.rb +4 -4
- data/mod/06_bootstrap/set/all/rich_bootstrap.rb +1 -1
- data/spec/lib/card/action_spec.rb +2 -2
- data/spec/lib/card/cache_spec.rb +7 -7
- data/spec/lib/card/content_spec.rb +31 -37
- data/spec/lib/card/diff_spec.rb +56 -56
- data/spec/lib/card/format_spec.rb +11 -11
- data/spec/lib/card/query_spec.rb +382 -265
- data/spec/lib/card/reference_spec.rb +133 -140
- data/spec/lib/card/set_pattern_spec.rb +10 -9
- data/spec/lib/card/set_spec.rb +11 -11
- data/spec/lib/card/success_spec.rb +16 -8
- data/spec/mailers/mailer_spec.rb +5 -5
- data/spec/models/card/cardtype_spec.rb +20 -20
- data/spec/models/card/create_spec.rb +6 -6
- data/spec/models/card/trash_spec.rb +20 -20
- data/spec/models/card/type_transition_spec.rb +3 -3
- data/spec/models/card/validation_spec.rb +5 -5
- data/spec/models/card_spec.rb +24 -24
- data/spec/spec_helper.rb +5 -5
- data/tmpsets/set/mod001-01_core/all/active_card.rb +2 -2
- data/tmpsets/set/mod001-01_core/all/collection.rb +23 -26
- data/tmpsets/set/mod001-01_core/all/content.rb +2 -2
- data/tmpsets/set/mod001-01_core/all/fetch.rb +6 -6
- data/tmpsets/set/mod001-01_core/all/initialize.rb +8 -4
- data/tmpsets/set/mod001-01_core/all/name.rb +14 -14
- data/tmpsets/set/mod001-01_core/all/pattern.rb +1 -1
- data/tmpsets/set/mod001-01_core/all/permissions.rb +12 -12
- data/tmpsets/set/mod001-01_core/all/phases.rb +31 -13
- data/tmpsets/set/mod001-01_core/all/references.rb +14 -14
- data/tmpsets/set/mod001-01_core/all/rules.rb +8 -10
- data/tmpsets/set/mod001-01_core/all/templating.rb +10 -9
- data/tmpsets/set/mod001-01_core/all/tracked_attributes.rb +7 -7
- data/tmpsets/set/mod001-01_core/all/trash.rb +9 -8
- data/tmpsets/set/mod001-01_core/all/type.rb +7 -7
- data/tmpsets/set/mod001-01_core/all/utils.rb +16 -4
- data/tmpsets/set/mod001-01_core/all/view_cache.rb +1 -1
- data/tmpsets/set/mod002-01_history/all/actions.rb +2 -2
- data/tmpsets/set/mod002-01_history/all/content_history.rb +11 -7
- data/tmpsets/set/mod002-01_history/all/history.rb +46 -46
- data/tmpsets/set/mod003-02_basic_types/all/all_css.rb +10 -10
- data/tmpsets/set/mod003-02_basic_types/all/all_csv.rb +7 -7
- data/tmpsets/set/mod003-02_basic_types/all/base.rb +25 -25
- data/tmpsets/set/mod003-02_basic_types/all/json.rb +16 -16
- data/tmpsets/set/mod003-02_basic_types/all/rss.rb +7 -7
- data/tmpsets/set/mod003-02_basic_types/type/html.rb +2 -2
- data/tmpsets/set/mod003-02_basic_types/type/plain_text.rb +1 -1
- data/tmpsets/set/mod003-02_basic_types/type/pointer.rb +38 -31
- data/tmpsets/set/mod004-03_machines/right/machine_output.rb +4 -0
- data/tmpsets/set/mod004-03_machines/type/coffee_script.rb +3 -3
- data/tmpsets/set/mod004-03_machines/type/css.rb +8 -8
- data/tmpsets/set/mod004-03_machines/type/java_script.rb +4 -4
- data/tmpsets/set/mod004-03_machines/type/scss.rb +2 -2
- data/tmpsets/set/mod004-03_machines/type/skin.rb +1 -1
- data/tmpsets/set/mod005-04_settings/abstract/permission.rb +9 -9
- data/tmpsets/set/mod005-04_settings/right/script.rb +1 -1
- data/tmpsets/set/mod005-04_settings/right/structure.rb +0 -5
- data/tmpsets/set/mod005-04_settings/right/style.rb +2 -2
- data/tmpsets/set/mod005-04_settings/self/accountable.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/add_help.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/autoname.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/captcha.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/create.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/default.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/delete.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/help.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/input.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/layout.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/on_create.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/on_delete.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/on_update.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/options.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/options_label.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/read.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/script.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/structure.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/style.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/table_of_contents.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/thanks.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/update.rb +1 -1
- data/tmpsets/set/mod005-04_settings/type/setting.rb +14 -14
- data/tmpsets/set/mod006-05_email/all/follow.rb +24 -16
- data/tmpsets/set/mod006-05_email/all/notify.rb +25 -23
- data/tmpsets/set/mod006-05_email/all/observer.rb +8 -8
- data/tmpsets/set/mod006-05_email/right/bcc.rb +8 -8
- data/tmpsets/set/mod006-05_email/right/follow.rb +44 -17
- data/tmpsets/set/mod006-05_email/right/follow_fields.rb +1 -1
- data/tmpsets/set/mod006-05_email/right/following.rb +49 -40
- data/tmpsets/set/mod006-05_email/self/always.rb +2 -2
- data/tmpsets/set/mod006-05_email/self/created.rb +1 -1
- data/tmpsets/set/mod006-05_email/self/edited.rb +4 -4
- data/tmpsets/set/mod006-05_email/self/follow.rb +1 -1
- data/tmpsets/set/mod006-05_email/self/follow_defaults.rb +9 -9
- data/tmpsets/set/mod006-05_email/self/never.rb +1 -1
- data/tmpsets/set/mod006-05_email/type/email_template.rb +9 -9
- data/tmpsets/set/mod006-05_email/type_plus_right/user/follow.rb +17 -17
- data/tmpsets/set/mod007-05_standard/abstract/attachment.rb +98 -46
- data/tmpsets/set/mod007-05_standard/all/account.rb +5 -5
- data/tmpsets/set/mod007-05_standard/all/comment.rb +7 -7
- data/tmpsets/set/mod007-05_standard/all/error.rb +26 -26
- data/tmpsets/set/mod007-05_standard/all/event_viz.rb +1 -1
- data/tmpsets/set/mod007-05_standard/all/links.rb +10 -9
- data/tmpsets/set/mod007-05_standard/all/rich_html/content.rb +34 -34
- data/tmpsets/set/mod007-05_standard/all/rich_html/editing.rb +35 -35
- data/tmpsets/set/mod007-05_standard/all/rich_html/form.rb +20 -20
- data/tmpsets/set/mod007-05_standard/all/rich_html/header.rb +8 -8
- data/tmpsets/set/mod007-05_standard/all/rich_html/menu.rb +33 -33
- data/tmpsets/set/mod007-05_standard/all/rich_html/modal.rb +16 -16
- data/tmpsets/set/mod007-05_standard/all/rich_html/toolbar.rb +63 -63
- data/tmpsets/set/mod007-05_standard/all/rich_html/wrapper.rb +8 -8
- data/tmpsets/set/mod007-05_standard/right/account.rb +27 -27
- data/tmpsets/set/mod007-05_standard/right/email.rb +5 -5
- data/tmpsets/set/mod007-05_standard/right/password.rb +5 -5
- data/tmpsets/set/mod007-05_standard/rstar/rules.rb +52 -52
- data/tmpsets/set/mod007-05_standard/self/account_links.rb +27 -27
- data/tmpsets/set/mod007-05_standard/self/all.rb +1 -1
- data/tmpsets/set/mod007-05_standard/self/head.rb +5 -5
- data/tmpsets/set/mod007-05_standard/self/navbox.rb +11 -11
- data/tmpsets/set/mod007-05_standard/self/recent.rb +2 -2
- data/tmpsets/set/mod007-05_standard/self/search.rb +13 -13
- data/tmpsets/set/mod007-05_standard/self/signin.rb +19 -19
- data/tmpsets/set/mod007-05_standard/self/stats.rb +2 -2
- data/tmpsets/set/mod007-05_standard/type/basic.rb +1 -1
- data/tmpsets/set/mod007-05_standard/type/cardtype.rb +5 -5
- data/tmpsets/set/mod007-05_standard/type/date.rb +1 -1
- data/tmpsets/set/mod007-05_standard/type/file.rb +23 -8
- data/tmpsets/set/mod007-05_standard/type/image.rb +10 -8
- data/tmpsets/set/mod007-05_standard/type/number.rb +2 -2
- data/tmpsets/set/mod007-05_standard/type/phrase.rb +1 -1
- data/tmpsets/set/mod007-05_standard/type/search_type.rb +21 -19
- data/tmpsets/set/mod007-05_standard/type/session.rb +2 -2
- data/tmpsets/set/mod007-05_standard/type/set.rb +37 -37
- data/tmpsets/set/mod007-05_standard/type/signup.rb +25 -25
- data/tmpsets/set/mod007-05_standard/type/uri.rb +1 -1
- data/tmpsets/set/mod007-05_standard/type/user.rb +21 -21
- data/tmpsets/set/mod008-06_bootstrap/all/bootstrap/helper.rb +10 -10
- data/tmpsets/set/mod008-06_bootstrap/all/bootstrap/wrapper.rb +4 -4
- data/tmpsets/set/mod008-06_bootstrap/all/rich_bootstrap.rb +1 -1
- data/tmpsets/set_pattern/101-all_plus.rb +2 -2
- data/tmpsets/set_pattern/102-type.rb +1 -1
- data/tmpsets/set_pattern/103-star.rb +1 -1
- data/tmpsets/set_pattern/104-rstar.rb +2 -2
- data/tmpsets/set_pattern/105-right.rb +4 -4
- data/tmpsets/set_pattern/106-type_plus_right.rb +4 -4
- data/tmpsets/set_pattern/107-self.rb +1 -1
- metadata +7 -5
- data/lib/card/query/card_clause.rb +0 -528
- data/lib/card/query/ref_clause.rb +0 -47
- data/lib/card/query/value_clause.rb +0 -65
@@ -48,13 +48,13 @@ def clear_drafts
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
event :save_draft, :
|
51
|
+
event :save_draft, before: :store, on: :update, when: proc{ |c| Env.params['draft'] == 'true' } do
|
52
52
|
save_content_draft content
|
53
53
|
abort :success
|
54
54
|
end
|
55
55
|
|
56
56
|
|
57
|
-
event :set_default_content, :
|
57
|
+
event :set_default_content, on: :create, before: :approve do
|
58
58
|
if !db_content_changed? && template && template.db_content.present?
|
59
59
|
self.db_content = template.db_content
|
60
60
|
end
|
@@ -20,7 +20,7 @@ module ClassMethods
|
|
20
20
|
# :skip_virtual Real cards only
|
21
21
|
# :skip_modules Don't load Set modules
|
22
22
|
# :look_in_trash Return trashed card objects
|
23
|
-
# :
|
23
|
+
# new: { card opts } Return a new card when not found
|
24
24
|
#
|
25
25
|
def fetch mark, opts={}
|
26
26
|
if String === mark
|
@@ -68,21 +68,21 @@ module ClassMethods
|
|
68
68
|
end
|
69
69
|
|
70
70
|
def fetch_id mark #should optimize this. what if mark is int? or codename?
|
71
|
-
card = fetch mark, :
|
71
|
+
card = fetch mark, skip_virtual: true, skip_modules: true
|
72
72
|
card and card.id
|
73
73
|
end
|
74
74
|
|
75
75
|
def [](mark)
|
76
|
-
fetch mark, :
|
76
|
+
fetch mark, skip_virtual: true
|
77
77
|
end
|
78
78
|
|
79
79
|
def exists? mark
|
80
|
-
card = fetch mark, :
|
80
|
+
card = fetch mark, skip_virtual: true, skip_modules: true
|
81
81
|
card.present?
|
82
82
|
end
|
83
83
|
|
84
84
|
def known? mark
|
85
|
-
card = fetch mark, :
|
85
|
+
card = fetch mark, skip_modules: true
|
86
86
|
card.present?
|
87
87
|
end
|
88
88
|
|
@@ -170,7 +170,7 @@ module ClassMethods
|
|
170
170
|
end
|
171
171
|
|
172
172
|
def new_for_cache name, opts
|
173
|
-
new_args = { :name
|
173
|
+
new_args = { name: name, skip_modules: true }
|
174
174
|
new_args[:type_id] = -1 unless clean_cache_opts? opts
|
175
175
|
# The -1 type_id allows us to skip all the type lookup and flag the need for
|
176
176
|
# reinitialization later. *** It should NEVER be seen elsewhere ***
|
@@ -16,9 +16,9 @@ def initialize args={}
|
|
16
16
|
|
17
17
|
args.delete('type_id') if args['type_id'] == 0 # can come in as 0, '', or nil
|
18
18
|
@type_args = {
|
19
|
-
:
|
20
|
-
:
|
21
|
-
:
|
19
|
+
type: args.delete('type' ),
|
20
|
+
type_code: args.delete('type_code'),
|
21
|
+
type_id: args[ 'type_id' ]
|
22
22
|
}
|
23
23
|
|
24
24
|
args['db_content'] = args.delete('content') if args['content']
|
@@ -50,6 +50,6 @@ def include_set_modules
|
|
50
50
|
end
|
51
51
|
|
52
52
|
|
53
|
-
event :initialize_success_object, :
|
53
|
+
event :initialize_success_object, before: :handle do
|
54
54
|
Env[:success] = Success.new(cardname, Env.params[:success])
|
55
55
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
event :discard_deleted_locations, :
|
1
|
+
event :discard_deleted_locations, after: :store, on: :delete do
|
2
2
|
Env.discard_locations_for self
|
3
3
|
if success.target == self
|
4
4
|
success.target = :previous
|
5
5
|
end
|
6
6
|
end
|
7
7
|
|
8
|
-
event :save_current_location, :
|
8
|
+
event :save_current_location, before: :show, on: :read do
|
9
9
|
Env.save_location self
|
10
10
|
end
|
data/mod/01_core/set/all/name.rb
CHANGED
@@ -83,7 +83,7 @@ def tag *args
|
|
83
83
|
end
|
84
84
|
|
85
85
|
def left_or_new args={}
|
86
|
-
left args or Card.new args.merge(:
|
86
|
+
left args or Card.new args.merge(name: cardname.left)
|
87
87
|
end
|
88
88
|
|
89
89
|
def children
|
@@ -134,17 +134,17 @@ rescue
|
|
134
134
|
end
|
135
135
|
|
136
136
|
|
137
|
-
event :permit_codename, :
|
137
|
+
event :permit_codename, before: :approve, on: :update, changed: :codename do
|
138
138
|
errors.add :codename, 'only admins can set codename' unless Auth.always_ok?
|
139
139
|
end
|
140
140
|
|
141
|
-
event :validate_unique_codename, :
|
141
|
+
event :validate_unique_codename, after: :permit_codename do
|
142
142
|
if codename.present? and errors.empty? and Card.find_by_codename(codename).present?
|
143
143
|
errors.add :codename, "codename #{codename} already in use"
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
147
|
-
event :validate_name, :
|
147
|
+
event :validate_name, before: :approve, on: :save do
|
148
148
|
cdname = name.to_name
|
149
149
|
if name.length > 255
|
150
150
|
errors.add :name, "is too long (255 character maximum)"
|
@@ -157,7 +157,7 @@ event :validate_name, :before=>:approve, :on=>:save do
|
|
157
157
|
errors.add :name, "may not contain any of the following characters: #{ Card::Name.banned_array * ' ' }"
|
158
158
|
end
|
159
159
|
# this is to protect against using a plus card as a tag
|
160
|
-
if cdname.junction? and simple? and id and Auth.as_bot { Card.count_by_wql :
|
160
|
+
if cdname.junction? and simple? and id and Auth.as_bot { Card.count_by_wql right_id: id } > 0
|
161
161
|
errors.add :name, "#{name} in use as a tag"
|
162
162
|
end
|
163
163
|
|
@@ -175,15 +175,15 @@ event :validate_name, :before=>:approve, :on=>:save do
|
|
175
175
|
end
|
176
176
|
|
177
177
|
|
178
|
-
event :set_autoname, :
|
178
|
+
event :set_autoname, before: :validate_name, on: :create do
|
179
179
|
if name.blank? and autoname_card = rule_card(:autoname)
|
180
180
|
self.name = autoname autoname_card.content
|
181
|
-
Auth.as_bot { autoname_card.refresh.update_attributes! :
|
181
|
+
Auth.as_bot { autoname_card.refresh.update_attributes! content: name } #fixme, should give placeholder on new, do next and save on create
|
182
182
|
end
|
183
183
|
end
|
184
184
|
|
185
185
|
|
186
|
-
event :validate_key, :
|
186
|
+
event :validate_key, after: :validate_name, on: :save do
|
187
187
|
if key.empty?
|
188
188
|
errors.add :key, "cannot be blank" if errors.empty?
|
189
189
|
elsif key != cardname.key
|
@@ -191,7 +191,7 @@ event :validate_key, :after=>:validate_name, :on=>:save do
|
|
191
191
|
end
|
192
192
|
end
|
193
193
|
|
194
|
-
event :set_name, :
|
194
|
+
event :set_name, before: :store, changed: :name do
|
195
195
|
Card.expire name
|
196
196
|
Card.expire name_was
|
197
197
|
if cardname.junction?
|
@@ -203,7 +203,7 @@ event :set_name, :before=>:store, :changed=>:name do
|
|
203
203
|
suspend_name(sidename) if old_name_in_way
|
204
204
|
send "#{side}_id=", begin
|
205
205
|
if !sidecard || old_name_in_way
|
206
|
-
Card.create! :
|
206
|
+
Card.create! name: sidename, supercard: self
|
207
207
|
else
|
208
208
|
sidecard
|
209
209
|
end.id
|
@@ -215,7 +215,7 @@ event :set_name, :before=>:store, :changed=>:name do
|
|
215
215
|
end
|
216
216
|
|
217
217
|
|
218
|
-
event :rename, :
|
218
|
+
event :rename, after: :set_name, on: :update do
|
219
219
|
if existing_card = Card.find_by_key_and_trash(cardname.key, true) and existing_card != self
|
220
220
|
existing_card.name = existing_card.name+'*trash'
|
221
221
|
existing_card.rename_without_callbacks
|
@@ -228,11 +228,11 @@ def suspend_name(name)
|
|
228
228
|
# re-creating a card with the current name, ie. A -> A+B
|
229
229
|
Card.expire name
|
230
230
|
tmp_name = "tmp:" + UUID.new.generate
|
231
|
-
Card.where(:
|
231
|
+
Card.where(id: self.id).update_all(name: tmp_name, key: tmp_name)
|
232
232
|
end
|
233
233
|
|
234
234
|
|
235
|
-
event :cascade_name_changes, :
|
235
|
+
event :cascade_name_changes, after: :store, on: :update, changed: :name do
|
236
236
|
#Rails.logger.info "------------------- #{name_was} CASCADE #{self.name} -------------------------------------"
|
237
237
|
|
238
238
|
self.update_referencers = false if self.update_referencers == 'false' #handle strings from cgi
|
@@ -248,7 +248,7 @@ event :cascade_name_changes, :after=>:store, :on=>:update, :changed=>:name do
|
|
248
248
|
Rails.logger.info "cascading name: #{dep.name}"
|
249
249
|
Card.expire dep.name #old name
|
250
250
|
newname = dep.cardname.replace_part name_was, name
|
251
|
-
Card.where( :
|
251
|
+
Card.where( id: dep.id ).update_all name: newname.to_s, key: newname.key
|
252
252
|
Card::Reference.update_on_rename dep, newname, update_referencers
|
253
253
|
Card.expire newname
|
254
254
|
end
|
@@ -21,7 +21,7 @@ def reset_patterns_if_rule saving=false
|
|
21
21
|
|
22
22
|
#this is really messy.
|
23
23
|
if saving
|
24
|
-
self.add_to_read_rule_update_queue( set.item_cards :
|
24
|
+
self.add_to_read_rule_update_queue( set.item_cards limit: 0 ) if right.id == Card::ReadID
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
Card.error_codes.merge! :
|
2
|
+
Card.error_codes.merge! permission_denied: [:denial, 403], captcha: [:errors,449]
|
3
3
|
|
4
4
|
|
5
5
|
# ok? and ok! are public facing methods to approve one action at a time
|
@@ -7,8 +7,8 @@ Card.error_codes.merge! :permission_denied=>[:denial, 403], :captcha=>[:errors,4
|
|
7
7
|
# fetching: if the optional :trait parameter is supplied, it is passed
|
8
8
|
# to fetch and the test is perfomed on the fetched card, therefore:
|
9
9
|
#
|
10
|
-
# :
|
11
|
-
# :
|
10
|
+
# trait: :account would fetch this card plus a tag codenamed :account
|
11
|
+
# trait: :roles, new: {} would initialize a new card with default ({}) options.
|
12
12
|
|
13
13
|
|
14
14
|
def ok? action
|
@@ -44,7 +44,7 @@ def permission_rule_card action
|
|
44
44
|
|
45
45
|
rcard = Auth.as_bot do
|
46
46
|
if ['_left','[[_left]]'].member?(opcard.db_content) && self.junction? # compound cards can inherit permissions from left parent
|
47
|
-
lcard = left_or_new( :
|
47
|
+
lcard = left_or_new( skip_virtual: true, skip_modules: true )
|
48
48
|
if action==:create && lcard.real? && !lcard.action==:create
|
49
49
|
action = :update
|
50
50
|
end
|
@@ -102,7 +102,7 @@ def ok_to_create
|
|
102
102
|
if @action_ok and junction?
|
103
103
|
[:left, :right].each do |side|
|
104
104
|
next if side==:left && @superleft # left is supercard; create permissions will get checked there.
|
105
|
-
part_card = send side, :
|
105
|
+
part_card = send side, new: {}
|
106
106
|
if part_card && part_card.new_card? # if no card, there must be other errors
|
107
107
|
unless part_card.ok? :create
|
108
108
|
deny_because you_cant("create #{part_card.name}")
|
@@ -142,7 +142,7 @@ def ok_to_comment
|
|
142
142
|
end
|
143
143
|
|
144
144
|
|
145
|
-
event :set_read_rule, :
|
145
|
+
event :set_read_rule, before: :store do
|
146
146
|
if trash == true
|
147
147
|
self.read_rule_id = self.read_rule_class = nil
|
148
148
|
else
|
@@ -155,7 +155,7 @@ event :set_read_rule, :before=>:store do
|
|
155
155
|
|
156
156
|
if !new_card? && type_id_changed?
|
157
157
|
Auth.as_bot do
|
158
|
-
Card.search(:
|
158
|
+
Card.search(left: self.name).each do |plus_card|
|
159
159
|
plus_card = plus_card.refresh.update_read_rule
|
160
160
|
end
|
161
161
|
end
|
@@ -172,12 +172,12 @@ def update_read_rule
|
|
172
172
|
#warn "updating read rule for #{inspect} to #{rcard.inspect}, #{rclass}"
|
173
173
|
|
174
174
|
self.read_rule_class = rclass
|
175
|
-
Card.where(:
|
175
|
+
Card.where(id: self.id).update_all(read_rule_id: rcard.id, read_rule_class: rclass)
|
176
176
|
expire
|
177
177
|
|
178
178
|
# currently doing a brute force search for every card that may be impacted. may want to optimize(?)
|
179
179
|
Auth.as_bot do
|
180
|
-
Card.search(:
|
180
|
+
Card.search(left: self.name).each do |plus_card|
|
181
181
|
if plus_card.rule(:read) == '_left'
|
182
182
|
plus_card.update_read_rule
|
183
183
|
end
|
@@ -193,7 +193,7 @@ def add_to_read_rule_update_queue updates
|
|
193
193
|
end
|
194
194
|
|
195
195
|
|
196
|
-
event :check_permissions, :
|
196
|
+
event :check_permissions, after: :approve do
|
197
197
|
task = if @action != :delete && comment #will be obviated by new comment handling
|
198
198
|
:comment
|
199
199
|
else
|
@@ -231,10 +231,10 @@ def have_recaptcha_keys?
|
|
231
231
|
!!( Card.config.recaptcha_public_key && Card.config.recaptcha_private_key )
|
232
232
|
end
|
233
233
|
|
234
|
-
event :recaptcha, :
|
234
|
+
event :recaptcha, before: :approve do
|
235
235
|
if !@supercard && !Env[:recaptcha_used] && recaptcha_on?
|
236
236
|
Env[:recaptcha_used] = true
|
237
|
-
Env[:controller].verify_recaptcha :
|
237
|
+
Env[:controller].verify_recaptcha model: self, attribute: :captcha
|
238
238
|
end
|
239
239
|
end
|
240
240
|
|
@@ -121,26 +121,43 @@ end
|
|
121
121
|
|
122
122
|
|
123
123
|
def event_applies? opts
|
124
|
-
|
125
|
-
|
124
|
+
on_condition_applies?(opts[:on]) &&
|
125
|
+
changed_condition_applies?(opts[:changed]) &&
|
126
|
+
when_condition_applies?(opts[:when])
|
127
|
+
end
|
128
|
+
|
129
|
+
def on_condition_applies? action
|
130
|
+
if action
|
131
|
+
Array.wrap(action).member? @action
|
132
|
+
else
|
133
|
+
true
|
126
134
|
end
|
127
|
-
|
135
|
+
end
|
128
136
|
|
129
|
-
|
130
|
-
|
137
|
+
def changed_condition_applies? db_column
|
138
|
+
if db_column
|
139
|
+
db_column = 'db_content' if db_column.to_sym == :content
|
140
|
+
@action != :delete && changes[db_column.to_s]
|
141
|
+
else
|
142
|
+
true
|
131
143
|
end
|
132
|
-
|
133
|
-
|
144
|
+
end
|
145
|
+
|
146
|
+
def when_condition_applies? block
|
147
|
+
if block
|
148
|
+
block.call self
|
149
|
+
else
|
150
|
+
true
|
134
151
|
end
|
135
|
-
true
|
136
152
|
end
|
137
153
|
|
154
|
+
|
138
155
|
def subcards
|
139
156
|
@subcards ||= {}
|
140
157
|
end
|
141
158
|
|
142
159
|
|
143
|
-
event :process_subcards, :
|
160
|
+
event :process_subcards, after: :approve, on: :save do
|
144
161
|
subcards.keys.each do |sub_name|
|
145
162
|
opts = @subcards[sub_name] || {}
|
146
163
|
opts = { 'content' => opts } if String===opts
|
@@ -169,7 +186,7 @@ event :process_subcards, :after=>:approve, :on=>:save do
|
|
169
186
|
end
|
170
187
|
end
|
171
188
|
|
172
|
-
event :approve_subcards, :
|
189
|
+
event :approve_subcards, after: :process_subcards do
|
173
190
|
subcards.each do |key, subcard|
|
174
191
|
if !subcard.valid_subcard?
|
175
192
|
subcard.errors.each do |field, err|
|
@@ -180,9 +197,9 @@ event :approve_subcards, :after=>:process_subcards do
|
|
180
197
|
end
|
181
198
|
end
|
182
199
|
|
183
|
-
event :store_subcards, :
|
200
|
+
event :store_subcards, after: :store do
|
184
201
|
subcards.each do |key, sub|
|
185
|
-
sub.save! :
|
202
|
+
sub.save! validate: false #unless @draft
|
186
203
|
end
|
187
204
|
end
|
188
205
|
|
@@ -16,7 +16,7 @@ def replace_references old_name, new_name
|
|
16
16
|
obj_content.find_chunks( Card::Chunk::Reference ).select do |chunk|
|
17
17
|
if old_ref_name = chunk.referee_name and new_ref_name = old_ref_name.replace_part(old_name, new_name)
|
18
18
|
chunk.referee_name = chunk.replace_reference old_name, new_name
|
19
|
-
Card::Reference.where( :
|
19
|
+
Card::Reference.where( referee_key: old_ref_name.key ).update_all referee_key: new_ref_name.key
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
@@ -30,7 +30,7 @@ def update_references rendered_content = nil, refresh = false
|
|
30
30
|
Card::Reference.delete_all_from self
|
31
31
|
|
32
32
|
# FIXME: why not like this: references_expired = nil # do we have to make sure this is saved?
|
33
|
-
#Card.update( id, :
|
33
|
+
#Card.update( id, references_expired: nil )
|
34
34
|
# or just this and save it elsewhere?
|
35
35
|
#references_expired=nil
|
36
36
|
|
@@ -67,11 +67,11 @@ def update_references rendered_content = nil, refresh = false
|
|
67
67
|
else 'P'
|
68
68
|
end
|
69
69
|
Card::Reference.create!(
|
70
|
-
:
|
71
|
-
:
|
72
|
-
:
|
73
|
-
:
|
74
|
-
:
|
70
|
+
referer_id: id,
|
71
|
+
referee_id: Card.where(key: name.key).pluck(:id).first,
|
72
|
+
referee_key: name.key,
|
73
|
+
ref_type: ref_type,
|
74
|
+
present: 1
|
75
75
|
)
|
76
76
|
end
|
77
77
|
end
|
@@ -89,18 +89,18 @@ def referencers
|
|
89
89
|
end
|
90
90
|
|
91
91
|
def includers
|
92
|
-
return [] unless refs = references_from.where( :
|
92
|
+
return [] unless refs = references_from.where( ref_type: 'I' )
|
93
93
|
refs.map(&:referer_id).map( &Card.method(:fetch) ).compact
|
94
94
|
end
|
95
95
|
|
96
96
|
def referees
|
97
97
|
return [] unless refs = references_to
|
98
|
-
refs.map { |ref| Card.fetch ref.referee_key, :
|
98
|
+
refs.map { |ref| Card.fetch ref.referee_key, new: {} }.compact
|
99
99
|
end
|
100
100
|
|
101
101
|
def includees
|
102
|
-
return [] unless refs = references_to.where( :
|
103
|
-
refs.map { |ref| Card.fetch ref.referee_key, :
|
102
|
+
return [] unless refs = references_to.where( ref_type: 'I' )
|
103
|
+
refs.map { |ref| Card.fetch ref.referee_key, new: {} }.compact
|
104
104
|
end
|
105
105
|
|
106
106
|
|
@@ -108,17 +108,17 @@ end
|
|
108
108
|
protected
|
109
109
|
|
110
110
|
|
111
|
-
event :refresh_references, :
|
111
|
+
event :refresh_references, after: :store, on: :save do
|
112
112
|
self.update_references
|
113
113
|
expire_structuree_references
|
114
114
|
end
|
115
115
|
|
116
|
-
event :refresh_references_on_create, :
|
116
|
+
event :refresh_references_on_create, before: :refresh_references, on: :create do
|
117
117
|
Card::Reference.update_existing_key self
|
118
118
|
# FIXME: bogus blank default content is set on structured cards...
|
119
119
|
end
|
120
120
|
|
121
|
-
event :refresh_references_on_delete, :
|
121
|
+
event :refresh_references_on_delete, after: :store, on: :delete do
|
122
122
|
Card::Reference.update_on_delete self
|
123
123
|
expire_structuree_references
|
124
124
|
end
|