card 1.102.0 → 1.103.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (563) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/config/environments/production.rb +9 -9
  4. data/config/initializers/02_patches/active_record.rb +2 -2
  5. data/config/locales/en.yml +0 -144
  6. data/db/migrate_core_cards/20130411191151_renaming_for_menu.rb +0 -1
  7. data/db/migrate_core_cards/20140317035504_account_requests_to_signups.rb +0 -2
  8. data/db/migrate_core_cards/20150202143810_import_bootstrap_layout.rb +0 -2
  9. data/db/migrate_core_cards/20190417142612_reorganize_scripts_2.rb +2 -4
  10. data/db/migrate_core_cards/20190502130029_add_shark_and_help_desk_role.rb +1 -1
  11. data/db/migrate_core_cards/20190710090209_homepage_tweaks.rb +3 -7
  12. data/db/migrate_core_cards/20190823220018_cleanup_for_decko_1_0.rb +2 -4
  13. data/db/migrate_core_cards/20190902193208_input_type.rb +3 -8
  14. data/db/migrate_core_cards/20190904174403_token_upgrade.rb +1 -1
  15. data/db/migrate_core_cards/20200821231558_add_nest_list_type.rb +2 -2
  16. data/db/migrate_core_cards/data/1.12_stylesheets/traditional.scss +1 -2
  17. data/db/seed/new/card_actions.yml +1875 -1363
  18. data/db/seed/new/card_acts.yml +2 -2
  19. data/db/seed/new/card_references.yml +1040 -536
  20. data/db/seed/new/cards.yml +3577 -2194
  21. data/db/seed/new/schema_migrations_core_cards.yml +20 -0
  22. data/db/seed/test/fixtures/card_actions.yml +4713 -4121
  23. data/db/seed/test/fixtures/card_acts.yml +755 -695
  24. data/db/seed/test/fixtures/card_changes.yml +103 -103
  25. data/db/seed/test/fixtures/card_references.yml +3185 -2632
  26. data/db/seed/test/fixtures/cards.yml +10091 -8454
  27. data/db/seed/test/fixtures/schema_migrations_core_cards.yml +20 -0
  28. data/db/test_seed.rb +6 -1
  29. data/lib/card/auth/current.rb +1 -1
  30. data/lib/card/cache/persistent.rb +1 -1
  31. data/lib/card/cache/persistent_class.rb +1 -1
  32. data/lib/card/cache.rb +1 -1
  33. data/lib/card/codename.rb +1 -1
  34. data/lib/card/content/chunk.rb +0 -1
  35. data/lib/card/content/diff/summary.rb +14 -18
  36. data/lib/card/content.rb +9 -1
  37. data/lib/card/director/act_direction.rb +5 -3
  38. data/lib/card/director/all.rb +4 -4
  39. data/lib/card/director/stages.rb +2 -0
  40. data/lib/card/error.rb +1 -1
  41. data/lib/card/fetch/results.rb +6 -6
  42. data/lib/card/{tasks/card/file_card_creator → file_card_creator}/abstract_file_card/migration_file.rb +0 -0
  43. data/lib/card/{tasks/card/file_card_creator → file_card_creator}/abstract_file_card/ruby_file.rb +0 -0
  44. data/lib/card/{tasks/card/file_card_creator → file_card_creator}/abstract_file_card/source_file.rb +0 -0
  45. data/lib/card/{tasks/card/file_card_creator → file_card_creator}/abstract_file_card.rb +0 -5
  46. data/lib/card/{tasks/card/file_card_creator → file_card_creator}/haml_card.rb +0 -0
  47. data/lib/card/{tasks/card/file_card_creator → file_card_creator}/output_helper.rb +0 -0
  48. data/lib/card/{tasks/card/file_card_creator → file_card_creator}/script_card.rb +0 -0
  49. data/lib/card/{tasks/card/file_card_creator → file_card_creator}/style_card.rb +0 -0
  50. data/lib/card/{tasks/card/file_card_creator.rb → file_card_creator.rb} +0 -5
  51. data/lib/card/format/content.rb +5 -7
  52. data/lib/card/format/error.rb +1 -1
  53. data/lib/card/format/nest/fetch.rb +1 -1
  54. data/lib/card/format/render.rb +10 -10
  55. data/lib/card/format.rb +4 -9
  56. data/lib/card/lexicon.rb +30 -7
  57. data/lib/card/model/save_helper/save_arguments.rb +3 -1
  58. data/lib/card/name/card_class.rb +1 -1
  59. data/lib/card/name.rb +6 -6
  60. data/lib/card/reference/all.rb +1 -1
  61. data/lib/card/set/card_methods.rb +13 -0
  62. data/lib/card/set/event/skip_and_trigger.rb +8 -0
  63. data/lib/card/set/format/abstract_format/wrapper.rb +1 -1
  64. data/lib/card/set/format/abstract_format.rb +2 -1
  65. data/lib/card/set/format/haml_paths.rb +6 -5
  66. data/lib/card/set/format.rb +2 -3
  67. data/lib/card/set/helpers.rb +55 -0
  68. data/lib/card/set/inheritance.rb +1 -1
  69. data/lib/card/set/pattern/all.rb +7 -6
  70. data/lib/card/set/pattern/class_methods.rb +2 -2
  71. data/lib/card/set/pattern.rb +30 -19
  72. data/lib/card/set/registrar.rb +8 -2
  73. data/lib/card/set/type.rb +1 -1
  74. data/lib/card/set.rb +14 -7
  75. data/lib/card/view/classy.rb +15 -27
  76. data/lib/card/view/options/voo_api.rb +3 -1
  77. data/lib/card/view.rb +1 -0
  78. data/lib/card.rb +9 -11
  79. data/lib/cardio/all.rb +1 -0
  80. data/lib/cardio/application.rb +3 -132
  81. data/lib/cardio/delaying.rb +3 -3
  82. data/lib/cardio/generators/class_methods.rb +1 -1
  83. data/lib/cardio/generators/deck_helper.rb +0 -4
  84. data/lib/cardio/migration/deck_structure.rb +1 -1
  85. data/lib/cardio/migration.rb +8 -27
  86. data/lib/cardio/mod/dirs.rb +41 -41
  87. data/lib/cardio/mod/load_strategy/eval.rb +1 -1
  88. data/lib/cardio/mod/load_strategy/pattern_tmp_files.rb +1 -1
  89. data/lib/cardio/mod/load_strategy/set_binding_magic.rb +1 -1
  90. data/lib/cardio/mod/load_strategy/set_tmp_files.rb +11 -5
  91. data/lib/cardio/mod/load_strategy/tmp_files.rb +1 -1
  92. data/lib/cardio/mod/load_strategy.rb +4 -5
  93. data/lib/cardio/mod/loader/set_loader.rb +14 -14
  94. data/lib/cardio/mod/loader/set_pattern_loader.rb +1 -1
  95. data/lib/cardio/mod/loader/set_template.rb +1 -1
  96. data/lib/cardio/mod/loader.rb +3 -3
  97. data/lib/cardio/mod/modfile_api.rb +22 -0
  98. data/lib/cardio/mod/modfile_loader.rb +18 -0
  99. data/lib/cardio/mod/module_template.rb +1 -1
  100. data/lib/cardio/mod.rb +55 -2
  101. data/lib/cardio/railtie.rb +138 -0
  102. data/lib/cardio/schema.rb +68 -69
  103. data/lib/cardio/utils.rb +22 -28
  104. data/lib/cardio.rb +5 -10
  105. data/lib/generators/deck/templates/Gemfile.erb +1 -1
  106. data/lib/generators/deck/templates/Rakefile.erb +6 -2
  107. data/lib/generators/deck/templates/simplecov.rb.erb +7 -11
  108. data/lib/generators/migration/migration_generator.rb +1 -1
  109. data/lib/generators/mod/mod_generator.rb +10 -14
  110. data/lib/tasks/card/asset.rake +22 -0
  111. data/lib/{card/tasks → tasks}/card/create.rake +0 -0
  112. data/lib/{card/tasks → tasks}/card/migrate.rake +7 -7
  113. data/lib/tasks/card/mod.rake +30 -0
  114. data/lib/{card/tasks → tasks}/card.rake +0 -18
  115. data/mod/admin/locales/en.yml +4 -0
  116. data/mod/admin/set/all/admin.rb +16 -0
  117. data/mod/admin/set/self/admin.rb +4 -8
  118. data/mod/admin/set/self/admin_info.rb +2 -5
  119. data/mod/core/locales/en.yml +29 -0
  120. data/mod/core/set/all/initialize.rb +5 -1
  121. data/mod/core/set/all/name_events.rb +2 -2
  122. data/mod/core/set/all/reference_events.rb +5 -10
  123. data/mod/core/set/all/trash.rb +2 -3
  124. data/mod/core/set/all/utils.rb +2 -2
  125. data/mod/core/spec/set/all/name_events_spec.rb +10 -10
  126. data/mod/core/spec/set/all/trash_spec.rb +1 -1
  127. data/tmpsets/set_pattern/100-all.rb +1 -1
  128. data/tmpsets/set_pattern/101-all_plus.rb +1 -1
  129. data/tmpsets/set_pattern/102-type.rb +1 -1
  130. data/tmpsets/set_pattern/103-star.rb +1 -1
  131. data/tmpsets/set_pattern/104-rstar.rb +1 -1
  132. data/tmpsets/set_pattern/105-rule.rb +1 -1
  133. data/tmpsets/set_pattern/106-right.rb +1 -1
  134. data/tmpsets/set_pattern/107-type_plus_right.rb +1 -1
  135. data/tmpsets/set_pattern/108-self.rb +1 -1
  136. metadata +78 -496
  137. data/lib/card/set/basket.rb +0 -59
  138. data/lib/cardio/defaults.yml +0 -71
  139. data/tmpsets/set/mod001-admin/self/admin.rb +0 -155
  140. data/tmpsets/set/mod001-admin/self/admin_info.rb +0 -52
  141. data/tmpsets/set/mod001-admin/self/debugger.rb +0 -12
  142. data/tmpsets/set/mod002-core/all/abort.rb +0 -85
  143. data/tmpsets/set/mod002-core/all/assign_attributes.rb +0 -119
  144. data/tmpsets/set/mod002-core/all/autoname.rb +0 -26
  145. data/tmpsets/set/mod002-core/all/codename.rb +0 -39
  146. data/tmpsets/set/mod002-core/all/collection.rb +0 -62
  147. data/tmpsets/set/mod002-core/all/content.rb +0 -74
  148. data/tmpsets/set/mod002-core/all/debug.rb +0 -29
  149. data/tmpsets/set/mod002-core/all/initialize.rb +0 -93
  150. data/tmpsets/set/mod002-core/all/name_events.rb +0 -172
  151. data/tmpsets/set/mod002-core/all/reference_events.rb +0 -78
  152. data/tmpsets/set/mod002-core/all/states.rb +0 -93
  153. data/tmpsets/set/mod002-core/all/subcards.rb +0 -29
  154. data/tmpsets/set/mod002-core/all/trash.rb +0 -142
  155. data/tmpsets/set/mod002-core/all/type.rb +0 -70
  156. data/tmpsets/set/mod002-core/all/utils.rb +0 -104
  157. data/tmpsets/set/mod002-core/right/autoname.rb +0 -12
  158. data/tmpsets/set/mod002-core/self/autoname.rb +0 -12
  159. data/tmpsets/set/mod002-core/self/trash.rb +0 -73
  160. data/tmpsets/set/mod002-core/self/version.rb +0 -18
  161. data/tmpsets/set/mod002-core/type/cardtype.rb +0 -37
  162. data/tmpsets/set/mod004-email/abstract/email_field.rb +0 -49
  163. data/tmpsets/set/mod004-email/abstract/test_context.rb +0 -36
  164. data/tmpsets/set/mod004-email/all/email_html.rb +0 -18
  165. data/tmpsets/set/mod004-email/all/email_text.rb +0 -22
  166. data/tmpsets/set/mod004-email/right/bcc.rb +0 -10
  167. data/tmpsets/set/mod004-email/right/cc.rb +0 -10
  168. data/tmpsets/set/mod004-email/right/from.rb +0 -10
  169. data/tmpsets/set/mod004-email/right/html_message.rb +0 -23
  170. data/tmpsets/set/mod004-email/right/subject.rb +0 -10
  171. data/tmpsets/set/mod004-email/right/text_message.rb +0 -10
  172. data/tmpsets/set/mod004-email/right/to.rb +0 -10
  173. data/tmpsets/set/mod004-email/type/email_template/email_config.rb +0 -92
  174. data/tmpsets/set/mod004-email/type/email_template.rb +0 -101
  175. data/tmpsets/set/mod005-collection/abstract/items.rb +0 -215
  176. data/tmpsets/set/mod005-collection/abstract/paging/paging_links.rb +0 -99
  177. data/tmpsets/set/mod005-collection/abstract/paging/paging_views.rb +0 -121
  178. data/tmpsets/set/mod005-collection/abstract/paging.rb +0 -74
  179. data/tmpsets/set/mod005-collection/all/extended.rb +0 -59
  180. data/tmpsets/set/mod005-collection/all/item.rb +0 -145
  181. data/tmpsets/set/mod006-content/abstract/00_sources.rb +0 -33
  182. data/tmpsets/set/mod006-content/abstract/01_code_file.rb +0 -94
  183. data/tmpsets/set/mod006-content/abstract/asset_file.rb +0 -84
  184. data/tmpsets/set/mod006-content/abstract/haml_file.rb +0 -32
  185. data/tmpsets/set/mod006-content/abstract/lock.rb +0 -36
  186. data/tmpsets/set/mod006-content/abstract/read_only.rb +0 -23
  187. data/tmpsets/set/mod006-content/abstract/templated_nests.rb +0 -16
  188. data/tmpsets/set/mod006-content/abstract/vendor_code_file.rb +0 -18
  189. data/tmpsets/set/mod006-content/all/chunk.rb +0 -151
  190. data/tmpsets/set/mod006-content/all/contextual_content.rb +0 -29
  191. data/tmpsets/set/mod006-content/all/templating.rb +0 -79
  192. data/tmpsets/set/mod006-content/right/default.rb +0 -43
  193. data/tmpsets/set/mod006-content/right/structure.rb +0 -85
  194. data/tmpsets/set/mod006-content/self/default.rb +0 -11
  195. data/tmpsets/set/mod006-content/self/structure.rb +0 -13
  196. data/tmpsets/set/mod007-format/all/active_card.rb +0 -14
  197. data/tmpsets/set/mod007-format/all/base.rb +0 -148
  198. data/tmpsets/set/mod007-format/all/content.rb +0 -77
  199. data/tmpsets/set/mod007-format/all/css.rb +0 -45
  200. data/tmpsets/set/mod007-format/all/csv.rb +0 -103
  201. data/tmpsets/set/mod007-format/all/demo.rb +0 -45
  202. data/tmpsets/set/mod007-format/all/error.rb +0 -81
  203. data/tmpsets/set/mod007-format/all/export.rb +0 -79
  204. data/tmpsets/set/mod007-format/all/file.rb +0 -18
  205. data/tmpsets/set/mod007-format/all/frame.rb +0 -58
  206. data/tmpsets/set/mod007-format/all/haml.rb +0 -84
  207. data/tmpsets/set/mod007-format/all/head.rb +0 -170
  208. data/tmpsets/set/mod007-format/all/header.rb +0 -71
  209. data/tmpsets/set/mod007-format/all/html_content.rb +0 -178
  210. data/tmpsets/set/mod007-format/all/html_error.rb +0 -217
  211. data/tmpsets/set/mod007-format/all/html_show.rb +0 -62
  212. data/tmpsets/set/mod007-format/all/html_title.rb +0 -56
  213. data/tmpsets/set/mod007-format/all/html_wrapper.rb +0 -173
  214. data/tmpsets/set/mod007-format/all/js.rb +0 -18
  215. data/tmpsets/set/mod007-format/all/json.rb +0 -174
  216. data/tmpsets/set/mod007-format/all/links.rb +0 -160
  217. data/tmpsets/set/mod007-format/all/menu.rb +0 -138
  218. data/tmpsets/set/mod007-format/all/path.rb +0 -88
  219. data/tmpsets/set/mod007-format/all/rich_html.rb +0 -25
  220. data/tmpsets/set/mod007-format/all/rss.rb +0 -86
  221. data/tmpsets/set/mod007-format/all/text.rb +0 -15
  222. data/tmpsets/set/mod007-format/self/home.rb +0 -18
  223. data/tmpsets/set/mod007-format/type/cardtype.rb +0 -98
  224. data/tmpsets/set/mod007-format/type/html.rb +0 -36
  225. data/tmpsets/set/mod007-format/type/json.rb +0 -50
  226. data/tmpsets/set/mod007-format/type/number.rb +0 -33
  227. data/tmpsets/set/mod007-format/type/phrase.rb +0 -14
  228. data/tmpsets/set/mod007-format/type/plain_text.rb +0 -18
  229. data/tmpsets/set/mod007-format/type/toggle.rb +0 -47
  230. data/tmpsets/set/mod007-format/type/uri.rb +0 -24
  231. data/tmpsets/set/mod008-list/abstract/01_pointer/events.rb +0 -80
  232. data/tmpsets/set/mod008-list/abstract/01_pointer/html_views/filter.rb +0 -72
  233. data/tmpsets/set/mod008-list/abstract/01_pointer/html_views.rb +0 -131
  234. data/tmpsets/set/mod008-list/abstract/01_pointer/options_api.rb +0 -87
  235. data/tmpsets/set/mod008-list/abstract/01_pointer/other_views.rb +0 -112
  236. data/tmpsets/set/mod008-list/abstract/01_pointer.rb +0 -19
  237. data/tmpsets/set/mod008-list/abstract/code_pointer.rb +0 -44
  238. data/tmpsets/set/mod008-list/abstract/id_pointer.rb +0 -30
  239. data/tmpsets/set/mod008-list/all/supports_content_options.rb +0 -16
  240. data/tmpsets/set/mod008-list/right/content_option_view.rb +0 -19
  241. data/tmpsets/set/mod008-list/right/content_options.rb +0 -32
  242. data/tmpsets/set/mod008-list/self/content_option_view.rb +0 -18
  243. data/tmpsets/set/mod008-list/self/content_options.rb +0 -18
  244. data/tmpsets/set/mod008-list/self/input_options.rb +0 -23
  245. data/tmpsets/set/mod008-list/type/link_list.rb +0 -49
  246. data/tmpsets/set/mod008-list/type/list.rb +0 -25
  247. data/tmpsets/set/mod008-list/type/nest_list.rb +0 -55
  248. data/tmpsets/set/mod008-list/type/pointer.rb +0 -19
  249. data/tmpsets/set/mod009-permissions/abstract/permission.rb +0 -132
  250. data/tmpsets/set/mod009-permissions/all/permissions.rb +0 -240
  251. data/tmpsets/set/mod009-permissions/all/update_read_rules.rb +0 -20
  252. data/tmpsets/set/mod009-permissions/right/create.rb +0 -10
  253. data/tmpsets/set/mod009-permissions/right/delete.rb +0 -10
  254. data/tmpsets/set/mod009-permissions/right/read.rb +0 -86
  255. data/tmpsets/set/mod009-permissions/right/update.rb +0 -10
  256. data/tmpsets/set/mod009-permissions/self/create.rb +0 -12
  257. data/tmpsets/set/mod009-permissions/self/delete.rb +0 -12
  258. data/tmpsets/set/mod009-permissions/self/read.rb +0 -12
  259. data/tmpsets/set/mod009-permissions/self/update.rb +0 -12
  260. data/tmpsets/set/mod010-account/abstract/account_field.rb +0 -31
  261. data/tmpsets/set/mod010-account/abstract/accountable.rb +0 -62
  262. data/tmpsets/set/mod010-account/all/account.rb +0 -115
  263. data/tmpsets/set/mod010-account/right/account/events.rb +0 -108
  264. data/tmpsets/set/mod010-account/right/account/views.rb +0 -74
  265. data/tmpsets/set/mod010-account/right/account.rb +0 -62
  266. data/tmpsets/set/mod010-account/right/email.rb +0 -56
  267. data/tmpsets/set/mod010-account/right/password.rb +0 -61
  268. data/tmpsets/set/mod010-account/right/roles.rb +0 -36
  269. data/tmpsets/set/mod010-account/right/salt.rb +0 -22
  270. data/tmpsets/set/mod010-account/right/status.rb +0 -27
  271. data/tmpsets/set/mod010-account/self/signin.rb +0 -222
  272. data/tmpsets/set/mod010-account/type/role.rb +0 -30
  273. data/tmpsets/set/mod010-account/type/signup/views.rb +0 -107
  274. data/tmpsets/set/mod010-account/type/signup.rb +0 -63
  275. data/tmpsets/set/mod010-account/type/user.rb +0 -76
  276. data/tmpsets/set/mod010-account/type_plus_right/user/email.rb +0 -22
  277. data/tmpsets/set/mod011-edit/all/bridge/bridge_pills.rb +0 -56
  278. data/tmpsets/set/mod011-edit/all/bridge/follow_section.rb +0 -46
  279. data/tmpsets/set/mod011-edit/all/bridge/related_section.rb +0 -43
  280. data/tmpsets/set/mod011-edit/all/bridge/tab_views.rb +0 -50
  281. data/tmpsets/set/mod011-edit/all/bridge/tab_visibility.rb +0 -67
  282. data/tmpsets/set/mod011-edit/all/bridge.rb +0 -73
  283. data/tmpsets/set/mod011-edit/all/edit_content.rb +0 -69
  284. data/tmpsets/set/mod011-edit/all/edit_inline.rb +0 -65
  285. data/tmpsets/set/mod011-edit/all/edit_name.rb +0 -65
  286. data/tmpsets/set/mod011-edit/all/edit_type.rb +0 -129
  287. data/tmpsets/set/mod011-edit/all/editing.rb +0 -100
  288. data/tmpsets/set/mod011-edit/all/editor.rb +0 -63
  289. data/tmpsets/set/mod011-edit/all/form.rb +0 -257
  290. data/tmpsets/set/mod011-edit/all/form_buttons.rb +0 -82
  291. data/tmpsets/set/mod011-edit/all/form_elements.rb +0 -81
  292. data/tmpsets/set/mod011-edit/all/formgroup.rb +0 -46
  293. data/tmpsets/set/mod011-edit/all/new.rb +0 -195
  294. data/tmpsets/set/mod011-edit/all/overlay_guide.rb +0 -18
  295. data/tmpsets/set/mod011-edit/all/template_nest.rb +0 -51
  296. data/tmpsets/set/mod011-edit/right/input_type.rb +0 -44
  297. data/tmpsets/set/mod011-edit/self/input_type.rb +0 -21
  298. data/tmpsets/set/mod011-edit/type/list.rb +0 -24
  299. data/tmpsets/set/mod011-edit/type/plain_text.rb +0 -22
  300. data/tmpsets/set/mod011-edit/type/pointer.rb +0 -20
  301. data/tmpsets/set/mod012-history/all/history/act_listing.rb +0 -136
  302. data/tmpsets/set/mod012-history/all/history/actions.rb +0 -137
  303. data/tmpsets/set/mod012-history/all/history/acts.rb +0 -17
  304. data/tmpsets/set/mod012-history/all/history/events.rb +0 -109
  305. data/tmpsets/set/mod012-history/all/history/last.rb +0 -107
  306. data/tmpsets/set/mod012-history/all/history/revision.rb +0 -74
  307. data/tmpsets/set/mod012-history/all/history/selected.rb +0 -73
  308. data/tmpsets/set/mod012-history/all/history/views.rb +0 -75
  309. data/tmpsets/set/mod012-history/all/history.rb +0 -119
  310. data/tmpsets/set/mod012-history/all/history_bridge.rb +0 -88
  311. data/tmpsets/set/mod013-carrierwave/abstract/attachment/cloud.rb +0 -146
  312. data/tmpsets/set/mod013-carrierwave/abstract/attachment/coded.rb +0 -36
  313. data/tmpsets/set/mod013-carrierwave/abstract/attachment/local.rb +0 -52
  314. data/tmpsets/set/mod013-carrierwave/abstract/attachment/paths.rb +0 -68
  315. data/tmpsets/set/mod013-carrierwave/abstract/attachment/storage_type.rb +0 -180
  316. data/tmpsets/set/mod013-carrierwave/abstract/attachment/upload_cache.rb +0 -98
  317. data/tmpsets/set/mod013-carrierwave/abstract/attachment/web.rb +0 -12
  318. data/tmpsets/set/mod013-carrierwave/abstract/attachment.rb +0 -144
  319. data/tmpsets/set/mod013-carrierwave/all/file_utils.rb +0 -50
  320. data/tmpsets/set/mod013-carrierwave/self/admin.rb +0 -32
  321. data/tmpsets/set/mod013-carrierwave/self/favicon.rb +0 -26
  322. data/tmpsets/set/mod013-carrierwave/self/new_file.rb +0 -22
  323. data/tmpsets/set/mod013-carrierwave/self/new_image.rb +0 -22
  324. data/tmpsets/set/mod013-carrierwave/type/file.rb +0 -144
  325. data/tmpsets/set/mod013-carrierwave/type/image/html_views.rb +0 -88
  326. data/tmpsets/set/mod013-carrierwave/type/image.rb +0 -113
  327. data/tmpsets/set/mod014-virtual/abstract/virtual_cache.rb +0 -52
  328. data/tmpsets/set/mod015-machines/abstract/machine/output_cache.rb +0 -25
  329. data/tmpsets/set/mod015-machines/abstract/machine/output_update.rb +0 -84
  330. data/tmpsets/set/mod015-machines/abstract/machine.rb +0 -230
  331. data/tmpsets/set/mod015-machines/abstract/machine_input.rb +0 -82
  332. data/tmpsets/set/mod015-machines/all/reset_machines.rb +0 -31
  333. data/tmpsets/set/mod015-machines/right/machine_cache.rb +0 -14
  334. data/tmpsets/set/mod015-machines/right/machine_input.rb +0 -16
  335. data/tmpsets/set/mod015-machines/right/machine_output.rb +0 -53
  336. data/tmpsets/set/mod016-script/abstract/01_asset_java_script.rb +0 -32
  337. data/tmpsets/set/mod016-script/abstract/asset_coffee_script.rb +0 -34
  338. data/tmpsets/set/mod016-script/abstract/asset_list.rb +0 -98
  339. data/tmpsets/set/mod016-script/abstract/manifest_group.rb +0 -22
  340. data/tmpsets/set/mod016-script/abstract/mod_assets.rb +0 -145
  341. data/tmpsets/set/mod016-script/abstract/script.rb +0 -98
  342. data/tmpsets/set/mod016-script/right/script.rb +0 -30
  343. data/tmpsets/set/mod016-script/self/script.rb +0 -10
  344. data/tmpsets/set/mod016-script/self/script_html5shiv_printshiv.rb +0 -20
  345. data/tmpsets/set/mod016-script/self/script_mods.rb +0 -10
  346. data/tmpsets/set/mod016-script/type/01_coffee_script.rb +0 -35
  347. data/tmpsets/set/mod016-script/type/02_java_script.rb +0 -24
  348. data/tmpsets/set/mod016-script/type/local_folder_group.rb +0 -30
  349. data/tmpsets/set/mod016-script/type/local_manifest_group.rb +0 -35
  350. data/tmpsets/set/mod016-script/type/mod_script_assets.rb +0 -22
  351. data/tmpsets/set/mod016-script/type/remote_manifest_group.rb +0 -41
  352. data/tmpsets/set/mod017-ace_editor/all/ace_editor.rb +0 -20
  353. data/tmpsets/set/mod017-ace_editor/self/ace.rb +0 -16
  354. data/tmpsets/set/mod017-ace_editor/self/script_ace.rb +0 -12
  355. data/tmpsets/set/mod017-ace_editor/self/script_ace_config.rb +0 -12
  356. data/tmpsets/set/mod018-alias/all/alias.rb +0 -30
  357. data/tmpsets/set/mod018-alias/all_plus/alias.rb +0 -31
  358. data/tmpsets/set/mod018-alias/type/alias.rb +0 -42
  359. data/tmpsets/set/mod019-api_key/right/account.rb +0 -18
  360. data/tmpsets/set/mod019-api_key/right/api_key.rb +0 -103
  361. data/tmpsets/set/mod020-style/abstract/skin_box.rb +0 -44
  362. data/tmpsets/set/mod020-style/right/style.rb +0 -65
  363. data/tmpsets/set/mod020-style/self/style.rb +0 -13
  364. data/tmpsets/set/mod020-style/self/style_bootstrap_compatible.rb +0 -10
  365. data/tmpsets/set/mod020-style/self/style_cards.rb +0 -10
  366. data/tmpsets/set/mod020-style/self/style_jquery_ui_smoothness.rb +0 -10
  367. data/tmpsets/set/mod020-style/self/style_libraries.rb +0 -10
  368. data/tmpsets/set/mod020-style/self/style_mods.rb +0 -10
  369. data/tmpsets/set/mod020-style/type/css.rb +0 -95
  370. data/tmpsets/set/mod020-style/type/scss.rb +0 -30
  371. data/tmpsets/set/mod020-style/type/skin.rb +0 -18
  372. data/tmpsets/set/mod021-bar_and_box/abstract/media.rb +0 -26
  373. data/tmpsets/set/mod021-bar_and_box/all/bar.rb +0 -112
  374. data/tmpsets/set/mod021-bar_and_box/all/box.rb +0 -25
  375. data/tmpsets/set/mod021-bar_and_box/self/style_media.rb +0 -15
  376. data/tmpsets/set/mod021-bar_and_box/type/image.rb +0 -47
  377. data/tmpsets/set/mod022-bootstrap/abstract/bootstrap_code_file.rb +0 -65
  378. data/tmpsets/set/mod022-bootstrap/abstract/bootswatch_theme/html_views.rb +0 -39
  379. data/tmpsets/set/mod022-bootstrap/abstract/bootswatch_theme.rb +0 -167
  380. data/tmpsets/set/mod022-bootstrap/abstract/bs_badge.rb +0 -31
  381. data/tmpsets/set/mod022-bootstrap/all/bootstrap/accordion.rb +0 -72
  382. data/tmpsets/set/mod022-bootstrap/all/bootstrap/dropdown.rb +0 -93
  383. data/tmpsets/set/mod022-bootstrap/all/bootstrap/form.rb +0 -44
  384. data/tmpsets/set/mod022-bootstrap/all/bootstrap/helper.rb +0 -73
  385. data/tmpsets/set/mod022-bootstrap/all/bootstrap/icon.rb +0 -125
  386. data/tmpsets/set/mod022-bootstrap/all/bootstrap/navbar.rb +0 -55
  387. data/tmpsets/set/mod022-bootstrap/all/bootstrap/table.rb +0 -110
  388. data/tmpsets/set/mod022-bootstrap/all/bootstrap/tabs.rb +0 -49
  389. data/tmpsets/set/mod022-bootstrap/all/bootstrap/wrapper.rb +0 -27
  390. data/tmpsets/set/mod022-bootstrap/all/rich_bootstrap.rb +0 -24
  391. data/tmpsets/set/mod022-bootstrap/self/bootstrap_core.rb +0 -23
  392. data/tmpsets/set/mod022-bootstrap/self/bootstrap_functions.rb +0 -14
  393. data/tmpsets/set/mod022-bootstrap/self/font_awesome.rb +0 -11
  394. data/tmpsets/set/mod022-bootstrap/self/material_icons.rb +0 -11
  395. data/tmpsets/set/mod022-bootstrap/self/script_load_select2.rb +0 -11
  396. data/tmpsets/set/mod022-bootstrap/self/smartmenu_css.rb +0 -14
  397. data/tmpsets/set/mod022-bootstrap/self/smartmenu_js.rb +0 -14
  398. data/tmpsets/set/mod022-bootstrap/self/style_bootstrap_cards.rb +0 -10
  399. data/tmpsets/set/mod022-bootstrap/self/style_bootstrap_colorpicker.rb +0 -15
  400. data/tmpsets/set/mod022-bootstrap/self/style_select2.rb +0 -19
  401. data/tmpsets/set/mod022-bootstrap/self/style_select2_bootstrap.rb +0 -10
  402. data/tmpsets/set/mod022-bootstrap/type/bootswatch_skin.rb +0 -24
  403. data/tmpsets/set/mod022-bootstrap/type/customized_bootswatch_skin/html_views.rb +0 -43
  404. data/tmpsets/set/mod022-bootstrap/type/customized_bootswatch_skin.rb +0 -129
  405. data/tmpsets/set/mod022-bootstrap/type_plus_right/customized_bootswatch_skin/colors.rb +0 -123
  406. data/tmpsets/set/mod023-comment/all/comment.rb +0 -92
  407. data/tmpsets/set/mod023-comment/right/comment.rb +0 -10
  408. data/tmpsets/set/mod023-comment/right/discussion.rb +0 -18
  409. data/tmpsets/set/mod024-date/all/calendar.rb +0 -18
  410. data/tmpsets/set/mod024-date/right/when_created.rb +0 -16
  411. data/tmpsets/set/mod024-date/right/when_last_edited.rb +0 -16
  412. data/tmpsets/set/mod024-date/self/datepicker.rb +0 -15
  413. data/tmpsets/set/mod024-date/self/now.rb +0 -14
  414. data/tmpsets/set/mod024-date/self/script_datepicker_config.rb +0 -12
  415. data/tmpsets/set/mod024-date/self/style_datepicker.rb +0 -20
  416. data/tmpsets/set/mod024-date/type/date.rb +0 -14
  417. data/tmpsets/set/mod026-follow/abstract/follow_option.rb +0 -65
  418. data/tmpsets/set/mod026-follow/all/follow/follow_link.rb +0 -70
  419. data/tmpsets/set/mod026-follow/all/follow/follow_link_views.rb +0 -38
  420. data/tmpsets/set/mod026-follow/all/follow/followed_by.rb +0 -79
  421. data/tmpsets/set/mod026-follow/all/follow/follower_ids.rb +0 -130
  422. data/tmpsets/set/mod026-follow/all/follow/start_follow_link.rb +0 -19
  423. data/tmpsets/set/mod026-follow/all/follow/stop_follow_link.rb +0 -20
  424. data/tmpsets/set/mod026-follow/all/follow.rb +0 -42
  425. data/tmpsets/set/mod026-follow/all/notify/base_views.rb +0 -137
  426. data/tmpsets/set/mod026-follow/all/notify/html_views.rb +0 -26
  427. data/tmpsets/set/mod026-follow/all/notify.rb +0 -91
  428. data/tmpsets/set/mod026-follow/right/account.rb +0 -24
  429. data/tmpsets/set/mod026-follow/right/follow.rb +0 -127
  430. data/tmpsets/set/mod026-follow/right/follow_fields.rb +0 -12
  431. data/tmpsets/set/mod026-follow/right/followers.rb +0 -32
  432. data/tmpsets/set/mod026-follow/right/following.rb +0 -59
  433. data/tmpsets/set/mod026-follow/self/always.rb +0 -22
  434. data/tmpsets/set/mod026-follow/self/created.rb +0 -28
  435. data/tmpsets/set/mod026-follow/self/edited.rb +0 -29
  436. data/tmpsets/set/mod026-follow/self/follow.rb +0 -10
  437. data/tmpsets/set/mod026-follow/self/follow_defaults.rb +0 -98
  438. data/tmpsets/set/mod026-follow/self/follow_fields.rb +0 -10
  439. data/tmpsets/set/mod026-follow/self/never.rb +0 -22
  440. data/tmpsets/set/mod026-follow/type/cardtype.rb +0 -30
  441. data/tmpsets/set/mod026-follow/type/notification_template.rb +0 -42
  442. data/tmpsets/set/mod026-follow/type/set.rb +0 -62
  443. data/tmpsets/set/mod026-follow/type/user.rb +0 -16
  444. data/tmpsets/set/mod026-follow/type_plus_right/user/follow/follow_editor_helper.rb +0 -130
  445. data/tmpsets/set/mod026-follow/type_plus_right/user/follow.rb +0 -87
  446. data/tmpsets/set/mod027-google_analytics/all/google_analytics.rb +0 -51
  447. data/tmpsets/set/mod028-help/all/guide.rb +0 -60
  448. data/tmpsets/set/mod028-help/all/help.rb +0 -58
  449. data/tmpsets/set/mod028-help/right/guide.rb +0 -17
  450. data/tmpsets/set/mod028-help/right/help.rb +0 -24
  451. data/tmpsets/set/mod028-help/self/guide.rb +0 -11
  452. data/tmpsets/set/mod028-help/self/help.rb +0 -13
  453. data/tmpsets/set/mod029-integrate/all/observer.rb +0 -31
  454. data/tmpsets/set/mod029-integrate/self/on_create.rb +0 -11
  455. data/tmpsets/set/mod029-integrate/self/on_delete.rb +0 -11
  456. data/tmpsets/set/mod029-integrate/self/on_update.rb +0 -11
  457. data/tmpsets/set/mod029-integrate/self/thanks.rb +0 -13
  458. data/tmpsets/set/mod030-session/all/location_history.rb +0 -28
  459. data/tmpsets/set/mod030-session/type/session.rb +0 -70
  460. data/tmpsets/set/mod031-layout/abstract/account_dropdown.rb +0 -32
  461. data/tmpsets/set/mod031-layout/abstract/pointer/html_views.rb +0 -14
  462. data/tmpsets/set/mod031-layout/all/alert.rb +0 -32
  463. data/tmpsets/set/mod031-layout/all/layouts.rb +0 -43
  464. data/tmpsets/set/mod031-layout/all/modal.rb +0 -129
  465. data/tmpsets/set/mod031-layout/all/navbar_links.rb +0 -77
  466. data/tmpsets/set/mod031-layout/all/overlay.rb +0 -110
  467. data/tmpsets/set/mod031-layout/all/process_layout.rb +0 -88
  468. data/tmpsets/set/mod031-layout/all/tabs.rb +0 -61
  469. data/tmpsets/set/mod031-layout/right/enabled_roles.rb +0 -70
  470. data/tmpsets/set/mod031-layout/right/head.rb +0 -26
  471. data/tmpsets/set/mod031-layout/self/account_links.rb +0 -107
  472. data/tmpsets/set/mod031-layout/self/alerts.rb +0 -14
  473. data/tmpsets/set/mod031-layout/self/dropdown_divider.rb +0 -18
  474. data/tmpsets/set/mod031-layout/self/foot.rb +0 -14
  475. data/tmpsets/set/mod031-layout/self/head.rb +0 -35
  476. data/tmpsets/set/mod031-layout/self/layout.rb +0 -12
  477. data/tmpsets/set/mod031-layout/self/navbox.rb +0 -42
  478. data/tmpsets/set/mod031-layout/self/sidebar.rb +0 -14
  479. data/tmpsets/set/mod031-layout/type/html.rb +0 -23
  480. data/tmpsets/set/mod031-layout/type/layout_type.rb +0 -25
  481. data/tmpsets/set/mod032-legacy/abstract/table_of_contents.rb +0 -76
  482. data/tmpsets/set/mod032-legacy/self/csv_structure.rb +0 -10
  483. data/tmpsets/set/mod032-legacy/self/default_html_view.rb +0 -10
  484. data/tmpsets/set/mod032-legacy/self/table_of_contents.rb +0 -13
  485. data/tmpsets/set/mod032-legacy/type/basic.rb +0 -10
  486. data/tmpsets/set/mod033-markdown/type/markdown.rb +0 -26
  487. data/tmpsets/set/mod034-prosemirror_editor/all/prosemirror_editor.rb +0 -16
  488. data/tmpsets/set/mod034-prosemirror_editor/self/script_prosemirror.rb +0 -12
  489. data/tmpsets/set/mod034-prosemirror_editor/self/script_prosemirror_config.rb +0 -13
  490. data/tmpsets/set/mod034-prosemirror_editor/self/style_prosemirror.rb +0 -12
  491. data/tmpsets/set/mod035-recaptcha/all/recaptcha.rb +0 -111
  492. data/tmpsets/set/mod035-recaptcha/self/admin_info.rb +0 -36
  493. data/tmpsets/set/mod035-recaptcha/self/captcha.rb +0 -14
  494. data/tmpsets/set/mod035-recaptcha/self/recaptcha_proxy.rb +0 -12
  495. data/tmpsets/set/mod035-recaptcha/self/recaptcha_secret_key.rb +0 -18
  496. data/tmpsets/set/mod035-recaptcha/self/recaptcha_settings.rb +0 -40
  497. data/tmpsets/set/mod035-recaptcha/self/recaptcha_site_key.rb +0 -18
  498. data/tmpsets/set/mod036-search/abstract/00_filter_helper.rb +0 -55
  499. data/tmpsets/set/mod036-search/abstract/02_search_params.rb +0 -59
  500. data/tmpsets/set/mod036-search/abstract/03_filter/filter_form.rb +0 -110
  501. data/tmpsets/set/mod036-search/abstract/03_filter/form_helper.rb +0 -114
  502. data/tmpsets/set/mod036-search/abstract/03_filter/query_construction.rb +0 -47
  503. data/tmpsets/set/mod036-search/abstract/03_filter.rb +0 -38
  504. data/tmpsets/set/mod036-search/abstract/04_right_filter_form.rb +0 -35
  505. data/tmpsets/set/mod036-search/abstract/05_search/views.rb +0 -174
  506. data/tmpsets/set/mod036-search/abstract/05_search.rb +0 -93
  507. data/tmpsets/set/mod036-search/abstract/06_cql_search.rb +0 -102
  508. data/tmpsets/set/mod036-search/abstract/filterable.rb +0 -22
  509. data/tmpsets/set/mod036-search/abstract/filterable_bar.rb +0 -20
  510. data/tmpsets/set/mod036-search/right/children.rb +0 -13
  511. data/tmpsets/set/mod036-search/right/created.rb +0 -12
  512. data/tmpsets/set/mod036-search/right/edited.rb +0 -12
  513. data/tmpsets/set/mod036-search/right/editors.rb +0 -12
  514. data/tmpsets/set/mod036-search/right/follow.rb +0 -12
  515. data/tmpsets/set/mod036-search/right/linked_to_by.rb +0 -12
  516. data/tmpsets/set/mod036-search/right/links_to.rb +0 -14
  517. data/tmpsets/set/mod036-search/right/mates.rb +0 -12
  518. data/tmpsets/set/mod036-search/right/nested_by.rb +0 -12
  519. data/tmpsets/set/mod036-search/right/nests.rb +0 -12
  520. data/tmpsets/set/mod036-search/right/referred_to_by.rb +0 -12
  521. data/tmpsets/set/mod036-search/right/refers_to.rb +0 -12
  522. data/tmpsets/set/mod036-search/self/recent.rb +0 -44
  523. data/tmpsets/set/mod036-search/self/search.rb +0 -104
  524. data/tmpsets/set/mod036-search/type/cardtype.rb +0 -14
  525. data/tmpsets/set/mod036-search/type/search_type.rb +0 -90
  526. data/tmpsets/set/mod037-rules/all/related_sets.rb +0 -34
  527. data/tmpsets/set/mod037-rules/right/self.rb +0 -12
  528. data/tmpsets/set/mod037-rules/right/type_plus_right.rb +0 -13
  529. data/tmpsets/set/mod037-rules/rstar/rule_user.rb +0 -16
  530. data/tmpsets/set/mod037-rules/rule/bar_view.rb +0 -102
  531. data/tmpsets/set/mod037-rules/rule/bridge_rules_editor.rb +0 -37
  532. data/tmpsets/set/mod037-rules/rule/editor.rb +0 -119
  533. data/tmpsets/set/mod037-rules/rule/html_views.rb +0 -22
  534. data/tmpsets/set/mod037-rules/rule/quick_editor.rb +0 -48
  535. data/tmpsets/set/mod037-rules/rule/rule_form/buttons.rb +0 -54
  536. data/tmpsets/set/mod037-rules/rule/rule_form/form_elements.rb +0 -61
  537. data/tmpsets/set/mod037-rules/rule/rule_form/rule_set_radio.rb +0 -92
  538. data/tmpsets/set/mod037-rules/rule/rule_form/set_selection.rb +0 -48
  539. data/tmpsets/set/mod037-rules/rule/rule_form.rb +0 -65
  540. data/tmpsets/set/mod037-rules/rule/rules.rb +0 -118
  541. data/tmpsets/set/mod037-rules/self/cardtype.rb +0 -51
  542. data/tmpsets/set/mod037-rules/self/recent_settings.rb +0 -16
  543. data/tmpsets/set/mod037-rules/self/script_rules.rb +0 -12
  544. data/tmpsets/set/mod037-rules/type/cardtype.rb +0 -14
  545. data/tmpsets/set/mod037-rules/type/set/html_views/rule_lists.rb +0 -51
  546. data/tmpsets/set/mod037-rules/type/set/html_views/template.rb +0 -21
  547. data/tmpsets/set/mod037-rules/type/set/html_views.rb +0 -60
  548. data/tmpsets/set/mod037-rules/type/set/rules_filter.rb +0 -69
  549. data/tmpsets/set/mod037-rules/type/set/setting_lists.rb +0 -85
  550. data/tmpsets/set/mod037-rules/type/set.rb +0 -116
  551. data/tmpsets/set/mod037-rules/type/setting.rb +0 -86
  552. data/tmpsets/set/mod038-tinymce_editor/all/reference_editor/link_editor/link_parser.rb +0 -43
  553. data/tmpsets/set/mod038-tinymce_editor/all/reference_editor/link_editor.rb +0 -42
  554. data/tmpsets/set/mod038-tinymce_editor/all/reference_editor/nest_editor.rb +0 -184
  555. data/tmpsets/set/mod038-tinymce_editor/all/reference_editor/nest_image.rb +0 -77
  556. data/tmpsets/set/mod038-tinymce_editor/all/reference_editor.rb +0 -53
  557. data/tmpsets/set/mod038-tinymce_editor/all/tinymce_editor.rb +0 -15
  558. data/tmpsets/set/mod038-tinymce_editor/self/script_tinymce.rb +0 -12
  559. data/tmpsets/set/mod038-tinymce_editor/self/script_tinymce_config.rb +0 -12
  560. data/tmpsets/set/mod038-tinymce_editor/self/tiny_mce.rb +0 -16
  561. data/tmpsets/set/mod040-monkey/all/event_viz.rb +0 -73
  562. data/tmpsets/set/mod040-monkey/all/view_viz.rb +0 -34
  563. data/tmpsets/set/mod040-monkey/right/debug.rb +0 -96
@@ -1,108 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- class Card; module Set; class Right; module Account;
3
- # Set: All "+Account+Events" cards (Events)
4
- #
5
- #### ON CREATE
6
- module Events;
7
- extend Card::Set
8
- def self.source_location; "/Users/ezl5238/dev/decko/gem/mod/account/set/right/account/events.rb"; end
9
-
10
- event :set_default_salt, :prepare_to_validate, on: :create do
11
- add_subfield(:salt).generate
12
- end
13
-
14
- event :set_default_status, :prepare_to_validate, on: :create do
15
- add_subfield :status, content: (accounted&.try(:default_account_status) || "active")
16
- end
17
-
18
- # ON UPDATE
19
-
20
- # reset password emails contain a link to update the +*account card
21
- # and trigger this event
22
- event :reset_password, :prepare_to_validate, on: :update, trigger: :required do
23
- verifying_token :reset_password_success, :reset_password_failure
24
- end
25
-
26
- event :verify_and_activate, :prepare_to_validate, on: :update, trigger: :required do
27
- activatable do
28
- verifying_token :verify_and_activate_success, :verify_and_activate_failure
29
- add_subcard(accounted)&.try :activate_accounted
30
- end
31
- end
32
-
33
- event :password_redirect, :finalize, on: :update, when: :password_redirect? do
34
- success << { id: name, view: "edit" }
35
- end
36
-
37
- # INTEGRATION
38
-
39
- %i[password_reset_email verification_email welcome_email].each do |email|
40
- event "send_#{email}".to_sym, :integrate, trigger: :required do
41
- send_account_email email
42
- end
43
- end
44
-
45
- ## EVENT HELPERS
46
-
47
- def activatable
48
- abort :failure, "no field manipulation mid-activation" if subcards.present?
49
- # above is necessary because activation uses super user (Decko Bot),
50
- # so allowing subcards would be unsafe
51
- yield
52
- end
53
-
54
- # NOTE: this only works in the context of an action.
55
- # if run independently, it will not activate an account
56
- event :activate_account do
57
- add_subfield :status, content: "active"
58
- trigger_event! :send_welcome_email
59
- end
60
-
61
- def verifying_token success, failure
62
- requiring_token do |token|
63
- result = Auth::Token.decode token
64
- if result.is_a?(String)
65
- send failure, result
66
- else
67
- send success
68
- end
69
- end
70
- end
71
-
72
- def requiring_token
73
- if !(token = Env.params[:token])
74
- errors.add :token, "is required"
75
- else
76
- yield token
77
- end
78
- end
79
-
80
- def password_redirect?
81
- Auth.current_id == accounted_id && password.blank?
82
- end
83
-
84
- def verify_and_activate_success
85
- Auth.signin accounted_id
86
- Auth.as_bot # use admin permissions for rest of action
87
- activate_account
88
- success << ""
89
- end
90
-
91
- def verify_and_activate_failure error_message
92
- send_verification_email
93
- errors.add :content,
94
- "Sorry, #{error_message}. Please check your email for a new activation link."
95
- end
96
-
97
- def reset_password_success
98
- Auth.signin accounted_id
99
- success << { id: name, view: :edit }
100
- abort :success
101
- end
102
-
103
- def reset_password_failure error_message
104
- Auth.as_bot { send_password_reset_email }
105
- errors.add :content, t(:account_sorry_email_reset, error_msg: error_message)
106
- end
107
- end;end;end;end;end;
108
- # ~~ generated from /Users/ezl5238/dev/decko/gem/mod/account/set/right/account/events.rb ~~
@@ -1,74 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- class Card; module Set; class Right; module Account;
3
- # Set: All "+Account+Views" cards (Views)
4
- #
5
- module Views;
6
- extend Card::Set
7
- def self.source_location; "/Users/ezl5238/dev/decko/gem/mod/account/set/right/account/views.rb"; end
8
- module Format; module_parent.send :register_set_format, Card::Format, self; extend Card::Set::AbstractFormat
9
- view :verify_url, cache: :never do
10
- raise Error::PermissionDenied unless card.ok?(:create) || card.action
11
-
12
- token_url :verify_and_activate, anonymous: true
13
- end
14
-
15
- view :reset_password_url do
16
- raise Error::PermissionDenied unless card.password_card.ok? :update
17
-
18
- token_url :reset_password
19
- end
20
-
21
- view :token_expiry do
22
- "(#{token_expiry_sentence}"
23
- end
24
-
25
- view :token_days do
26
- Card.config.token_expiry / 1.day
27
- end
28
-
29
- # DEPRECATED
30
- view :verify_days, :token_days
31
- view :reset_password_days, :token_days
32
-
33
- def token_url trigger, extra_payload={}
34
- card_url path(action: :update,
35
- card: { trigger: trigger },
36
- token: new_token(extra_payload))
37
- end
38
-
39
- def token_expiry_sentence
40
- "Link will expire in #{render_token_days} days"
41
- end
42
-
43
- def new_token extra_payload
44
- Auth::Token.encode card.accounted_id, extra_payload
45
- end
46
- end
47
-
48
- module HtmlFormat; module_parent.send :register_set_format, Card::Format::HtmlFormat, self; extend Card::Set::AbstractFormat
49
- view :core do
50
- [account_field_nest(:email, "email"),
51
- account_field_nest(:password, "password")]
52
- end
53
-
54
- def account_field_nest field, title
55
- field_nest field, title: title, view: :labeled
56
- # edit: :inline, hide: [:help_link, :bridge_link]
57
- end
58
-
59
- before :content_formgroups do
60
- voo.edit_structure = [[:email, "email"], [:password, "password"]]
61
- end
62
-
63
- view :token_expiry do
64
- "<p><em>#{token_expiry_sentence}</em></p>"
65
- end
66
- end
67
-
68
- module EmailHtmlFormat; module_parent.send :register_set_format, Card::Format::EmailHtmlFormat, self; extend Card::Set::AbstractFormat
69
- def mail context, fields
70
- super context, fields.reverse_merge(to: card.email)
71
- end
72
- end
73
- end;end;end;end;end;
74
- # ~~ generated from /Users/ezl5238/dev/decko/gem/mod/account/set/right/account/views.rb ~~
@@ -1,62 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- class Card; module Set; class Right
3
- # Set: All "+Account" cards
4
- #
5
- # -*- encoding : utf-8 -*-
6
- module Account;
7
- extend Card::Set
8
- def self.source_location; "/Users/ezl5238/dev/decko/gem/mod/account/set/right/account.rb"; end
9
-
10
- card_accessor :email
11
- card_accessor :password
12
- card_accessor :salt
13
- card_accessor :status
14
-
15
- require_field :email
16
-
17
- def accounted
18
- left
19
- end
20
-
21
- def accounted_id
22
- left_id
23
- end
24
-
25
- def ok_to_read
26
- own_account? || super
27
- end
28
-
29
- # allow account owner to update account field content
30
- def ok_to_update
31
- return true if own_account? && !name_changed? && !type_id_changed?
32
-
33
- super
34
- end
35
-
36
- def changes_visible? act
37
- act.actions_affecting(act.card).each do |action|
38
- return true if action.card.ok? :read
39
- end
40
- false
41
- end
42
-
43
- def send_account_email email_template
44
- ecard = Card[email_template]
45
- unless ecard&.type_id == EmailTemplateID
46
- raise Card::Error, "invalid email template: #{email_template}"
47
- end
48
-
49
- ecard.deliver self, to: email
50
- end
51
-
52
- def method_missing method, *args
53
- return super unless args.empty? && (matches = method.match(/^(?<status>.*)\?$/))
54
-
55
- status == matches[:status]
56
- end
57
-
58
- def respond_to_missing? method, _include_private=false
59
- method.match?(/\?$/) ? true : super
60
- end
61
- end;end;end;end;
62
- # ~~ generated from /Users/ezl5238/dev/decko/gem/mod/account/set/right/account.rb ~~
@@ -1,56 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- class Card; module Set; class Right
3
- # Set: All "+Email" cards
4
- #
5
- # -*- encoding : utf-8 -*-
6
- module Email;
7
- extend Card::Set
8
- def self.source_location; "/Users/ezl5238/dev/decko/gem/mod/account/set/right/email.rb"; end
9
-
10
- include_set Abstract::AccountField
11
-
12
- event :validate_email, :validate, on: :save do
13
- return unless content?
14
-
15
- self.content = content.strip
16
- return if content.match?(/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i)
17
-
18
- errors.add :content, t(:account_error_invalid_address)
19
- end
20
-
21
- event :validate_unique_email, after: :validate_email, on: :save do
22
- if content.present?
23
- Auth.as_bot do
24
- cql = { right_id: EmailID, eq: content, return: :id }
25
- cql[:not] = { id: id } if id
26
- cql_comment = t(:account_search_email_duplicate, content: content)
27
- if Card.search(cql, cql_comment).first
28
- errors.add :content, t(:account_error_not_unique)
29
- end
30
- end
31
- end
32
- end
33
-
34
- event :downcase_email, :prepare_to_validate, on: :save do
35
- return if !content || content == content.downcase
36
-
37
- self.content = content.downcase
38
- end
39
-
40
- def email_required?
41
- !left.system?
42
- end
43
-
44
- def ok_to_read
45
- if own_email? || Auth.always_ok?
46
- true
47
- else
48
- deny_because t(:account_deny_email_restricted)
49
- end
50
- end
51
-
52
- def own_email?
53
- name.part_names[0].key == Auth.as_card.key
54
- end
55
- end;end;end;end;
56
- # ~~ generated from /Users/ezl5238/dev/decko/gem/mod/account/set/right/email.rb ~~
@@ -1,61 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- class Card; module Set; class Right
3
- # Set: All "+Password" cards
4
- #
5
- module Password;
6
- extend Card::Set
7
- def self.source_location; "/Users/ezl5238/dev/decko/gem/mod/account/set/right/password.rb"; end
8
- include_set Abstract::AccountField
9
-
10
- def history?
11
- false
12
- end
13
-
14
- def ok_to_read
15
- own_account? || super
16
- end
17
-
18
- event :encrypt_password, :store,
19
- on: :save, changed: :content,
20
- when: proc { !Card::Env[:no_password_encryptions] } do
21
- # no_password_encryptions = hack for import - fix with api for ignoring events
22
- salt = left&.salt
23
- self.content = Auth.encrypt content, salt
24
-
25
- # errors.add :password, 'need a valid salt'
26
- # turns out we have a lot of existing account without a salt.
27
- # not sure when that broke??
28
- end
29
-
30
- event :validate_password, :validate, on: :save do
31
- return if content.length > 3
32
-
33
- errors.add :password, t(:account_password_length)
34
- end
35
-
36
- event :validate_password_present, :prepare_to_validate, on: :update do
37
- abort :success if content.blank?
38
- end
39
-
40
- view :raw do
41
- t :account_encrypted
42
- end
43
-
44
- module HtmlFormat; module_parent.send :register_set_format, Card::Format::HtmlFormat, self; extend Card::Set::AbstractFormat
45
- view :core, wrap: :em do
46
- render_raw
47
- end
48
-
49
- view :input do
50
- card.content = ""
51
- password_field :content, class: "d0-card-content", autocomplete: autocomplete?
52
- end
53
-
54
- def autocomplete?
55
- return "on" if @parent && @parent.card.name == "*signin+*account" # HACK
56
-
57
- "off"
58
- end
59
- end
60
- end;end;end;end;
61
- # ~~ generated from /Users/ezl5238/dev/decko/gem/mod/account/set/right/password.rb ~~
@@ -1,36 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- class Card; module Set; class Right
3
- # Set: All "+Roles" cards
4
- #
5
- module Roles;
6
- extend Card::Set
7
- def self.source_location; "/Users/ezl5238/dev/decko/gem/mod/account/set/right/roles.rb"; end
8
- event :validate_permission_to_assign_roles, :validate, on: :save do
9
- return unless (fr = forbidden_roles).present?
10
-
11
- errors.add :permission_denied,
12
- "You don't have permission to assign the role#{'s' if fr.size > 1} "\
13
- "#{fr.map(&:name).to_sentence}" # LOCALIZE
14
- end
15
-
16
- def forbidden_roles
17
- # restore old roles for permission check
18
- with_old_role_permissions do |new_roles|
19
- new_roles.reject do |card|
20
- Card.fetch(card, "*members").ok? :update
21
- end
22
- end
23
- end
24
-
25
- def with_old_role_permissions
26
- new_roles = item_cards
27
- new_content = content
28
- left.clear_roles
29
- Auth.update_always_cache Card::Auth.as_id, nil
30
- self.content = db_content_before_act
31
- yield new_roles
32
- ensure
33
- self.content = new_content
34
- end
35
- end;end;end;end;
36
- # ~~ generated from /Users/ezl5238/dev/decko/gem/mod/account/set/right/roles.rb ~~
@@ -1,22 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- class Card; module Set; class Right
3
- # Set: All "+Salt" cards
4
- #
5
- module Salt;
6
- extend Card::Set
7
- def self.source_location; "/Users/ezl5238/dev/decko/gem/mod/account/set/right/salt.rb"; end
8
- include_set Abstract::AccountField
9
-
10
- def generate
11
- self.content = Digest::SHA1.hexdigest "--#{Time.zone.now}--"
12
- end
13
-
14
- def history?
15
- false
16
- end
17
-
18
- view :raw do
19
- t :account_private_data
20
- end
21
- end;end;end;end;
22
- # ~~ generated from /Users/ezl5238/dev/decko/gem/mod/account/set/right/salt.rb ~~
@@ -1,27 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- class Card; module Set; class Right
3
- # Set: All "+Status" cards
4
- #
5
- module Status;
6
- extend Card::Set
7
- def self.source_location; "/Users/ezl5238/dev/decko/gem/mod/account/set/right/status.rb"; end
8
- include_set Abstract::AccountField
9
- include_set Abstract::Pointer
10
-
11
- def input_type
12
- :radio
13
- end
14
-
15
- def option_names
16
- %w[unapproved unverified active blocked system]
17
- end
18
-
19
- def ok_to_update
20
- if own_account? && !Auth.always_ok?
21
- deny_because you_cant(t(:account_deny_not_change_own_account))
22
- else
23
- super
24
- end
25
- end
26
- end;end;end;end;
27
- # ~~ generated from /Users/ezl5238/dev/decko/gem/mod/account/set/right/status.rb ~~
@@ -1,222 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- class Card; module Set; class Self
3
- # Set: The card "Signin"
4
- #
5
- # The Sign In card manages logging in and out of the site.
6
- #
7
- module Signin;
8
- extend Card::Set
9
- def self.source_location; "/Users/ezl5238/dev/decko/gem/mod/account/set/self/signin.rb"; end
10
- # /:signin (core view) gives the login ui
11
- # /:signin?view=edit gives the forgot password ui
12
-
13
- # /update/:signin is the login action
14
- # /delete/:signin is the logout action
15
-
16
- # authentication event
17
- event :signin, :validate, on: :update do
18
- email = subfield :email
19
- email &&= email.content
20
- pword = subfield :password
21
- pword &&= pword.content
22
-
23
- authenticate_or_abort email, pword
24
- end
25
-
26
- # abort after successful signin (do not save card)
27
- event :signin_success, after: :signin do
28
- abort :success
29
- end
30
-
31
- event :signout, :validate, on: :delete do
32
- Env.reset_session
33
- Auth.signin AnonymousID
34
- abort :success
35
- end
36
-
37
- # triggered by clicking "Reset my Password", this sends out the verification password
38
- # and aborts (does not sign in)
39
- event :send_reset_password_token, before: :signin, on: :update, trigger: :required do
40
- aborting do
41
- blank_email? ? break : send_reset_password_email_or_fail
42
- end
43
- end
44
-
45
- def email_from_subfield
46
- @email_from_subfield ||= subfield(:email)&.content
47
- end
48
-
49
- def ok_to_read
50
- true
51
- end
52
-
53
- def recaptcha_on?
54
- false
55
- end
56
-
57
- def authenticate_or_abort email, pword
58
- abort_unless email, :email_missing
59
- abort_unless pword, :password_missing
60
- authenticate_and_signin(email, pword) || failed_signin(email)
61
- end
62
-
63
- def authenticate_and_signin email, pword
64
- return unless (account = Auth.authenticate email, pword)
65
-
66
- Auth.signin account.left_id
67
- end
68
-
69
- def failed_signin email
70
- errors.add :signin, signin_error_message(account_for(email))
71
- abort :failure
72
- end
73
-
74
- def abort_unless value, error_key
75
- abort :failure, t("account_#{error_key}") unless value
76
- end
77
-
78
- def signin_error_message account
79
- t "account_#{signin_error_key account}"
80
- end
81
-
82
- def error_on field, error_key
83
- errors.add field, t("account_#{error_key}")
84
- end
85
-
86
- def account_for email
87
- Auth.find_account_by_email email
88
- end
89
-
90
- def send_reset_password_email_or_fail
91
- if (account = account_for email_from_subfield)&.active?
92
- send_reset_password_email account
93
- else
94
- reset_password_fail account
95
- end
96
- end
97
-
98
- def blank_email?
99
- return false if email_from_subfield.present?
100
-
101
- error_on :email, :error_blank
102
- end
103
-
104
- def send_reset_password_email account
105
- Auth.as_bot { account.send_password_reset_email }
106
- end
107
-
108
- def reset_password_fail account
109
- if account
110
- error_on :account, :error_not_active
111
- else
112
- error_on :email, :error_not_recognized
113
- end
114
- end
115
-
116
- private
117
-
118
- def signin_error_key account
119
- case
120
- when account.nil? then :error_unknown_email
121
- when !account.active? then :error_not_active
122
- else :error_wrong_password
123
- end
124
- end
125
-
126
- module HtmlFormat; module_parent.send :register_set_format, Card::Format::HtmlFormat, self; extend Card::Set::AbstractFormat
127
- view :core, cache: :never do
128
- voo.edit_structure = [signin_field(:email), signin_field(:password)]
129
- with_nest_mode :edit do
130
- card_form :update, recaptcha: :off, success: signin_success do
131
- [
132
- _render_content_formgroups,
133
- _render_signin_buttons
134
- ]
135
- end
136
- end
137
- end
138
-
139
- view :open do
140
- voo.show :help
141
- voo.hide :menu
142
- super()
143
- end
144
-
145
- # FIXME: need a generic solution for this
146
- view :title do
147
- voo.title ||= t(:account_sign_in_title)
148
- super()
149
- end
150
-
151
- view :open_content do
152
- # annoying step designed to avoid table of contents. sigh
153
- _render_core
154
- end
155
-
156
- view :one_line_content do
157
- ""
158
- end
159
-
160
- view :reset_password_success do
161
- # 'Check your email for a link to reset your password'
162
- frame { t :account_check_email }
163
- end
164
-
165
- view :signin_buttons do
166
- button_formgroup do
167
- [signin_button, signup_link, reset_password_link]
168
- end
169
- end
170
-
171
- # FORGOT PASSWORD
172
- view :edit do
173
- reset_password_voo
174
- Auth.as_bot { super() }
175
- end
176
-
177
- def reset_password_voo
178
- voo.title ||= t :account_forgot_password
179
- voo.edit_structure = [signin_field(:email)]
180
- voo.hide :help
181
- end
182
-
183
- view :edit_buttons do
184
- button_tag t(:account_reset_my_password),
185
- situation: "primary", class: "_close-modal-on-success"
186
- end
187
-
188
- def signin_success
189
- { redirect: true, mark: (Env.interrupted_action || "*previous") }
190
- end
191
-
192
- def signin_button
193
- button_tag t(:account_sign_in), situation: "primary"
194
- end
195
-
196
- def signup_link
197
- subformat(Card[:account_links]).render! :sign_up, title: t(:account_or_sign_up)
198
- end
199
-
200
- def reset_password_link
201
- link = link_to_view :edit, t(:account_reset_password),
202
- path: { slot: { hide: :bridge_link } }
203
- # FIXME: inline styling
204
- raw("<div style='float:right'>#{link}</div>")
205
- end
206
-
207
- def edit_view_hidden
208
- hidden_tags card: { trigger: :send_reset_password_token }
209
- end
210
-
211
- def edit_success
212
- { view: :reset_password_success }
213
- end
214
-
215
- def signin_field name
216
- nest_name = "".to_name.trait(name)
217
- [nest_name, { title: name.to_s, view: "titled",
218
- nest_name: nest_name, skip_perms: true }]
219
- end
220
- end
221
- end;end;end;end;
222
- # ~~ generated from /Users/ezl5238/dev/decko/gem/mod/account/set/self/signin.rb ~~
@@ -1,30 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- class Card; module Set; class Type
3
- # Set: All "Role" cards
4
- #
5
- module Role;
6
- extend Card::Set
7
- def self.source_location; "/Users/ezl5238/dev/decko/gem/mod/account/set/type/role.rb"; end
8
- def disabled?
9
- Auth.current&.fetch(:disabled_roles)&.item_ids&.include? id
10
- end
11
-
12
- module HtmlFormat; module_parent.send :register_set_format, Card::Format::HtmlFormat, self; extend Card::Set::AbstractFormat
13
- view :link_with_checkbox, cache: :never do
14
- role_checkbox
15
- end
16
-
17
- def role_checkbox
18
- name = card.disabled? ? "add_item" : "drop_item"
19
- subformat(Auth.current.field(:disabled_roles, new: {})).card_form :update do
20
- [check_box_tag(name, card.id, !card.disabled?, class: "_edit-item"),
21
- render_link]
22
- end
23
- end
24
-
25
- def related_by_content_items
26
- super.unshift ["members", :members]
27
- end
28
- end
29
- end;end;end;end;
30
- # ~~ generated from /Users/ezl5238/dev/decko/gem/mod/account/set/type/role.rb ~~