lcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1676) hide show
  1. checksums.yaml +7 -0
  2. data/.claude/skills/lcp-custom-field/SKILL.md +205 -0
  3. data/.claude/skills/lcp-getting-started/SKILL.md +332 -0
  4. data/.claude/skills/lcp-host-binding/SKILL.md +287 -0
  5. data/.claude/skills/lcp-model/SKILL.md +185 -0
  6. data/.claude/skills/lcp-permissions/SKILL.md +176 -0
  7. data/.claude/skills/lcp-presenter/SKILL.md +194 -0
  8. data/.claude/skills/lcp-workflow/SKILL.md +281 -0
  9. data/CHANGELOG.md +69 -0
  10. data/MIT-LICENSE +20 -0
  11. data/README.md +28 -0
  12. data/Rakefile +17 -0
  13. data/app/assets/javascripts/lcp_ruby/application.js +58 -0
  14. data/app/assets/javascripts/lcp_ruby/controllers/advanced_filter_controller.js +1521 -0
  15. data/app/assets/javascripts/lcp_ruby/controllers/approval_actions_controller.js +24 -0
  16. data/app/assets/javascripts/lcp_ruby/controllers/array_input_controller.js +156 -0
  17. data/app/assets/javascripts/lcp_ruby/controllers/batch_select_controller.js +405 -0
  18. data/app/assets/javascripts/lcp_ruby/controllers/cascading_selects_controller.js +436 -0
  19. data/app/assets/javascripts/lcp_ruby/controllers/char_counter_controller.js +28 -0
  20. data/app/assets/javascripts/lcp_ruby/controllers/clipboard_controller.js +62 -0
  21. data/app/assets/javascripts/lcp_ruby/controllers/conditional_rendering_controller.js +178 -0
  22. data/app/assets/javascripts/lcp_ruby/controllers/confirm_dialog_controller.js +131 -0
  23. data/app/assets/javascripts/lcp_ruby/controllers/custom_fields_manage_controller.js +80 -0
  24. data/app/assets/javascripts/lcp_ruby/controllers/dialog_controller.js +421 -0
  25. data/app/assets/javascripts/lcp_ruby/controllers/dialog_nested_controller.js +182 -0
  26. data/app/assets/javascripts/lcp_ruby/controllers/direct_upload_controller.js +100 -0
  27. data/app/assets/javascripts/lcp_ruby/controllers/drawer_controller.js +205 -0
  28. data/app/assets/javascripts/lcp_ruby/controllers/dropdown_controller.js +160 -0
  29. data/app/assets/javascripts/lcp_ruby/controllers/export_dialog_controller.js +15 -0
  30. data/app/assets/javascripts/lcp_ruby/controllers/field_picker_controller.js +290 -0
  31. data/app/assets/javascripts/lcp_ruby/controllers/file_upload_controller.js +135 -0
  32. data/app/assets/javascripts/lcp_ruby/controllers/filter_auto_submit_controller.js +46 -0
  33. data/app/assets/javascripts/lcp_ruby/controllers/filter_dirty_controller.js +94 -0
  34. data/app/assets/javascripts/lcp_ruby/controllers/form_actions_controller.js +68 -0
  35. data/app/assets/javascripts/lcp_ruby/controllers/form_handling_controller.js +67 -0
  36. data/app/assets/javascripts/lcp_ruby/controllers/import_dialog_controller.js +142 -0
  37. data/app/assets/javascripts/lcp_ruby/controllers/import_mapper_controller.js +322 -0
  38. data/app/assets/javascripts/lcp_ruby/controllers/index_sortable_controller.js +388 -0
  39. data/app/assets/javascripts/lcp_ruby/controllers/inline_create_controller.js +137 -0
  40. data/app/assets/javascripts/lcp_ruby/controllers/kanban_board_controller.js +290 -0
  41. data/app/assets/javascripts/lcp_ruby/controllers/menu_controller.js +19 -0
  42. data/app/assets/javascripts/lcp_ruby/controllers/nested_forms_controller.js +261 -0
  43. data/app/assets/javascripts/lcp_ruby/controllers/responsive_sidebar_controller.js +161 -0
  44. data/app/assets/javascripts/lcp_ruby/controllers/responsive_top_nav_controller.js +394 -0
  45. data/app/assets/javascripts/lcp_ruby/controllers/saved_filters_controller.js +129 -0
  46. data/app/assets/javascripts/lcp_ruby/controllers/search_controller.js +82 -0
  47. data/app/assets/javascripts/lcp_ruby/controllers/selection_controller.js +33 -0
  48. data/app/assets/javascripts/lcp_ruby/controllers/sidebar_controller.js +83 -0
  49. data/app/assets/javascripts/lcp_ruby/controllers/sidebar_toggle_controller.js +66 -0
  50. data/app/assets/javascripts/lcp_ruby/controllers/slider_controller.js +26 -0
  51. data/app/assets/javascripts/lcp_ruby/controllers/submenu_controller.js +55 -0
  52. data/app/assets/javascripts/lcp_ruby/controllers/tom_select_controller.js +168 -0
  53. data/app/assets/javascripts/lcp_ruby/controllers/tree_index_controller.js +106 -0
  54. data/app/assets/javascripts/lcp_ruby/controllers/tree_reparent_controller.js +182 -0
  55. data/app/assets/javascripts/lcp_ruby/controllers/tree_select_controller.js +119 -0
  56. data/app/assets/javascripts/lcp_ruby/controllers/ui_components_controller.js +135 -0
  57. data/app/assets/javascripts/lcp_ruby/controllers/zone_tabs_controller.js +66 -0
  58. data/app/assets/javascripts/lcp_ruby/dev_toolbar.js +494 -0
  59. data/app/assets/javascripts/lcp_ruby/i18n.js.erb +29 -0
  60. data/app/assets/javascripts/lcp_ruby/lucide_init.js +24 -0
  61. data/app/assets/javascripts/lcp_ruby/stimulus_bootstrap.js +7 -0
  62. data/app/assets/javascripts/lcp_ruby/utils.js +119 -0
  63. data/app/assets/javascripts/lcp_ruby/xhr_fetch.js +411 -0
  64. data/app/assets/stylesheets/lcp_ruby/application.css +1940 -0
  65. data/app/assets/stylesheets/lcp_ruby/dev_toolbar.css +355 -0
  66. data/app/controllers/concerns/lcp_ruby/dialog_rendering.rb +167 -0
  67. data/app/controllers/concerns/lcp_ruby/form_action_execution.rb +249 -0
  68. data/app/controllers/concerns/lcp_ruby/page_authorization.rb +105 -0
  69. data/app/controllers/concerns/lcp_ruby/zone_resolution.rb +199 -0
  70. data/app/controllers/lcp_ruby/actions_controller.rb +481 -0
  71. data/app/controllers/lcp_ruby/application_controller.rb +59 -0
  72. data/app/controllers/lcp_ruby/approval_tasks_controller.rb +98 -0
  73. data/app/controllers/lcp_ruby/auth/base_controller.rb +58 -0
  74. data/app/controllers/lcp_ruby/auth/callbacks_controller.rb +103 -0
  75. data/app/controllers/lcp_ruby/auth/passwords_controller.rb +15 -0
  76. data/app/controllers/lcp_ruby/auth/registrations_controller.rb +37 -0
  77. data/app/controllers/lcp_ruby/auth/sessions_controller.rb +112 -0
  78. data/app/controllers/lcp_ruby/custom_fields_controller.rb +370 -0
  79. data/app/controllers/lcp_ruby/dev_toolbar_controller.rb +197 -0
  80. data/app/controllers/lcp_ruby/dialogs_controller.rb +199 -0
  81. data/app/controllers/lcp_ruby/health_controller.rb +23 -0
  82. data/app/controllers/lcp_ruby/impersonation_controller.rb +32 -0
  83. data/app/controllers/lcp_ruby/landing_controller.rb +49 -0
  84. data/app/controllers/lcp_ruby/metrics_controller.rb +17 -0
  85. data/app/controllers/lcp_ruby/resources_controller.rb +2218 -0
  86. data/app/controllers/lcp_ruby/saved_filters_controller.rb +221 -0
  87. data/app/helpers/lcp_ruby/condition_helper.rb +87 -0
  88. data/app/helpers/lcp_ruby/dashboard_helper.rb +45 -0
  89. data/app/helpers/lcp_ruby/dev_toolbar_helper.rb +17 -0
  90. data/app/helpers/lcp_ruby/dialog_helper.rb +27 -0
  91. data/app/helpers/lcp_ruby/display/card_helper.rb +317 -0
  92. data/app/helpers/lcp_ruby/display_helper.rb +63 -0
  93. data/app/helpers/lcp_ruby/display_template_helper.rb +100 -0
  94. data/app/helpers/lcp_ruby/form_helper.rb +1020 -0
  95. data/app/helpers/lcp_ruby/grouped_query_helper.rb +107 -0
  96. data/app/helpers/lcp_ruby/i18n_payload_helper.rb +197 -0
  97. data/app/helpers/lcp_ruby/layout_helper.rb +832 -0
  98. data/app/helpers/lcp_ruby/link_through_helper.rb +29 -0
  99. data/app/helpers/lcp_ruby/oidc_button_helper.rb +59 -0
  100. data/app/helpers/lcp_ruby/search_helper.rb +31 -0
  101. data/app/helpers/lcp_ruby/tree_helper.rb +140 -0
  102. data/app/helpers/lcp_ruby/view_slot_helper.rb +33 -0
  103. data/app/models/lcp_ruby/user.rb +61 -0
  104. data/app/views/layouts/lcp_ruby/application.html.erb +168 -0
  105. data/app/views/layouts/lcp_ruby/auth.html.erb +170 -0
  106. data/app/views/lcp_ruby/auth/callbacks/failure.html.erb +18 -0
  107. data/app/views/lcp_ruby/auth/mailer/reset_password_instructions.html.erb +9 -0
  108. data/app/views/lcp_ruby/auth/passwords/edit.html.erb +34 -0
  109. data/app/views/lcp_ruby/auth/passwords/new.html.erb +24 -0
  110. data/app/views/lcp_ruby/auth/registrations/edit.html.erb +48 -0
  111. data/app/views/lcp_ruby/auth/registrations/new.html.erb +46 -0
  112. data/app/views/lcp_ruby/auth/sessions/new.html.erb +55 -0
  113. data/app/views/lcp_ruby/auth/shared/_links.html.erb +13 -0
  114. data/app/views/lcp_ruby/custom_fields/_manage_row.html.erb +82 -0
  115. data/app/views/lcp_ruby/custom_fields/manage.html.erb +47 -0
  116. data/app/views/lcp_ruby/dialogs/_dialog_composite_frame.html.erb +87 -0
  117. data/app/views/lcp_ruby/dialogs/_dialog_frame.html.erb +60 -0
  118. data/app/views/lcp_ruby/dialogs/_dialog_show_frame.html.erb +14 -0
  119. data/app/views/lcp_ruby/dialogs/_show_secret.html.erb +10 -0
  120. data/app/views/lcp_ruby/dialogs/_success.html.erb +1 -0
  121. data/app/views/lcp_ruby/errors/not_found.html.erb +5 -0
  122. data/app/views/lcp_ruby/menu_renderers/_user_menu.html.erb +51 -0
  123. data/app/views/lcp_ruby/menu_renderers/_user_menu_panel.html.erb +32 -0
  124. data/app/views/lcp_ruby/navigation/_auto_top.html.erb +16 -0
  125. data/app/views/lcp_ruby/navigation/_both_sidebar.html.erb +1 -0
  126. data/app/views/lcp_ruby/navigation/_both_top.html.erb +1 -0
  127. data/app/views/lcp_ruby/navigation/_impersonation_banner.html.erb +14 -0
  128. data/app/views/lcp_ruby/navigation/_item_content.html.erb +23 -0
  129. data/app/views/lcp_ruby/navigation/_link_or_button.html.erb +51 -0
  130. data/app/views/lcp_ruby/navigation/_mobile_header.html.erb +23 -0
  131. data/app/views/lcp_ruby/navigation/_panel_item.html.erb +32 -0
  132. data/app/views/lcp_ruby/navigation/_sidebar.html.erb +38 -0
  133. data/app/views/lcp_ruby/navigation/_sidebar_item.html.erb +38 -0
  134. data/app/views/lcp_ruby/navigation/_sidebar_toggle.html.erb +32 -0
  135. data/app/views/lcp_ruby/navigation/_top.html.erb +26 -0
  136. data/app/views/lcp_ruby/navigation/_top_item.html.erb +112 -0
  137. data/app/views/lcp_ruby/navigation/_widget_item.html.erb +14 -0
  138. data/app/views/lcp_ruby/resources/_action_button.html.erb +138 -0
  139. data/app/views/lcp_ruby/resources/_advanced_filter.html.erb +55 -0
  140. data/app/views/lcp_ruby/resources/_api_status_banner.html.erb +11 -0
  141. data/app/views/lcp_ruby/resources/_association_list.html.erb +132 -0
  142. data/app/views/lcp_ruby/resources/_audit_history.html.erb +66 -0
  143. data/app/views/lcp_ruby/resources/_batch_toolbar.html.erb +54 -0
  144. data/app/views/lcp_ruby/resources/_filter_form.html.erb +57 -0
  145. data/app/views/lcp_ruby/resources/_form.html.erb +73 -0
  146. data/app/views/lcp_ruby/resources/_form_action_button.html.erb +20 -0
  147. data/app/views/lcp_ruby/resources/_form_action_dropdown_item.html.erb +17 -0
  148. data/app/views/lcp_ruby/resources/_form_actions.html.erb +38 -0
  149. data/app/views/lcp_ruby/resources/_form_section.html.erb +235 -0
  150. data/app/views/lcp_ruby/resources/_grid_page.html.erb +17 -0
  151. data/app/views/lcp_ruby/resources/_grouped_index.html.erb +61 -0
  152. data/app/views/lcp_ruby/resources/_inline_create_form.html.erb +50 -0
  153. data/app/views/lcp_ruby/resources/_json_items_list.html.erb +77 -0
  154. data/app/views/lcp_ruby/resources/_json_nested_fields.html.erb +30 -0
  155. data/app/views/lcp_ruby/resources/_kanban_card.html.erb +31 -0
  156. data/app/views/lcp_ruby/resources/_kanban_card_body.html.erb +17 -0
  157. data/app/views/lcp_ruby/resources/_kanban_column.html.erb +33 -0
  158. data/app/views/lcp_ruby/resources/_kanban_column_header.html.erb +10 -0
  159. data/app/views/lcp_ruby/resources/_kanban_index.html.erb +17 -0
  160. data/app/views/lcp_ruby/resources/_nested_field_cell.html.erb +33 -0
  161. data/app/views/lcp_ruby/resources/_nested_fields.html.erb +26 -0
  162. data/app/views/lcp_ruby/resources/_nested_row_content.html.erb +65 -0
  163. data/app/views/lcp_ruby/resources/_scope_filters.html.erb +71 -0
  164. data/app/views/lcp_ruby/resources/_semantic_index_page.html.erb +162 -0
  165. data/app/views/lcp_ruby/resources/_semantic_page.html.erb +121 -0
  166. data/app/views/lcp_ruby/resources/_show_sections.html.erb +128 -0
  167. data/app/views/lcp_ruby/resources/_table_index.html.erb +169 -0
  168. data/app/views/lcp_ruby/resources/_tile_card.html.erb +26 -0
  169. data/app/views/lcp_ruby/resources/_tile_card_body.html.erb +19 -0
  170. data/app/views/lcp_ruby/resources/_tiles_index.html.erb +15 -0
  171. data/app/views/lcp_ruby/resources/_transition_button.html.erb +33 -0
  172. data/app/views/lcp_ruby/resources/_tree_index.html.erb +61 -0
  173. data/app/views/lcp_ruby/resources/_view_switcher.html.erb +24 -0
  174. data/app/views/lcp_ruby/resources/edit.html.erb +9 -0
  175. data/app/views/lcp_ruby/resources/index.html.erb +80 -0
  176. data/app/views/lcp_ruby/resources/new.html.erb +9 -0
  177. data/app/views/lcp_ruby/resources/show.html.erb +37 -0
  178. data/app/views/lcp_ruby/shared/_breadcrumbs.html.erb +15 -0
  179. data/app/views/lcp_ruby/shared/_custom_partial_error.html.erb +3 -0
  180. data/app/views/lcp_ruby/shared/_flash_messages.html.erb +19 -0
  181. data/app/views/lcp_ruby/slots/index/_advanced_filter.html.erb +3 -0
  182. data/app/views/lcp_ruby/slots/index/_collection_actions.html.erb +50 -0
  183. data/app/views/lcp_ruby/slots/index/_manage_all.html.erb +4 -0
  184. data/app/views/lcp_ruby/slots/index/_pagination_footer.html.erb +71 -0
  185. data/app/views/lcp_ruby/slots/index/_predefined_filters.html.erb +8 -0
  186. data/app/views/lcp_ruby/slots/index/_saved_filters.html.erb +87 -0
  187. data/app/views/lcp_ruby/slots/index/_search.html.erb +52 -0
  188. data/app/views/lcp_ruby/slots/index/_search_parameter.html.erb +72 -0
  189. data/app/views/lcp_ruby/slots/index/_sort_dropdown.html.erb +21 -0
  190. data/app/views/lcp_ruby/slots/index/_summary_bar.html.erb +22 -0
  191. data/app/views/lcp_ruby/slots/index/_view_switcher.html.erb +1 -0
  192. data/app/views/lcp_ruby/slots/show/_approval_status.html.erb +8 -0
  193. data/app/views/lcp_ruby/slots/show/_back_to_list.html.erb +1 -0
  194. data/app/views/lcp_ruby/slots/show/_copy_url.html.erb +5 -0
  195. data/app/views/lcp_ruby/slots/show/_single_actions.html.erb +4 -0
  196. data/app/views/lcp_ruby/slots/show/_view_switcher.html.erb +1 -0
  197. data/app/views/lcp_ruby/widgets/_approval_status.html.erb +150 -0
  198. data/app/views/lcp_ruby/widgets/_chart.html.erb +36 -0
  199. data/app/views/lcp_ruby/widgets/_embed.html.erb +13 -0
  200. data/app/views/lcp_ruby/widgets/_kpi_card.html.erb +29 -0
  201. data/app/views/lcp_ruby/widgets/_list.html.erb +17 -0
  202. data/app/views/lcp_ruby/widgets/_presenter_zone.html.erb +84 -0
  203. data/app/views/lcp_ruby/widgets/_record_show_zone.html.erb +11 -0
  204. data/app/views/lcp_ruby/widgets/_text.html.erb +3 -0
  205. data/app/views/lcp_ruby/widgets/_workflow_graph.html.erb +32 -0
  206. data/app/views/lcp_ruby/zones/_custom_zone.html.erb +16 -0
  207. data/app/views/lcp_ruby/zones/_error.html.erb +5 -0
  208. data/app/views/lcp_ruby/zones/_zone_frame.html.erb +25 -0
  209. data/app/views/lcp_ruby/zones/_zone_search.html.erb +20 -0
  210. data/config/locales/cs.yml +859 -0
  211. data/config/locales/en.yml +731 -0
  212. data/config/routes.rb +119 -0
  213. data/docs/README.md +225 -0
  214. data/docs/architecture.md +212 -0
  215. data/docs/feature-catalog.md +763 -0
  216. data/docs/feature-catalog.yml +20911 -0
  217. data/docs/getting-started.md +1187 -0
  218. data/docs/guides/action-buttons.md +537 -0
  219. data/docs/guides/adding-locale.md +353 -0
  220. data/docs/guides/api-backed-models.md +478 -0
  221. data/docs/guides/attachments.md +399 -0
  222. data/docs/guides/auditing.md +333 -0
  223. data/docs/guides/batch-actions.md +342 -0
  224. data/docs/guides/composite-pages.md +1290 -0
  225. data/docs/guides/computed-fields.md +350 -0
  226. data/docs/guides/conditional-rendering.md +832 -0
  227. data/docs/guides/custom-actions.md +238 -0
  228. data/docs/guides/custom-fields.md +439 -0
  229. data/docs/guides/custom-renderers.md +234 -0
  230. data/docs/guides/custom-types.md +274 -0
  231. data/docs/guides/dashboards.md +504 -0
  232. data/docs/guides/debugging/README.md +38 -0
  233. data/docs/guides/debugging/controllers.md +147 -0
  234. data/docs/guides/debugging/data.md +165 -0
  235. data/docs/guides/debugging/metadata.md +143 -0
  236. data/docs/guides/debugging/models.md +126 -0
  237. data/docs/guides/debugging/permissions.md +147 -0
  238. data/docs/guides/debugging/presenters.md +151 -0
  239. data/docs/guides/developer-tools.md +418 -0
  240. data/docs/guides/dialogs.md +392 -0
  241. data/docs/guides/display-types.md +1430 -0
  242. data/docs/guides/eager-loading.md +230 -0
  243. data/docs/guides/event-handlers.md +135 -0
  244. data/docs/guides/export.md +305 -0
  245. data/docs/guides/extensibility.md +761 -0
  246. data/docs/guides/groups.md +220 -0
  247. data/docs/guides/hierarchical-authorization.md +427 -0
  248. data/docs/guides/host-application.md +556 -0
  249. data/docs/guides/host-controller-integration.md +473 -0
  250. data/docs/guides/impersonation.md +83 -0
  251. data/docs/guides/import.md +165 -0
  252. data/docs/guides/inherited-permissions.md +459 -0
  253. data/docs/guides/menu.md +373 -0
  254. data/docs/guides/monitoring.md +254 -0
  255. data/docs/guides/oidc-setup.md +399 -0
  256. data/docs/guides/permission-source.md +205 -0
  257. data/docs/guides/permissions.md +364 -0
  258. data/docs/guides/presenters.md +2324 -0
  259. data/docs/guides/record-aliases.md +303 -0
  260. data/docs/guides/rendering-extension-points.md +280 -0
  261. data/docs/guides/role-source.md +288 -0
  262. data/docs/guides/selectbox.md +516 -0
  263. data/docs/guides/sequences.md +291 -0
  264. data/docs/guides/soft-delete.md +460 -0
  265. data/docs/guides/theming.md +129 -0
  266. data/docs/guides/tiles.md +383 -0
  267. data/docs/guides/tree-structures.md +297 -0
  268. data/docs/guides/userstamps.md +288 -0
  269. data/docs/guides/view-groups.md +259 -0
  270. data/docs/guides/view-slots.md +352 -0
  271. data/docs/guides/virtual-columns.md +810 -0
  272. data/docs/guides/workflow.md +692 -0
  273. data/docs/reference/api-backed-models.md +404 -0
  274. data/docs/reference/api-tokens.md +128 -0
  275. data/docs/reference/auditing.md +277 -0
  276. data/docs/reference/boot_lifecycle.md +188 -0
  277. data/docs/reference/cascading_selects.md +189 -0
  278. data/docs/reference/condition-operators.md +445 -0
  279. data/docs/reference/custom-fields.md +483 -0
  280. data/docs/reference/dialogs.md +286 -0
  281. data/docs/reference/doctor.md +168 -0
  282. data/docs/reference/dynamic-references.md +95 -0
  283. data/docs/reference/eager-loading.md +192 -0
  284. data/docs/reference/engine-configuration.md +989 -0
  285. data/docs/reference/export.md +309 -0
  286. data/docs/reference/forms.md +68 -0
  287. data/docs/reference/groups.md +176 -0
  288. data/docs/reference/host-controller-integration.md +342 -0
  289. data/docs/reference/i18n.md +497 -0
  290. data/docs/reference/i18n_check.md +351 -0
  291. data/docs/reference/import.md +260 -0
  292. data/docs/reference/invariant_check.md +216 -0
  293. data/docs/reference/menu.md +985 -0
  294. data/docs/reference/model-dsl.md +1157 -0
  295. data/docs/reference/models.md +2972 -0
  296. data/docs/reference/monitoring.md +222 -0
  297. data/docs/reference/oidc-bearer.md +269 -0
  298. data/docs/reference/oidc.md +407 -0
  299. data/docs/reference/page_filters.md +328 -0
  300. data/docs/reference/pages.md +1375 -0
  301. data/docs/reference/permission-source.md +185 -0
  302. data/docs/reference/permissions.md +715 -0
  303. data/docs/reference/presenter-dsl.md +1719 -0
  304. data/docs/reference/presenters.md +3627 -0
  305. data/docs/reference/role-source.md +227 -0
  306. data/docs/reference/theme-variables.md +139 -0
  307. data/docs/reference/tree-structures.md +374 -0
  308. data/docs/reference/types.md +470 -0
  309. data/docs/reference/view-groups.md +347 -0
  310. data/docs/reference/view-slots.md +228 -0
  311. data/docs/reference/virtual_forms.md +196 -0
  312. data/docs/reference/workflow-approvals.md +387 -0
  313. data/docs/reference/workflow.md +651 -0
  314. data/examples/crm/Gemfile +9 -0
  315. data/examples/crm/Gemfile.lock +417 -0
  316. data/examples/crm/Rakefile +2 -0
  317. data/examples/crm/app/actions/activity/complete.rb +20 -0
  318. data/examples/crm/app/actions/deal/close_won.rb +20 -0
  319. data/examples/crm/app/assets/config/manifest.js +3 -0
  320. data/examples/crm/app/controllers/application_controller.rb +9 -0
  321. data/examples/crm/app/event_handlers/deal/on_stage_change.rb +17 -0
  322. data/examples/crm/app/lcp_services/computed/weighted_deal_value.rb +13 -0
  323. data/examples/crm/app/lcp_services/data_providers/active_contacts_count.rb +14 -0
  324. data/examples/crm/app/lcp_services/data_providers/open_deals_count.rb +14 -0
  325. data/examples/crm/app/lcp_services/data_providers/pending_activities_count.rb +15 -0
  326. data/examples/crm/app/lcp_services/data_providers/pipeline_value.rb +27 -0
  327. data/examples/crm/app/lcp_services/data_providers/won_deals_count.rb +14 -0
  328. data/examples/crm/app/lcp_services/defaults/thirty_days_out.rb +11 -0
  329. data/examples/crm/app/lcp_services/transforms/titlecase.rb +11 -0
  330. data/examples/crm/app/lcp_services/validators/deal_credit_limit.rb +19 -0
  331. data/examples/crm/app/lcp_services/validators/deal_documents_required.rb +17 -0
  332. data/examples/crm/app/renderers/conditional_badge.rb +39 -0
  333. data/examples/crm/bin/rails +4 -0
  334. data/examples/crm/bin/rake +4 -0
  335. data/examples/crm/config/application.rb +31 -0
  336. data/examples/crm/config/boot.rb +2 -0
  337. data/examples/crm/config/database.yml +12 -0
  338. data/examples/crm/config/environment.rb +2 -0
  339. data/examples/crm/config/initializers/lcp_ruby.rb +45 -0
  340. data/examples/crm/config/lcp_ruby/menu.yml +53 -0
  341. data/examples/crm/config/lcp_ruby/models/activity.rb +43 -0
  342. data/examples/crm/config/lcp_ruby/models/city.rb +19 -0
  343. data/examples/crm/config/lcp_ruby/models/company.rb +65 -0
  344. data/examples/crm/config/lcp_ruby/models/contact.rb +62 -0
  345. data/examples/crm/config/lcp_ruby/models/country.rb +22 -0
  346. data/examples/crm/config/lcp_ruby/models/custom_field_definition.rb +60 -0
  347. data/examples/crm/config/lcp_ruby/models/deal.rb +85 -0
  348. data/examples/crm/config/lcp_ruby/models/deal_category.rb +15 -0
  349. data/examples/crm/config/lcp_ruby/models/gapfree_sequence.rb +17 -0
  350. data/examples/crm/config/lcp_ruby/models/region.rb +15 -0
  351. data/examples/crm/config/lcp_ruby/models/saved_filter.rb +50 -0
  352. data/examples/crm/config/lcp_ruby/pages/activity_quick_log.yml +19 -0
  353. data/examples/crm/config/lcp_ruby/pages/company_detail.yml +127 -0
  354. data/examples/crm/config/lcp_ruby/pages/deals_overview.yml +65 -0
  355. data/examples/crm/config/lcp_ruby/permissions/activity.yml +40 -0
  356. data/examples/crm/config/lcp_ruby/permissions/custom_field_definition.yml +16 -0
  357. data/examples/crm/config/lcp_ruby/permissions/deal.yml +54 -0
  358. data/examples/crm/config/lcp_ruby/permissions/default.yml +16 -0
  359. data/examples/crm/config/lcp_ruby/permissions/gapfree_sequence.yml +6 -0
  360. data/examples/crm/config/lcp_ruby/permissions/saved_filter.yml +27 -0
  361. data/examples/crm/config/lcp_ruby/presenters/activity.rb +140 -0
  362. data/examples/crm/config/lcp_ruby/presenters/activity_quick_form.rb +36 -0
  363. data/examples/crm/config/lcp_ruby/presenters/activity_short.rb +16 -0
  364. data/examples/crm/config/lcp_ruby/presenters/activity_tiles.rb +35 -0
  365. data/examples/crm/config/lcp_ruby/presenters/city.rb +53 -0
  366. data/examples/crm/config/lcp_ruby/presenters/company.rb +147 -0
  367. data/examples/crm/config/lcp_ruby/presenters/company_activities_zone.rb +26 -0
  368. data/examples/crm/config/lcp_ruby/presenters/company_archive.rb +37 -0
  369. data/examples/crm/config/lcp_ruby/presenters/company_contacts_zone.rb +22 -0
  370. data/examples/crm/config/lcp_ruby/presenters/company_deals_zone.rb +36 -0
  371. data/examples/crm/config/lcp_ruby/presenters/company_short.rb +21 -0
  372. data/examples/crm/config/lcp_ruby/presenters/company_show_zone.rb +38 -0
  373. data/examples/crm/config/lcp_ruby/presenters/company_sidebar.rb +15 -0
  374. data/examples/crm/config/lcp_ruby/presenters/company_tiles.rb +35 -0
  375. data/examples/crm/config/lcp_ruby/presenters/contact.rb +120 -0
  376. data/examples/crm/config/lcp_ruby/presenters/contact_quick_form.rb +17 -0
  377. data/examples/crm/config/lcp_ruby/presenters/contact_short.rb +20 -0
  378. data/examples/crm/config/lcp_ruby/presenters/contact_tiles.rb +34 -0
  379. data/examples/crm/config/lcp_ruby/presenters/country.rb +44 -0
  380. data/examples/crm/config/lcp_ruby/presenters/custom_fields.rb +124 -0
  381. data/examples/crm/config/lcp_ruby/presenters/deal.rb +181 -0
  382. data/examples/crm/config/lcp_ruby/presenters/deal_category.rb +46 -0
  383. data/examples/crm/config/lcp_ruby/presenters/deal_overview.rb +6 -0
  384. data/examples/crm/config/lcp_ruby/presenters/deal_pipeline.rb +18 -0
  385. data/examples/crm/config/lcp_ruby/presenters/deal_short.rb +25 -0
  386. data/examples/crm/config/lcp_ruby/presenters/deal_tiles.rb +48 -0
  387. data/examples/crm/config/lcp_ruby/presenters/region.rb +42 -0
  388. data/examples/crm/config/lcp_ruby/presenters/save_filter_dialog.rb +17 -0
  389. data/examples/crm/config/lcp_ruby/presenters/saved_filters.rb +93 -0
  390. data/examples/crm/config/lcp_ruby/views/activities.yml +16 -0
  391. data/examples/crm/config/lcp_ruby/views/cities.yml +10 -0
  392. data/examples/crm/config/lcp_ruby/views/companies.yml +14 -0
  393. data/examples/crm/config/lcp_ruby/views/contacts.yml +16 -0
  394. data/examples/crm/config/lcp_ruby/views/countries.yml +8 -0
  395. data/examples/crm/config/lcp_ruby/views/custom_fields.rb +9 -0
  396. data/examples/crm/config/lcp_ruby/views/deal_categories.yml +8 -0
  397. data/examples/crm/config/lcp_ruby/views/deals.yml +19 -0
  398. data/examples/crm/config/lcp_ruby/views/pipeline.yml +10 -0
  399. data/examples/crm/config/lcp_ruby/views/regions.yml +10 -0
  400. data/examples/crm/config/lcp_ruby/views/saved_filters.yml +7 -0
  401. data/examples/crm/config/locales/cs.yml +338 -0
  402. data/examples/crm/config/locales/en.yml +353 -0
  403. data/examples/crm/config/routes.rb +4 -0
  404. data/examples/crm/config/storage.yml +3 -0
  405. data/examples/crm/config.ru +2 -0
  406. data/examples/crm/db/migrate/20260219104942_create_active_storage_tables.active_storage.rb +57 -0
  407. data/examples/crm/db/schema.rb +245 -0
  408. data/examples/crm/db/seeds.rb +1111 -0
  409. data/examples/crm/erd.md +163 -0
  410. data/examples/hr/Gemfile +9 -0
  411. data/examples/hr/Gemfile.lock +419 -0
  412. data/examples/hr/Rakefile +6 -0
  413. data/examples/hr/app/actions/asset/assign_asset.rb +20 -0
  414. data/examples/hr/app/actions/asset/return_asset.rb +20 -0
  415. data/examples/hr/app/actions/candidate/advance.rb +32 -0
  416. data/examples/hr/app/actions/candidate/hire.rb +20 -0
  417. data/examples/hr/app/actions/candidate/reject_candidate.rb +20 -0
  418. data/examples/hr/app/actions/expense_claim/approve.rb +21 -0
  419. data/examples/hr/app/actions/expense_claim/reject.rb +21 -0
  420. data/examples/hr/app/actions/expense_claim/submit.rb +20 -0
  421. data/examples/hr/app/actions/interview/complete_interview.rb +20 -0
  422. data/examples/hr/app/actions/leave_request/approve.rb +21 -0
  423. data/examples/hr/app/actions/leave_request/cancel.rb +20 -0
  424. data/examples/hr/app/actions/leave_request/reject.rb +21 -0
  425. data/examples/hr/app/assets/config/manifest.js +1 -0
  426. data/examples/hr/app/assets/stylesheets/application.css +10 -0
  427. data/examples/hr/app/condition_services/is_own_org_unit.rb +14 -0
  428. data/examples/hr/app/condition_services/is_own_record.rb +20 -0
  429. data/examples/hr/app/controllers/application_controller.rb +15 -0
  430. data/examples/hr/app/event_handlers/asset_assignment/on_create.rb +24 -0
  431. data/examples/hr/app/event_handlers/candidate/on_status_change.rb +18 -0
  432. data/examples/hr/app/event_handlers/leave_request/on_status_change.rb +45 -0
  433. data/examples/hr/app/helpers/application_helper.rb +2 -0
  434. data/examples/hr/app/javascript/application.js +1 -0
  435. data/examples/hr/app/jobs/application_job.rb +7 -0
  436. data/examples/hr/app/lcp_services/computed/employee_tenure.rb +28 -0
  437. data/examples/hr/app/lcp_services/computed/leave_remaining.rb +13 -0
  438. data/examples/hr/app/lcp_services/data_providers/headcount_text.rb +14 -0
  439. data/examples/hr/app/lcp_services/data_providers/open_positions_count.rb +14 -0
  440. data/examples/hr/app/lcp_services/data_providers/pending_expenses_count.rb +14 -0
  441. data/examples/hr/app/lcp_services/data_providers/pending_leaves_count.rb +14 -0
  442. data/examples/hr/app/lcp_services/defaults/current_year.rb +11 -0
  443. data/examples/hr/app/lcp_services/transforms/titlecase.rb +11 -0
  444. data/examples/hr/app/lcp_services/validators/expense_receipt_required.rb +17 -0
  445. data/examples/hr/app/lcp_services/validators/leave_balance_check.rb +37 -0
  446. data/examples/hr/app/models/application_record.rb +3 -0
  447. data/examples/hr/app/views/layouts/application.html.erb +29 -0
  448. data/examples/hr/app/views/pwa/manifest.json.erb +22 -0
  449. data/examples/hr/app/views/pwa/service-worker.js +26 -0
  450. data/examples/hr/bin/brakeman +7 -0
  451. data/examples/hr/bin/bundler-audit +6 -0
  452. data/examples/hr/bin/ci +6 -0
  453. data/examples/hr/bin/dev +2 -0
  454. data/examples/hr/bin/docker-entrypoint +8 -0
  455. data/examples/hr/bin/importmap +4 -0
  456. data/examples/hr/bin/jobs +6 -0
  457. data/examples/hr/bin/kamal +27 -0
  458. data/examples/hr/bin/rails +4 -0
  459. data/examples/hr/bin/rake +4 -0
  460. data/examples/hr/bin/rubocop +8 -0
  461. data/examples/hr/bin/setup +35 -0
  462. data/examples/hr/bin/thrust +5 -0
  463. data/examples/hr/config/application.rb +31 -0
  464. data/examples/hr/config/boot.rb +2 -0
  465. data/examples/hr/config/bundler-audit.yml +5 -0
  466. data/examples/hr/config/cache.yml +16 -0
  467. data/examples/hr/config/ci.rb +20 -0
  468. data/examples/hr/config/credentials.yml.enc +1 -0
  469. data/examples/hr/config/database.yml +36 -0
  470. data/examples/hr/config/deploy.yml +119 -0
  471. data/examples/hr/config/environment.rb +5 -0
  472. data/examples/hr/config/environments/development.rb +66 -0
  473. data/examples/hr/config/environments/production.rb +74 -0
  474. data/examples/hr/config/environments/test.rb +45 -0
  475. data/examples/hr/config/importmap.rb +3 -0
  476. data/examples/hr/config/initializers/assets.rb +7 -0
  477. data/examples/hr/config/initializers/content_security_policy.rb +29 -0
  478. data/examples/hr/config/initializers/filter_parameter_logging.rb +8 -0
  479. data/examples/hr/config/initializers/inflections.rb +16 -0
  480. data/examples/hr/config/initializers/lcp_ruby.rb +18 -0
  481. data/examples/hr/config/lcp_ruby/menu.yml +86 -0
  482. data/examples/hr/config/lcp_ruby/models/announcement.rb +33 -0
  483. data/examples/hr/config/lcp_ruby/models/asset.rb +73 -0
  484. data/examples/hr/config/lcp_ruby/models/asset_assignment.rb +39 -0
  485. data/examples/hr/config/lcp_ruby/models/audit_log.yml +57 -0
  486. data/examples/hr/config/lcp_ruby/models/candidate.rb +68 -0
  487. data/examples/hr/config/lcp_ruby/models/custom_field_definition.rb +60 -0
  488. data/examples/hr/config/lcp_ruby/models/dashboard.rb +17 -0
  489. data/examples/hr/config/lcp_ruby/models/document.rb +38 -0
  490. data/examples/hr/config/lcp_ruby/models/employee.rb +128 -0
  491. data/examples/hr/config/lcp_ruby/models/employee_skill.rb +29 -0
  492. data/examples/hr/config/lcp_ruby/models/expense_claim.rb +70 -0
  493. data/examples/hr/config/lcp_ruby/models/goal.rb +48 -0
  494. data/examples/hr/config/lcp_ruby/models/group.rb +37 -0
  495. data/examples/hr/config/lcp_ruby/models/group_membership.rb +26 -0
  496. data/examples/hr/config/lcp_ruby/models/interview.rb +54 -0
  497. data/examples/hr/config/lcp_ruby/models/job_posting.rb +67 -0
  498. data/examples/hr/config/lcp_ruby/models/leave_balance.rb +31 -0
  499. data/examples/hr/config/lcp_ruby/models/leave_request.rb +52 -0
  500. data/examples/hr/config/lcp_ruby/models/leave_type.rb +35 -0
  501. data/examples/hr/config/lcp_ruby/models/organization_unit.rb +42 -0
  502. data/examples/hr/config/lcp_ruby/models/performance_review.rb +59 -0
  503. data/examples/hr/config/lcp_ruby/models/position.rb +43 -0
  504. data/examples/hr/config/lcp_ruby/models/skill.rb +27 -0
  505. data/examples/hr/config/lcp_ruby/models/training_course.rb +53 -0
  506. data/examples/hr/config/lcp_ruby/models/training_enrollment.rb +35 -0
  507. data/examples/hr/config/lcp_ruby/pages/dashboard.yml +101 -0
  508. data/examples/hr/config/lcp_ruby/permissions/announcement.yml +25 -0
  509. data/examples/hr/config/lcp_ruby/permissions/asset.yml +35 -0
  510. data/examples/hr/config/lcp_ruby/permissions/audit_log.yml +28 -0
  511. data/examples/hr/config/lcp_ruby/permissions/candidate.yml +25 -0
  512. data/examples/hr/config/lcp_ruby/permissions/custom_field_definition.yml +28 -0
  513. data/examples/hr/config/lcp_ruby/permissions/dashboard.yml +25 -0
  514. data/examples/hr/config/lcp_ruby/permissions/default.yml +25 -0
  515. data/examples/hr/config/lcp_ruby/permissions/document.yml +37 -0
  516. data/examples/hr/config/lcp_ruby/permissions/employee.yml +55 -0
  517. data/examples/hr/config/lcp_ruby/permissions/expense_claim.yml +45 -0
  518. data/examples/hr/config/lcp_ruby/permissions/group.yml +27 -0
  519. data/examples/hr/config/lcp_ruby/permissions/job_posting.yml +34 -0
  520. data/examples/hr/config/lcp_ruby/permissions/leave_request.yml +45 -0
  521. data/examples/hr/config/lcp_ruby/permissions/performance_review.yml +42 -0
  522. data/examples/hr/config/lcp_ruby/presenters/announcement.rb +47 -0
  523. data/examples/hr/config/lcp_ruby/presenters/asset.rb +69 -0
  524. data/examples/hr/config/lcp_ruby/presenters/asset_assignment.rb +47 -0
  525. data/examples/hr/config/lcp_ruby/presenters/audit_logs.yml +43 -0
  526. data/examples/hr/config/lcp_ruby/presenters/candidate.rb +71 -0
  527. data/examples/hr/config/lcp_ruby/presenters/custom_fields.rb +124 -0
  528. data/examples/hr/config/lcp_ruby/presenters/dashboard.rb +37 -0
  529. data/examples/hr/config/lcp_ruby/presenters/document.rb +46 -0
  530. data/examples/hr/config/lcp_ruby/presenters/employee.rb +167 -0
  531. data/examples/hr/config/lcp_ruby/presenters/employee_archive.rb +38 -0
  532. data/examples/hr/config/lcp_ruby/presenters/employee_directory.rb +27 -0
  533. data/examples/hr/config/lcp_ruby/presenters/employee_skill.rb +57 -0
  534. data/examples/hr/config/lcp_ruby/presenters/expense_claim.rb +76 -0
  535. data/examples/hr/config/lcp_ruby/presenters/goal.rb +60 -0
  536. data/examples/hr/config/lcp_ruby/presenters/group.rb +48 -0
  537. data/examples/hr/config/lcp_ruby/presenters/interview.rb +59 -0
  538. data/examples/hr/config/lcp_ruby/presenters/job_posting.rb +73 -0
  539. data/examples/hr/config/lcp_ruby/presenters/leave_balance.rb +50 -0
  540. data/examples/hr/config/lcp_ruby/presenters/leave_request.rb +89 -0
  541. data/examples/hr/config/lcp_ruby/presenters/leave_type.rb +52 -0
  542. data/examples/hr/config/lcp_ruby/presenters/organization_unit.rb +56 -0
  543. data/examples/hr/config/lcp_ruby/presenters/performance_review.rb +87 -0
  544. data/examples/hr/config/lcp_ruby/presenters/position.rb +54 -0
  545. data/examples/hr/config/lcp_ruby/presenters/skill.rb +45 -0
  546. data/examples/hr/config/lcp_ruby/presenters/training_course.rb +61 -0
  547. data/examples/hr/config/lcp_ruby/presenters/training_enrollment.rb +49 -0
  548. data/examples/hr/config/lcp_ruby/views/announcements.yml +8 -0
  549. data/examples/hr/config/lcp_ruby/views/asset_assignments.yml +10 -0
  550. data/examples/hr/config/lcp_ruby/views/assets.yml +8 -0
  551. data/examples/hr/config/lcp_ruby/views/audit_logs.yml +8 -0
  552. data/examples/hr/config/lcp_ruby/views/candidates.yml +8 -0
  553. data/examples/hr/config/lcp_ruby/views/custom_fields.yml +8 -0
  554. data/examples/hr/config/lcp_ruby/views/dashboard.yml +6 -0
  555. data/examples/hr/config/lcp_ruby/views/documents.yml +10 -0
  556. data/examples/hr/config/lcp_ruby/views/employee_skills.yml +10 -0
  557. data/examples/hr/config/lcp_ruby/views/employees.yml +14 -0
  558. data/examples/hr/config/lcp_ruby/views/expense_claims.yml +10 -0
  559. data/examples/hr/config/lcp_ruby/views/goals.yml +10 -0
  560. data/examples/hr/config/lcp_ruby/views/groups.yml +8 -0
  561. data/examples/hr/config/lcp_ruby/views/interviews.yml +8 -0
  562. data/examples/hr/config/lcp_ruby/views/job_postings.yml +6 -0
  563. data/examples/hr/config/lcp_ruby/views/leave_balances.yml +10 -0
  564. data/examples/hr/config/lcp_ruby/views/leave_requests.yml +10 -0
  565. data/examples/hr/config/lcp_ruby/views/leave_types.yml +8 -0
  566. data/examples/hr/config/lcp_ruby/views/organization_units.yml +8 -0
  567. data/examples/hr/config/lcp_ruby/views/performance_reviews.yml +10 -0
  568. data/examples/hr/config/lcp_ruby/views/positions.yml +8 -0
  569. data/examples/hr/config/lcp_ruby/views/skills.yml +8 -0
  570. data/examples/hr/config/lcp_ruby/views/training_courses.yml +8 -0
  571. data/examples/hr/config/lcp_ruby/views/training_enrollments.yml +10 -0
  572. data/examples/hr/config/locales/cs.yml +496 -0
  573. data/examples/hr/config/locales/en.yml +740 -0
  574. data/examples/hr/config/locales/sk.yml +496 -0
  575. data/examples/hr/config/puma.rb +42 -0
  576. data/examples/hr/config/queue.yml +18 -0
  577. data/examples/hr/config/recurring.yml +15 -0
  578. data/examples/hr/config/routes.rb +4 -0
  579. data/examples/hr/config/storage.yml +27 -0
  580. data/examples/hr/config.ru +6 -0
  581. data/examples/hr/db/cache_schema.rb +12 -0
  582. data/examples/hr/db/migrate/20260303202825_create_active_storage_tables.active_storage.rb +57 -0
  583. data/examples/hr/db/queue_schema.rb +129 -0
  584. data/examples/hr/db/schema.rb +588 -0
  585. data/examples/hr/db/seeds.rb +932 -0
  586. data/examples/hr/erd.md +396 -0
  587. data/examples/hr/public/400.html +135 -0
  588. data/examples/hr/public/404.html +135 -0
  589. data/examples/hr/public/406-unsupported-browser.html +135 -0
  590. data/examples/hr/public/422.html +135 -0
  591. data/examples/hr/public/500.html +135 -0
  592. data/examples/hr/public/icon.svg +3 -0
  593. data/examples/hr/public/robots.txt +1 -0
  594. data/examples/showcase/Gemfile +15 -0
  595. data/examples/showcase/Gemfile.lock +425 -0
  596. data/examples/showcase/Rakefile +2 -0
  597. data/examples/showcase/app/actions/showcase_batch_task/assign_batch.rb +20 -0
  598. data/examples/showcase/app/actions/showcase_batch_task/close_task.rb +21 -0
  599. data/examples/showcase/app/actions/showcase_condition/approve.rb +20 -0
  600. data/examples/showcase/app/actions/showcase_permission/lock.rb +20 -0
  601. data/examples/showcase/app/assets/config/manifest.js +3 -0
  602. data/examples/showcase/app/assets/stylesheets/application.css +27 -0
  603. data/examples/showcase/app/condition_services/budget_threshold.rb +16 -0
  604. data/examples/showcase/app/condition_services/overdue_check.rb +11 -0
  605. data/examples/showcase/app/controllers/application_controller.rb +2 -0
  606. data/examples/showcase/app/controllers/docs_controller.rb +48 -0
  607. data/examples/showcase/app/controllers/host_inventory_items_managed_controller.rb +90 -0
  608. data/examples/showcase/app/controllers/host_inventory_items_report_controller.rb +39 -0
  609. data/examples/showcase/app/controllers/host_inventory_items_wizard_controller.rb +50 -0
  610. data/examples/showcase/app/data_providers/showcase_amount_provider.rb +52 -0
  611. data/examples/showcase/app/data_providers/weather_station_provider.rb +140 -0
  612. data/examples/showcase/app/event_handlers/showcase_model/on_status_change.rb +17 -0
  613. data/examples/showcase/app/event_handlers/showcase_permission/on_status_change.rb +17 -0
  614. data/examples/showcase/app/event_handlers/showcase_workflow/log_review_exit.rb +16 -0
  615. data/examples/showcase/app/event_handlers/showcase_workflow/notify_reviewers.rb +15 -0
  616. data/examples/showcase/app/event_handlers/showcase_workflow/request_submitted.rb +15 -0
  617. data/examples/showcase/app/lcp_metrics/showcase_metrics.rb +31 -0
  618. data/examples/showcase/app/lcp_services/computed/showcase_score.rb +18 -0
  619. data/examples/showcase/app/lcp_services/computed/showcase_total.rb +13 -0
  620. data/examples/showcase/app/lcp_services/defaults/one_week_from_now.rb +11 -0
  621. data/examples/showcase/app/lcp_services/menu_items/recent_announcements.rb +36 -0
  622. data/examples/showcase/app/lcp_services/virtual_columns/project_health.rb +26 -0
  623. data/examples/showcase/app/model_extensions/lcp_error_log_extension.rb +12 -0
  624. data/examples/showcase/app/models/host_inventory_item.rb +20 -0
  625. data/examples/showcase/app/models/platform_profile.rb +27 -0
  626. data/examples/showcase/app/models/platform_user.rb +5 -0
  627. data/examples/showcase/app/views/docs/show.html.erb +19 -0
  628. data/examples/showcase/app/views/host_inventory_items_report/index.html.erb +61 -0
  629. data/examples/showcase/app/views/host_inventory_items_report/show.html.erb +39 -0
  630. data/examples/showcase/app/views/layouts/docs.html.erb +46 -0
  631. data/examples/showcase/app/views/showcase/menu_renderers/_status_pill.html.erb +17 -0
  632. data/examples/showcase/app/views/showcase_custom/_activity_timeline.html.erb +37 -0
  633. data/examples/showcase/app/views/showcase_custom/_card_index.html.erb +74 -0
  634. data/examples/showcase/app/views/showcase_custom/_detail_show.html.erb +115 -0
  635. data/examples/showcase/app/views/showcase_custom/_location_map.html.erb +29 -0
  636. data/examples/showcase/app/views/showcase_custom/_location_view.html.erb +34 -0
  637. data/examples/showcase/app/views/showcase_custom/_quick_stats.html.erb +50 -0
  638. data/examples/showcase/app/views/showcase_custom/_stats_sidebar.html.erb +42 -0
  639. data/examples/showcase/app/views/showcase_custom/_tags_editor.html.erb +48 -0
  640. data/examples/showcase/bin/rails +4 -0
  641. data/examples/showcase/bin/rake +4 -0
  642. data/examples/showcase/config/application.rb +37 -0
  643. data/examples/showcase/config/boot.rb +2 -0
  644. data/examples/showcase/config/database.yml +12 -0
  645. data/examples/showcase/config/environment.rb +2 -0
  646. data/examples/showcase/config/initializers/devise.rb +5 -0
  647. data/examples/showcase/config/initializers/lcp_ruby.rb +175 -0
  648. data/examples/showcase/config/lcp_ruby/auth.yml +60 -0
  649. data/examples/showcase/config/lcp_ruby/jobs/data_import.yml +7 -0
  650. data/examples/showcase/config/lcp_ruby/jobs/showcase_cleanup.yml +11 -0
  651. data/examples/showcase/config/lcp_ruby/jobs/showcase_event_triggered.yml +11 -0
  652. data/examples/showcase/config/lcp_ruby/jobs/showcase_multi_step.yml +9 -0
  653. data/examples/showcase/config/lcp_ruby/jobs/showcase_webhook.yml +13 -0
  654. data/examples/showcase/config/lcp_ruby/menu.yml +249 -0
  655. data/examples/showcase/config/lcp_ruby/models/_base_document.rb +26 -0
  656. data/examples/showcase/config/lcp_ruby/models/_categorized_document.rb +19 -0
  657. data/examples/showcase/config/lcp_ruby/models/_contactable.rb +20 -0
  658. data/examples/showcase/config/lcp_ruby/models/api_token.rb +23 -0
  659. data/examples/showcase/config/lcp_ruby/models/article.rb +49 -0
  660. data/examples/showcase/config/lcp_ruby/models/article_tag.rb +10 -0
  661. data/examples/showcase/config/lcp_ruby/models/author.rb +16 -0
  662. data/examples/showcase/config/lcp_ruby/models/batch_operation.yml +79 -0
  663. data/examples/showcase/config/lcp_ruby/models/batch_operation_item.yml +45 -0
  664. data/examples/showcase/config/lcp_ruby/models/category.rb +23 -0
  665. data/examples/showcase/config/lcp_ruby/models/comment.rb +21 -0
  666. data/examples/showcase/config/lcp_ruby/models/custom_field_definition.rb +59 -0
  667. data/examples/showcase/config/lcp_ruby/models/department.rb +32 -0
  668. data/examples/showcase/config/lcp_ruby/models/employee.rb +52 -0
  669. data/examples/showcase/config/lcp_ruby/models/employee_emergency_contact.rb +24 -0
  670. data/examples/showcase/config/lcp_ruby/models/employee_profile.rb +18 -0
  671. data/examples/showcase/config/lcp_ruby/models/employee_skill.rb +10 -0
  672. data/examples/showcase/config/lcp_ruby/models/export_log.yml +27 -0
  673. data/examples/showcase/config/lcp_ruby/models/export_profile.yml +37 -0
  674. data/examples/showcase/config/lcp_ruby/models/feature.rb +76 -0
  675. data/examples/showcase/config/lcp_ruby/models/gapfree_sequence.rb +17 -0
  676. data/examples/showcase/config/lcp_ruby/models/group.rb +26 -0
  677. data/examples/showcase/config/lcp_ruby/models/group_membership.rb +21 -0
  678. data/examples/showcase/config/lcp_ruby/models/group_role_mapping.rb +14 -0
  679. data/examples/showcase/config/lcp_ruby/models/host_inventory_item.yml +111 -0
  680. data/examples/showcase/config/lcp_ruby/models/import_profile.rb +30 -0
  681. data/examples/showcase/config/lcp_ruby/models/import_row.rb +32 -0
  682. data/examples/showcase/config/lcp_ruby/models/ingredient_def.rb +11 -0
  683. data/examples/showcase/config/lcp_ruby/models/lcp_error_log.yml +61 -0
  684. data/examples/showcase/config/lcp_ruby/models/page_config.rb +19 -0
  685. data/examples/showcase/config/lcp_ruby/models/permission_config.rb +21 -0
  686. data/examples/showcase/config/lcp_ruby/models/pipeline.rb +15 -0
  687. data/examples/showcase/config/lcp_ruby/models/pipeline_stage.rb +17 -0
  688. data/examples/showcase/config/lcp_ruby/models/platform_profile.rb +104 -0
  689. data/examples/showcase/config/lcp_ruby/models/profile_setting.rb +17 -0
  690. data/examples/showcase/config/lcp_ruby/models/profile_tag.rb +19 -0
  691. data/examples/showcase/config/lcp_ruby/models/project.rb +23 -0
  692. data/examples/showcase/config/lcp_ruby/models/role.rb +24 -0
  693. data/examples/showcase/config/lcp_ruby/models/saved_filter.rb +50 -0
  694. data/examples/showcase/config/lcp_ruby/models/showcase_aggregate.rb +93 -0
  695. data/examples/showcase/config/lcp_ruby/models/showcase_aggregate_company.rb +14 -0
  696. data/examples/showcase/config/lcp_ruby/models/showcase_aggregate_item.rb +25 -0
  697. data/examples/showcase/config/lcp_ruby/models/showcase_announcement.rb +20 -0
  698. data/examples/showcase/config/lcp_ruby/models/showcase_array.rb +45 -0
  699. data/examples/showcase/config/lcp_ruby/models/showcase_attachment.rb +49 -0
  700. data/examples/showcase/config/lcp_ruby/models/showcase_audit_log.yml +44 -0
  701. data/examples/showcase/config/lcp_ruby/models/showcase_audited_record.rb +20 -0
  702. data/examples/showcase/config/lcp_ruby/models/showcase_batch_task.rb +27 -0
  703. data/examples/showcase/config/lcp_ruby/models/showcase_business_unit.rb +26 -0
  704. data/examples/showcase/config/lcp_ruby/models/showcase_condition.rb +24 -0
  705. data/examples/showcase/config/lcp_ruby/models/showcase_condition_category.rb +16 -0
  706. data/examples/showcase/config/lcp_ruby/models/showcase_condition_task.rb +16 -0
  707. data/examples/showcase/config/lcp_ruby/models/showcase_condition_threshold.rb +13 -0
  708. data/examples/showcase/config/lcp_ruby/models/showcase_contact.rb +22 -0
  709. data/examples/showcase/config/lcp_ruby/models/showcase_custom_render.rb +38 -0
  710. data/examples/showcase/config/lcp_ruby/models/showcase_delete_reason.rb +11 -0
  711. data/examples/showcase/config/lcp_ruby/models/showcase_division.rb +31 -0
  712. data/examples/showcase/config/lcp_ruby/models/showcase_extensibility.rb +25 -0
  713. data/examples/showcase/config/lcp_ruby/models/showcase_field.rb +53 -0
  714. data/examples/showcase/config/lcp_ruby/models/showcase_form.rb +23 -0
  715. data/examples/showcase/config/lcp_ruby/models/showcase_form_action.rb +38 -0
  716. data/examples/showcase/config/lcp_ruby/models/showcase_grade.rb +18 -0
  717. data/examples/showcase/config/lcp_ruby/models/showcase_hr_employee.rb +90 -0
  718. data/examples/showcase/config/lcp_ruby/models/showcase_item_class.rb +31 -0
  719. data/examples/showcase/config/lcp_ruby/models/showcase_job_execution.rb +49 -0
  720. data/examples/showcase/config/lcp_ruby/models/showcase_memo.rb +23 -0
  721. data/examples/showcase/config/lcp_ruby/models/showcase_model.rb +74 -0
  722. data/examples/showcase/config/lcp_ruby/models/showcase_organization.rb +31 -0
  723. data/examples/showcase/config/lcp_ruby/models/showcase_permission.rb +30 -0
  724. data/examples/showcase/config/lcp_ruby/models/showcase_person.rb +23 -0
  725. data/examples/showcase/config/lcp_ruby/models/showcase_positioning.rb +19 -0
  726. data/examples/showcase/config/lcp_ruby/models/showcase_quick_note.rb +13 -0
  727. data/examples/showcase/config/lcp_ruby/models/showcase_recipe.rb +17 -0
  728. data/examples/showcase/config/lcp_ruby/models/showcase_report.rb +32 -0
  729. data/examples/showcase/config/lcp_ruby/models/showcase_school_class.rb +17 -0
  730. data/examples/showcase/config/lcp_ruby/models/showcase_search.rb +84 -0
  731. data/examples/showcase/config/lcp_ruby/models/showcase_sequence.rb +46 -0
  732. data/examples/showcase/config/lcp_ruby/models/showcase_soft_delete.rb +30 -0
  733. data/examples/showcase/config/lcp_ruby/models/showcase_soft_delete_item.rb +21 -0
  734. data/examples/showcase/config/lcp_ruby/models/showcase_student.rb +17 -0
  735. data/examples/showcase/config/lcp_ruby/models/showcase_type_default.rb +49 -0
  736. data/examples/showcase/config/lcp_ruby/models/showcase_userstamps.rb +26 -0
  737. data/examples/showcase/config/lcp_ruby/models/showcase_virtual_field.rb +68 -0
  738. data/examples/showcase/config/lcp_ruby/models/showcase_workflow.rb +54 -0
  739. data/examples/showcase/config/lcp_ruby/models/skill.rb +22 -0
  740. data/examples/showcase/config/lcp_ruby/models/tag.rb +16 -0
  741. data/examples/showcase/config/lcp_ruby/models/user.rb +54 -0
  742. data/examples/showcase/config/lcp_ruby/models/weather_station.rb +20 -0
  743. data/examples/showcase/config/lcp_ruby/models/workflow_approval_request.yml +77 -0
  744. data/examples/showcase/config/lcp_ruby/models/workflow_approval_step.yml +56 -0
  745. data/examples/showcase/config/lcp_ruby/models/workflow_approval_task.yml +51 -0
  746. data/examples/showcase/config/lcp_ruby/models/workflow_audit_log.yml +74 -0
  747. data/examples/showcase/config/lcp_ruby/pages/article_detail.yml +32 -0
  748. data/examples/showcase/config/lcp_ruby/pages/author_detail.yml +27 -0
  749. data/examples/showcase/config/lcp_ruby/pages/category_detail.yml +24 -0
  750. data/examples/showcase/config/lcp_ruby/pages/chart_showcase.yml +151 -0
  751. data/examples/showcase/config/lcp_ruby/pages/department_detail.yml +55 -0
  752. data/examples/showcase/config/lcp_ruby/pages/department_explorer.yml +60 -0
  753. data/examples/showcase/config/lcp_ruby/pages/employee_overview.yml +106 -0
  754. data/examples/showcase/config/lcp_ruby/pages/employee_transfer_dialog.yml +24 -0
  755. data/examples/showcase/config/lcp_ruby/pages/hr_turnover_dashboard.yml +288 -0
  756. data/examples/showcase/config/lcp_ruby/pages/main_dashboard.yml +142 -0
  757. data/examples/showcase/config/lcp_ruby/pages/monitoring_dashboard.yml +58 -0
  758. data/examples/showcase/config/lcp_ruby/pages/pipeline_detail.yml +16 -0
  759. data/examples/showcase/config/lcp_ruby/pages/showcase_custom_zones.yml +39 -0
  760. data/examples/showcase/config/lcp_ruby/pages/showcase_form_action_dialog.yml +11 -0
  761. data/examples/showcase/config/lcp_ruby/pages/workflow_request_detail.yml +34 -0
  762. data/examples/showcase/config/lcp_ruby/permissions/api_token.yml +26 -0
  763. data/examples/showcase/config/lcp_ruby/permissions/batch_operation.yml +36 -0
  764. data/examples/showcase/config/lcp_ruby/permissions/custom_field_definition.yml +15 -0
  765. data/examples/showcase/config/lcp_ruby/permissions/default.yml +28 -0
  766. data/examples/showcase/config/lcp_ruby/permissions/export_log.yml +23 -0
  767. data/examples/showcase/config/lcp_ruby/permissions/export_profile.yml +25 -0
  768. data/examples/showcase/config/lcp_ruby/permissions/gapfree_sequence.yml +6 -0
  769. data/examples/showcase/config/lcp_ruby/permissions/group.yml +20 -0
  770. data/examples/showcase/config/lcp_ruby/permissions/group_membership.yml +20 -0
  771. data/examples/showcase/config/lcp_ruby/permissions/group_role_mapping.yml +20 -0
  772. data/examples/showcase/config/lcp_ruby/permissions/host_inventory_item.yml +34 -0
  773. data/examples/showcase/config/lcp_ruby/permissions/import_profile.yml +29 -0
  774. data/examples/showcase/config/lcp_ruby/permissions/import_row.yml +17 -0
  775. data/examples/showcase/config/lcp_ruby/permissions/lcp_error_log.yml +8 -0
  776. data/examples/showcase/config/lcp_ruby/permissions/page_config.yml +15 -0
  777. data/examples/showcase/config/lcp_ruby/permissions/permission_config.yml +15 -0
  778. data/examples/showcase/config/lcp_ruby/permissions/platform_profile.yml +23 -0
  779. data/examples/showcase/config/lcp_ruby/permissions/profile_setting.yml +23 -0
  780. data/examples/showcase/config/lcp_ruby/permissions/profile_tag.yml +23 -0
  781. data/examples/showcase/config/lcp_ruby/permissions/role.yml +20 -0
  782. data/examples/showcase/config/lcp_ruby/permissions/saved_filter.yml +39 -0
  783. data/examples/showcase/config/lcp_ruby/permissions/showcase_announcement.yml +22 -0
  784. data/examples/showcase/config/lcp_ruby/permissions/showcase_audit_log.yml +15 -0
  785. data/examples/showcase/config/lcp_ruby/permissions/showcase_audited_record.yml +15 -0
  786. data/examples/showcase/config/lcp_ruby/permissions/showcase_batch_task.yml +31 -0
  787. data/examples/showcase/config/lcp_ruby/permissions/showcase_condition.yml +54 -0
  788. data/examples/showcase/config/lcp_ruby/permissions/showcase_contact.yml +21 -0
  789. data/examples/showcase/config/lcp_ruby/permissions/showcase_custom_render.yml +21 -0
  790. data/examples/showcase/config/lcp_ruby/permissions/showcase_delete_reason.yml +12 -0
  791. data/examples/showcase/config/lcp_ruby/permissions/showcase_form_action.yml +26 -0
  792. data/examples/showcase/config/lcp_ruby/permissions/showcase_grade.yml +33 -0
  793. data/examples/showcase/config/lcp_ruby/permissions/showcase_job_execution.yml +23 -0
  794. data/examples/showcase/config/lcp_ruby/permissions/showcase_permission.yml +47 -0
  795. data/examples/showcase/config/lcp_ruby/permissions/showcase_quick_note.yml +12 -0
  796. data/examples/showcase/config/lcp_ruby/permissions/showcase_school_class.yml +37 -0
  797. data/examples/showcase/config/lcp_ruby/permissions/showcase_student.yml +43 -0
  798. data/examples/showcase/config/lcp_ruby/permissions/showcase_workflow.yml +34 -0
  799. data/examples/showcase/config/lcp_ruby/permissions/workflow_approval_request.yml +18 -0
  800. data/examples/showcase/config/lcp_ruby/permissions/workflow_approval_step.yml +18 -0
  801. data/examples/showcase/config/lcp_ruby/permissions/workflow_approval_task.yml +18 -0
  802. data/examples/showcase/config/lcp_ruby/permissions/workflow_audit_log.yml +19 -0
  803. data/examples/showcase/config/lcp_ruby/presenters/announcements.rb +59 -0
  804. data/examples/showcase/config/lcp_ruby/presenters/approval_requests.rb +69 -0
  805. data/examples/showcase/config/lcp_ruby/presenters/approval_steps.rb +59 -0
  806. data/examples/showcase/config/lcp_ruby/presenters/approval_tasks.rb +65 -0
  807. data/examples/showcase/config/lcp_ruby/presenters/article_comments_zone.rb +12 -0
  808. data/examples/showcase/config/lcp_ruby/presenters/article_related_zone.rb +15 -0
  809. data/examples/showcase/config/lcp_ruby/presenters/articles.rb +149 -0
  810. data/examples/showcase/config/lcp_ruby/presenters/articles_tiles.rb +30 -0
  811. data/examples/showcase/config/lcp_ruby/presenters/author_articles_zone.rb +12 -0
  812. data/examples/showcase/config/lcp_ruby/presenters/author_show_zone.rb +12 -0
  813. data/examples/showcase/config/lcp_ruby/presenters/authors.rb +39 -0
  814. data/examples/showcase/config/lcp_ruby/presenters/batch_operation_items.yml +45 -0
  815. data/examples/showcase/config/lcp_ruby/presenters/batch_operations.yml +66 -0
  816. data/examples/showcase/config/lcp_ruby/presenters/categories.rb +50 -0
  817. data/examples/showcase/config/lcp_ruby/presenters/category_articles_zone.rb +20 -0
  818. data/examples/showcase/config/lcp_ruby/presenters/category_children_zone.rb +10 -0
  819. data/examples/showcase/config/lcp_ruby/presenters/comment_quick_add_dialog.rb +15 -0
  820. data/examples/showcase/config/lcp_ruby/presenters/custom_fields.rb +124 -0
  821. data/examples/showcase/config/lcp_ruby/presenters/dashboard_employees.rb +16 -0
  822. data/examples/showcase/config/lcp_ruby/presenters/delete_reason_dialog.rb +13 -0
  823. data/examples/showcase/config/lcp_ruby/presenters/departments.rb +55 -0
  824. data/examples/showcase/config/lcp_ruby/presenters/dept_add_employee_dialog.rb +19 -0
  825. data/examples/showcase/config/lcp_ruby/presenters/dept_children_zone.rb +10 -0
  826. data/examples/showcase/config/lcp_ruby/presenters/dept_detail_zone.rb +14 -0
  827. data/examples/showcase/config/lcp_ruby/presenters/dept_employees_zone.rb +16 -0
  828. data/examples/showcase/config/lcp_ruby/presenters/dept_list_selection_zone.rb +19 -0
  829. data/examples/showcase/config/lcp_ruby/presenters/employee_overview_index_zone.rb +36 -0
  830. data/examples/showcase/config/lcp_ruby/presenters/employee_quick_add_dialog.rb +14 -0
  831. data/examples/showcase/config/lcp_ruby/presenters/employee_show_zone.rb +20 -0
  832. data/examples/showcase/config/lcp_ruby/presenters/employee_transfer_form_zone.rb +19 -0
  833. data/examples/showcase/config/lcp_ruby/presenters/employees.rb +165 -0
  834. data/examples/showcase/config/lcp_ruby/presenters/employees_tiles.rb +33 -0
  835. data/examples/showcase/config/lcp_ruby/presenters/export_logs.yml +58 -0
  836. data/examples/showcase/config/lcp_ruby/presenters/export_profiles.yml +70 -0
  837. data/examples/showcase/config/lcp_ruby/presenters/extensibility_quick_edit_dialog.rb +13 -0
  838. data/examples/showcase/config/lcp_ruby/presenters/feature_kanban.rb +30 -0
  839. data/examples/showcase/config/lcp_ruby/presenters/features_card.rb +179 -0
  840. data/examples/showcase/config/lcp_ruby/presenters/features_hub.rb +44 -0
  841. data/examples/showcase/config/lcp_ruby/presenters/features_table.rb +37 -0
  842. data/examples/showcase/config/lcp_ruby/presenters/features_tiles.rb +48 -0
  843. data/examples/showcase/config/lcp_ruby/presenters/group_memberships.rb +54 -0
  844. data/examples/showcase/config/lcp_ruby/presenters/group_role_mappings.rb +48 -0
  845. data/examples/showcase/config/lcp_ruby/presenters/groups.rb +74 -0
  846. data/examples/showcase/config/lcp_ruby/presenters/host_inventory_items.rb +99 -0
  847. data/examples/showcase/config/lcp_ruby/presenters/host_inventory_items_managed.rb +84 -0
  848. data/examples/showcase/config/lcp_ruby/presenters/host_inventory_items_report.rb +40 -0
  849. data/examples/showcase/config/lcp_ruby/presenters/host_inventory_items_wizard.rb +76 -0
  850. data/examples/showcase/config/lcp_ruby/presenters/import_profiles.rb +61 -0
  851. data/examples/showcase/config/lcp_ruby/presenters/import_rows.rb +39 -0
  852. data/examples/showcase/config/lcp_ruby/presenters/lcp_error_logs.yml +46 -0
  853. data/examples/showcase/config/lcp_ruby/presenters/my_api_tokens.rb +35 -0
  854. data/examples/showcase/config/lcp_ruby/presenters/my_api_tokens_create_dialog.rb +27 -0
  855. data/examples/showcase/config/lcp_ruby/presenters/my_employee_profile.rb +24 -0
  856. data/examples/showcase/config/lcp_ruby/presenters/my_settings.rb +50 -0
  857. data/examples/showcase/config/lcp_ruby/presenters/page_configs.rb +56 -0
  858. data/examples/showcase/config/lcp_ruby/presenters/permission_configs.rb +58 -0
  859. data/examples/showcase/config/lcp_ruby/presenters/pipeline_edit_zone.rb +11 -0
  860. data/examples/showcase/config/lcp_ruby/presenters/pipeline_stages.rb +51 -0
  861. data/examples/showcase/config/lcp_ruby/presenters/pipeline_stages_zone.rb +11 -0
  862. data/examples/showcase/config/lcp_ruby/presenters/pipelines.rb +40 -0
  863. data/examples/showcase/config/lcp_ruby/presenters/platform_profiles.rb +90 -0
  864. data/examples/showcase/config/lcp_ruby/presenters/projects.rb +58 -0
  865. data/examples/showcase/config/lcp_ruby/presenters/quick_note_dialog.rb +14 -0
  866. data/examples/showcase/config/lcp_ruby/presenters/roles.rb +60 -0
  867. data/examples/showcase/config/lcp_ruby/presenters/save_filter_dialog.rb +17 -0
  868. data/examples/showcase/config/lcp_ruby/presenters/saved_filters.rb +94 -0
  869. data/examples/showcase/config/lcp_ruby/presenters/showcase_aggregate_items.rb +61 -0
  870. data/examples/showcase/config/lcp_ruby/presenters/showcase_aggregates.rb +115 -0
  871. data/examples/showcase/config/lcp_ruby/presenters/showcase_aggregates_tiles.rb +44 -0
  872. data/examples/showcase/config/lcp_ruby/presenters/showcase_amount_kanban.rb +31 -0
  873. data/examples/showcase/config/lcp_ruby/presenters/showcase_arrays.rb +140 -0
  874. data/examples/showcase/config/lcp_ruby/presenters/showcase_attachments.rb +66 -0
  875. data/examples/showcase/config/lcp_ruby/presenters/showcase_audit_logs.rb +46 -0
  876. data/examples/showcase/config/lcp_ruby/presenters/showcase_audited_records.rb +58 -0
  877. data/examples/showcase/config/lcp_ruby/presenters/showcase_batch_tasks.rb +97 -0
  878. data/examples/showcase/config/lcp_ruby/presenters/showcase_batch_tasks_archive.rb +52 -0
  879. data/examples/showcase/config/lcp_ruby/presenters/showcase_business_units.rb +43 -0
  880. data/examples/showcase/config/lcp_ruby/presenters/showcase_conditions.rb +195 -0
  881. data/examples/showcase/config/lcp_ruby/presenters/showcase_contacts.rb +82 -0
  882. data/examples/showcase/config/lcp_ruby/presenters/showcase_custom_render_with.rb +50 -0
  883. data/examples/showcase/config/lcp_ruby/presenters/showcase_custom_sections.rb +88 -0
  884. data/examples/showcase/config/lcp_ruby/presenters/showcase_custom_zones_main.rb +75 -0
  885. data/examples/showcase/config/lcp_ruby/presenters/showcase_divisions.rb +53 -0
  886. data/examples/showcase/config/lcp_ruby/presenters/showcase_extensibility.rb +48 -0
  887. data/examples/showcase/config/lcp_ruby/presenters/showcase_fields_card.rb +34 -0
  888. data/examples/showcase/config/lcp_ruby/presenters/showcase_fields_table.rb +128 -0
  889. data/examples/showcase/config/lcp_ruby/presenters/showcase_fields_tiles.rb +42 -0
  890. data/examples/showcase/config/lcp_ruby/presenters/showcase_form_action_dialog.rb +27 -0
  891. data/examples/showcase/config/lcp_ruby/presenters/showcase_form_actions.rb +132 -0
  892. data/examples/showcase/config/lcp_ruby/presenters/showcase_form_actions_overflow.rb +76 -0
  893. data/examples/showcase/config/lcp_ruby/presenters/showcase_forms.rb +110 -0
  894. data/examples/showcase/config/lcp_ruby/presenters/showcase_grades.rb +38 -0
  895. data/examples/showcase/config/lcp_ruby/presenters/showcase_hr_employees.rb +84 -0
  896. data/examples/showcase/config/lcp_ruby/presenters/showcase_item_classes.rb +120 -0
  897. data/examples/showcase/config/lcp_ruby/presenters/showcase_job_executions.rb +150 -0
  898. data/examples/showcase/config/lcp_ruby/presenters/showcase_memos.rb +96 -0
  899. data/examples/showcase/config/lcp_ruby/presenters/showcase_models.rb +112 -0
  900. data/examples/showcase/config/lcp_ruby/presenters/showcase_organizations.rb +106 -0
  901. data/examples/showcase/config/lcp_ruby/presenters/showcase_people.rb +97 -0
  902. data/examples/showcase/config/lcp_ruby/presenters/showcase_permissions.rb +84 -0
  903. data/examples/showcase/config/lcp_ruby/presenters/showcase_positioning.rb +61 -0
  904. data/examples/showcase/config/lcp_ruby/presenters/showcase_recipes.rb +105 -0
  905. data/examples/showcase/config/lcp_ruby/presenters/showcase_recipes_raw.rb +32 -0
  906. data/examples/showcase/config/lcp_ruby/presenters/showcase_reports.rb +109 -0
  907. data/examples/showcase/config/lcp_ruby/presenters/showcase_school_classes.rb +34 -0
  908. data/examples/showcase/config/lcp_ruby/presenters/showcase_searches.rb +226 -0
  909. data/examples/showcase/config/lcp_ruby/presenters/showcase_sequences.rb +67 -0
  910. data/examples/showcase/config/lcp_ruby/presenters/showcase_soft_delete.rb +88 -0
  911. data/examples/showcase/config/lcp_ruby/presenters/showcase_soft_delete_archive.rb +52 -0
  912. data/examples/showcase/config/lcp_ruby/presenters/showcase_soft_delete_items.rb +47 -0
  913. data/examples/showcase/config/lcp_ruby/presenters/showcase_students.rb +33 -0
  914. data/examples/showcase/config/lcp_ruby/presenters/showcase_type_defaults.rb +92 -0
  915. data/examples/showcase/config/lcp_ruby/presenters/showcase_userstamps.rb +76 -0
  916. data/examples/showcase/config/lcp_ruby/presenters/showcase_virtual_fields.rb +104 -0
  917. data/examples/showcase/config/lcp_ruby/presenters/showcase_workflow_admin.rb +24 -0
  918. data/examples/showcase/config/lcp_ruby/presenters/showcase_workflow_kanban.rb +36 -0
  919. data/examples/showcase/config/lcp_ruby/presenters/showcase_workflows.rb +103 -0
  920. data/examples/showcase/config/lcp_ruby/presenters/tags.rb +35 -0
  921. data/examples/showcase/config/lcp_ruby/presenters/users.rb +61 -0
  922. data/examples/showcase/config/lcp_ruby/presenters/weather_stations.rb +60 -0
  923. data/examples/showcase/config/lcp_ruby/presenters/workflow_audit_logs.rb +76 -0
  924. data/examples/showcase/config/lcp_ruby/presenters/workflow_request_audit_zone.rb +28 -0
  925. data/examples/showcase/config/lcp_ruby/theme.yml +2 -0
  926. data/examples/showcase/config/lcp_ruby/types/currency.yml +15 -0
  927. data/examples/showcase/config/lcp_ruby/types/percentage.yml +16 -0
  928. data/examples/showcase/config/lcp_ruby/types/rating.yml +20 -0
  929. data/examples/showcase/config/lcp_ruby/views/announcements.yml +7 -0
  930. data/examples/showcase/config/lcp_ruby/views/approval_requests.yml +7 -0
  931. data/examples/showcase/config/lcp_ruby/views/approval_steps.yml +7 -0
  932. data/examples/showcase/config/lcp_ruby/views/approval_tasks.yml +7 -0
  933. data/examples/showcase/config/lcp_ruby/views/articles.yml +12 -0
  934. data/examples/showcase/config/lcp_ruby/views/authors.yml +7 -0
  935. data/examples/showcase/config/lcp_ruby/views/batch_operation_items.yml +6 -0
  936. data/examples/showcase/config/lcp_ruby/views/batch_operations.yml +10 -0
  937. data/examples/showcase/config/lcp_ruby/views/categories.yml +9 -0
  938. data/examples/showcase/config/lcp_ruby/views/custom_fields.rb +8 -0
  939. data/examples/showcase/config/lcp_ruby/views/dashboard.yml +10 -0
  940. data/examples/showcase/config/lcp_ruby/views/department_explorer.yml +7 -0
  941. data/examples/showcase/config/lcp_ruby/views/departments.yml +9 -0
  942. data/examples/showcase/config/lcp_ruby/views/employee_overview.yml +7 -0
  943. data/examples/showcase/config/lcp_ruby/views/employees.yml +12 -0
  944. data/examples/showcase/config/lcp_ruby/views/export_logs.yml +7 -0
  945. data/examples/showcase/config/lcp_ruby/views/export_profiles.yml +7 -0
  946. data/examples/showcase/config/lcp_ruby/views/features.yml +19 -0
  947. data/examples/showcase/config/lcp_ruby/views/group_memberships.yml +7 -0
  948. data/examples/showcase/config/lcp_ruby/views/group_role_mappings.yml +7 -0
  949. data/examples/showcase/config/lcp_ruby/views/groups.yml +7 -0
  950. data/examples/showcase/config/lcp_ruby/views/host_inventory_items.yml +16 -0
  951. data/examples/showcase/config/lcp_ruby/views/hr_turnover_dashboard.yml +7 -0
  952. data/examples/showcase/config/lcp_ruby/views/import_profiles.yml +7 -0
  953. data/examples/showcase/config/lcp_ruby/views/import_rows.yml +7 -0
  954. data/examples/showcase/config/lcp_ruby/views/lcp_error_logs.yml +10 -0
  955. data/examples/showcase/config/lcp_ruby/views/monitoring.yml +7 -0
  956. data/examples/showcase/config/lcp_ruby/views/my_api_tokens.rb +9 -0
  957. data/examples/showcase/config/lcp_ruby/views/page_configs.yml +11 -0
  958. data/examples/showcase/config/lcp_ruby/views/permission_configs.yml +11 -0
  959. data/examples/showcase/config/lcp_ruby/views/pipeline_stages.yml +7 -0
  960. data/examples/showcase/config/lcp_ruby/views/pipelines.yml +7 -0
  961. data/examples/showcase/config/lcp_ruby/views/platform_profiles.yml +7 -0
  962. data/examples/showcase/config/lcp_ruby/views/projects.yml +9 -0
  963. data/examples/showcase/config/lcp_ruby/views/roles.yml +7 -0
  964. data/examples/showcase/config/lcp_ruby/views/saved_filters.yml +7 -0
  965. data/examples/showcase/config/lcp_ruby/views/showcase_aggregate_items.yml +7 -0
  966. data/examples/showcase/config/lcp_ruby/views/showcase_aggregates.yml +10 -0
  967. data/examples/showcase/config/lcp_ruby/views/showcase_arrays.yml +7 -0
  968. data/examples/showcase/config/lcp_ruby/views/showcase_attachments.yml +7 -0
  969. data/examples/showcase/config/lcp_ruby/views/showcase_audit_logs.yml +11 -0
  970. data/examples/showcase/config/lcp_ruby/views/showcase_audited_records.yml +10 -0
  971. data/examples/showcase/config/lcp_ruby/views/showcase_batch_tasks.yml +10 -0
  972. data/examples/showcase/config/lcp_ruby/views/showcase_business_units.yml +7 -0
  973. data/examples/showcase/config/lcp_ruby/views/showcase_conditions.yml +7 -0
  974. data/examples/showcase/config/lcp_ruby/views/showcase_contacts.yml +7 -0
  975. data/examples/showcase/config/lcp_ruby/views/showcase_custom_render_with.yml +7 -0
  976. data/examples/showcase/config/lcp_ruby/views/showcase_custom_sections.yml +7 -0
  977. data/examples/showcase/config/lcp_ruby/views/showcase_custom_zones.yml +7 -0
  978. data/examples/showcase/config/lcp_ruby/views/showcase_divisions.yml +9 -0
  979. data/examples/showcase/config/lcp_ruby/views/showcase_extensibility.yml +7 -0
  980. data/examples/showcase/config/lcp_ruby/views/showcase_fields.yml +13 -0
  981. data/examples/showcase/config/lcp_ruby/views/showcase_form_actions.yml +10 -0
  982. data/examples/showcase/config/lcp_ruby/views/showcase_forms.yml +7 -0
  983. data/examples/showcase/config/lcp_ruby/views/showcase_grades.yml +9 -0
  984. data/examples/showcase/config/lcp_ruby/views/showcase_hr_employees.yml +9 -0
  985. data/examples/showcase/config/lcp_ruby/views/showcase_item_classes.yml +7 -0
  986. data/examples/showcase/config/lcp_ruby/views/showcase_job_executions.yml +9 -0
  987. data/examples/showcase/config/lcp_ruby/views/showcase_memos.yml +7 -0
  988. data/examples/showcase/config/lcp_ruby/views/showcase_models.yml +7 -0
  989. data/examples/showcase/config/lcp_ruby/views/showcase_organizations.yml +7 -0
  990. data/examples/showcase/config/lcp_ruby/views/showcase_people.yml +7 -0
  991. data/examples/showcase/config/lcp_ruby/views/showcase_permissions.yml +7 -0
  992. data/examples/showcase/config/lcp_ruby/views/showcase_positioning.yml +7 -0
  993. data/examples/showcase/config/lcp_ruby/views/showcase_recipes.yml +10 -0
  994. data/examples/showcase/config/lcp_ruby/views/showcase_reports.yml +7 -0
  995. data/examples/showcase/config/lcp_ruby/views/showcase_school_classes.yml +7 -0
  996. data/examples/showcase/config/lcp_ruby/views/showcase_searches.yml +7 -0
  997. data/examples/showcase/config/lcp_ruby/views/showcase_sequences.yml +7 -0
  998. data/examples/showcase/config/lcp_ruby/views/showcase_soft_delete.yml +10 -0
  999. data/examples/showcase/config/lcp_ruby/views/showcase_soft_delete_items.yml +8 -0
  1000. data/examples/showcase/config/lcp_ruby/views/showcase_students.yml +9 -0
  1001. data/examples/showcase/config/lcp_ruby/views/showcase_userstamps.yml +7 -0
  1002. data/examples/showcase/config/lcp_ruby/views/showcase_virtual_fields.yml +7 -0
  1003. data/examples/showcase/config/lcp_ruby/views/showcase_workflows.yml +16 -0
  1004. data/examples/showcase/config/lcp_ruby/views/tags.yml +7 -0
  1005. data/examples/showcase/config/lcp_ruby/views/users.yml +7 -0
  1006. data/examples/showcase/config/lcp_ruby/views/weather_stations.yml +7 -0
  1007. data/examples/showcase/config/lcp_ruby/views/workflow_audit_logs.yml +9 -0
  1008. data/examples/showcase/config/lcp_ruby/workflows/showcase_form_action.rb +48 -0
  1009. data/examples/showcase/config/lcp_ruby/workflows/showcase_workflow.rb +199 -0
  1010. data/examples/showcase/config/locales/cs.yml +2818 -0
  1011. data/examples/showcase/config/locales/en.yml +67 -0
  1012. data/examples/showcase/config/locales/lcp_ruby/api_tokens.cs.yml +46 -0
  1013. data/examples/showcase/config/locales/lcp_ruby/api_tokens.en.yml +49 -0
  1014. data/examples/showcase/config/routes.rb +21 -0
  1015. data/examples/showcase/config/storage.yml +3 -0
  1016. data/examples/showcase/config.ru +2 -0
  1017. data/examples/showcase/db/migrate/20260219124321_create_active_storage_tables.active_storage.rb +57 -0
  1018. data/examples/showcase/db/migrate/20260220072723_create_lcp_ruby_users.rb +42 -0
  1019. data/examples/showcase/db/migrate/20260406120000_create_host_inventory_items.rb +32 -0
  1020. data/examples/showcase/db/migrate/20260428134542_add_oidc_columns_to_lcp_ruby_users.rb +13 -0
  1021. data/examples/showcase/db/migrate/20260502120000_create_platform_profiles.rb +19 -0
  1022. data/examples/showcase/db/schema.rb +1222 -0
  1023. data/examples/showcase/db/seeds.rb +3085 -0
  1024. data/examples/showcase/erd.md +567 -0
  1025. data/examples/showcase/test/fixtures/import_articles.csv +4 -0
  1026. data/examples/showcase/test/fixtures/import_employees.csv +4 -0
  1027. data/examples/todo/Gemfile +8 -0
  1028. data/examples/todo/Gemfile.lock +415 -0
  1029. data/examples/todo/Rakefile +2 -0
  1030. data/examples/todo/app/assets/config/manifest.js +1 -0
  1031. data/examples/todo/app/controllers/application_controller.rb +6 -0
  1032. data/examples/todo/app/lcp_services/defaults/one_week_from_now.rb +11 -0
  1033. data/examples/todo/bin/rails +4 -0
  1034. data/examples/todo/bin/rake +4 -0
  1035. data/examples/todo/config/application.rb +31 -0
  1036. data/examples/todo/config/boot.rb +2 -0
  1037. data/examples/todo/config/database.yml +12 -0
  1038. data/examples/todo/config/environment.rb +2 -0
  1039. data/examples/todo/config/lcp_ruby/models/todo_item.yml +67 -0
  1040. data/examples/todo/config/lcp_ruby/models/todo_list.yml +49 -0
  1041. data/examples/todo/config/lcp_ruby/permissions/default.yml +10 -0
  1042. data/examples/todo/config/lcp_ruby/permissions/todo_item.yml +21 -0
  1043. data/examples/todo/config/lcp_ruby/presenters/todo_item.yml +75 -0
  1044. data/examples/todo/config/lcp_ruby/presenters/todo_list.yml +68 -0
  1045. data/examples/todo/config/lcp_ruby/views/todo_items.yml +11 -0
  1046. data/examples/todo/config/lcp_ruby/views/todo_lists.yml +9 -0
  1047. data/examples/todo/config/routes.rb +4 -0
  1048. data/examples/todo/config/storage.yml +3 -0
  1049. data/examples/todo/config.ru +2 -0
  1050. data/examples/todo/db/migrate/20260219103416_create_active_storage_tables.active_storage.rb +57 -0
  1051. data/examples/todo/db/schema.rb +63 -0
  1052. data/examples/todo/db/seeds.rb +24 -0
  1053. data/examples/todo/erd.md +21 -0
  1054. data/exe/lcp +33 -0
  1055. data/lib/generators/lcp_ruby/agent_setup_generator.rb +102 -0
  1056. data/lib/generators/lcp_ruby/api_tokens_generator.rb +102 -0
  1057. data/lib/generators/lcp_ruby/auditing_generator.rb +54 -0
  1058. data/lib/generators/lcp_ruby/background_jobs_generator.rb +61 -0
  1059. data/lib/generators/lcp_ruby/batch_operations_generator.rb +62 -0
  1060. data/lib/generators/lcp_ruby/claude_skills_generator.rb +47 -0
  1061. data/lib/generators/lcp_ruby/custom_fields_generator.rb +54 -0
  1062. data/lib/generators/lcp_ruby/dsl_to_yaml.rb +72 -0
  1063. data/lib/generators/lcp_ruby/entity/color_palette.rb +22 -0
  1064. data/lib/generators/lcp_ruby/entity/field_descriptor.rb +24 -0
  1065. data/lib/generators/lcp_ruby/entity/field_token_parser.rb +101 -0
  1066. data/lib/generators/lcp_ruby/entity/role_discovery.rb +45 -0
  1067. data/lib/generators/lcp_ruby/entity_generator.rb +1104 -0
  1068. data/lib/generators/lcp_ruby/export_generator.rb +71 -0
  1069. data/lib/generators/lcp_ruby/format_support.rb +56 -0
  1070. data/lib/generators/lcp_ruby/gapfree_sequences_generator.rb +64 -0
  1071. data/lib/generators/lcp_ruby/groups_generator.rb +94 -0
  1072. data/lib/generators/lcp_ruby/host_controller_generator.rb +202 -0
  1073. data/lib/generators/lcp_ruby/import_generator.rb +96 -0
  1074. data/lib/generators/lcp_ruby/install_auth_generator.rb +432 -0
  1075. data/lib/generators/lcp_ruby/install_generator.rb +319 -0
  1076. data/lib/generators/lcp_ruby/monitoring_generator.rb +58 -0
  1077. data/lib/generators/lcp_ruby/oidc_role_mappings_generator.rb +60 -0
  1078. data/lib/generators/lcp_ruby/pages_generator.rb +66 -0
  1079. data/lib/generators/lcp_ruby/permission_source_generator.rb +66 -0
  1080. data/lib/generators/lcp_ruby/role_model_generator.rb +73 -0
  1081. data/lib/generators/lcp_ruby/saved_filters_generator.rb +62 -0
  1082. data/lib/generators/lcp_ruby/templates/add_oidc_columns_to_lcp_ruby_users.rb.erb +13 -0
  1083. data/lib/generators/lcp_ruby/templates/agent_setup/agents_md.md +3 -0
  1084. data/lib/generators/lcp_ruby/templates/agent_setup/claude_md.md +12 -0
  1085. data/lib/generators/lcp_ruby/templates/api_tokens/create_dialog.rb +31 -0
  1086. data/lib/generators/lcp_ruby/templates/api_tokens/locales.en.yml +43 -0
  1087. data/lib/generators/lcp_ruby/templates/api_tokens/model.rb +23 -0
  1088. data/lib/generators/lcp_ruby/templates/api_tokens/permissions.yml +30 -0
  1089. data/lib/generators/lcp_ruby/templates/api_tokens/presenter.rb +38 -0
  1090. data/lib/generators/lcp_ruby/templates/api_tokens/view_group.rb +13 -0
  1091. data/lib/generators/lcp_ruby/templates/auditing/model.rb +34 -0
  1092. data/lib/generators/lcp_ruby/templates/auditing/permissions.yml +19 -0
  1093. data/lib/generators/lcp_ruby/templates/auditing/presenter.rb +41 -0
  1094. data/lib/generators/lcp_ruby/templates/auditing/view_group.rb +10 -0
  1095. data/lib/generators/lcp_ruby/templates/background_jobs/model.rb +59 -0
  1096. data/lib/generators/lcp_ruby/templates/background_jobs/permissions.yml +22 -0
  1097. data/lib/generators/lcp_ruby/templates/background_jobs/presenter.rb +82 -0
  1098. data/lib/generators/lcp_ruby/templates/background_jobs/view_group.rb +9 -0
  1099. data/lib/generators/lcp_ruby/templates/batch_operations/item_model.rb +28 -0
  1100. data/lib/generators/lcp_ruby/templates/batch_operations/item_presenter.rb +43 -0
  1101. data/lib/generators/lcp_ruby/templates/batch_operations/model.rb +42 -0
  1102. data/lib/generators/lcp_ruby/templates/batch_operations/permissions.yml +44 -0
  1103. data/lib/generators/lcp_ruby/templates/batch_operations/presenter.rb +61 -0
  1104. data/lib/generators/lcp_ruby/templates/batch_operations/view_group.rb +9 -0
  1105. data/lib/generators/lcp_ruby/templates/create_lcp_ruby_users.rb.erb +50 -0
  1106. data/lib/generators/lcp_ruby/templates/custom_fields/model.rb +60 -0
  1107. data/lib/generators/lcp_ruby/templates/custom_fields/permissions.yml +19 -0
  1108. data/lib/generators/lcp_ruby/templates/custom_fields/presenter.rb +128 -0
  1109. data/lib/generators/lcp_ruby/templates/custom_fields/view_group.rb +9 -0
  1110. data/lib/generators/lcp_ruby/templates/entity/model.rb +42 -0
  1111. data/lib/generators/lcp_ruby/templates/entity/permissions.yml +20 -0
  1112. data/lib/generators/lcp_ruby/templates/entity/presenter.rb +55 -0
  1113. data/lib/generators/lcp_ruby/templates/entity/view_group.rb +8 -0
  1114. data/lib/generators/lcp_ruby/templates/export/export_log_model.rb +30 -0
  1115. data/lib/generators/lcp_ruby/templates/export/export_log_permissions.yml +24 -0
  1116. data/lib/generators/lcp_ruby/templates/export/export_logs_presenter.rb +51 -0
  1117. data/lib/generators/lcp_ruby/templates/export/export_profile_model.rb +28 -0
  1118. data/lib/generators/lcp_ruby/templates/export/export_profile_permissions.yml +26 -0
  1119. data/lib/generators/lcp_ruby/templates/export/export_profiles_presenter.rb +59 -0
  1120. data/lib/generators/lcp_ruby/templates/gapfree_sequences/model.rb +18 -0
  1121. data/lib/generators/lcp_ruby/templates/gapfree_sequences/permissions.yml +19 -0
  1122. data/lib/generators/lcp_ruby/templates/gapfree_sequences/presenter.rb +51 -0
  1123. data/lib/generators/lcp_ruby/templates/gapfree_sequences/view_group.rb +9 -0
  1124. data/lib/generators/lcp_ruby/templates/groups/group_membership_model.rb +17 -0
  1125. data/lib/generators/lcp_ruby/templates/groups/group_model.rb +28 -0
  1126. data/lib/generators/lcp_ruby/templates/groups/group_permissions.yml +19 -0
  1127. data/lib/generators/lcp_ruby/templates/groups/group_presenter.rb +53 -0
  1128. data/lib/generators/lcp_ruby/templates/groups/group_role_mapping_model.rb +15 -0
  1129. data/lib/generators/lcp_ruby/templates/groups/group_view_group.rb +9 -0
  1130. data/lib/generators/lcp_ruby/templates/host_controller/controller.rb.erb +131 -0
  1131. data/lib/generators/lcp_ruby/templates/import/data_import_job.yml +7 -0
  1132. data/lib/generators/lcp_ruby/templates/import/import_profile_model.rb +30 -0
  1133. data/lib/generators/lcp_ruby/templates/import/import_profile_permissions.yml +29 -0
  1134. data/lib/generators/lcp_ruby/templates/import/import_profiles_presenter.rb +57 -0
  1135. data/lib/generators/lcp_ruby/templates/import/import_row_model.rb +32 -0
  1136. data/lib/generators/lcp_ruby/templates/import/import_row_permissions.yml +11 -0
  1137. data/lib/generators/lcp_ruby/templates/import/import_rows_presenter.rb +35 -0
  1138. data/lib/generators/lcp_ruby/templates/install/default_permissions.yml +26 -0
  1139. data/lib/generators/lcp_ruby/templates/install/menu.yml.tt +71 -0
  1140. data/lib/generators/lcp_ruby/templates/install/model.rb +20 -0
  1141. data/lib/generators/lcp_ruby/templates/install/permissions.yml +25 -0
  1142. data/lib/generators/lcp_ruby/templates/install/presenter.rb +44 -0
  1143. data/lib/generators/lcp_ruby/templates/install/view_group.rb +10 -0
  1144. data/lib/generators/lcp_ruby/templates/install_auth/oidc/entra.yml.erb +46 -0
  1145. data/lib/generators/lcp_ruby/templates/install_auth/oidc/generic.yml.erb +55 -0
  1146. data/lib/generators/lcp_ruby/templates/install_auth/oidc/google.yml.erb +42 -0
  1147. data/lib/generators/lcp_ruby/templates/install_auth/oidc/keycloak.yml.erb +45 -0
  1148. data/lib/generators/lcp_ruby/templates/install_auth/oidc/okta.yml.erb +45 -0
  1149. data/lib/generators/lcp_ruby/templates/install_auth/user.rb +36 -0
  1150. data/lib/generators/lcp_ruby/templates/monitoring/model.rb +34 -0
  1151. data/lib/generators/lcp_ruby/templates/monitoring/model_extension.rb +12 -0
  1152. data/lib/generators/lcp_ruby/templates/monitoring/page.yml +49 -0
  1153. data/lib/generators/lcp_ruby/templates/monitoring/permissions.yml +8 -0
  1154. data/lib/generators/lcp_ruby/templates/monitoring/presenter.rb +44 -0
  1155. data/lib/generators/lcp_ruby/templates/oidc_role_mappings/locales.en.yml +15 -0
  1156. data/lib/generators/lcp_ruby/templates/oidc_role_mappings/model.rb +32 -0
  1157. data/lib/generators/lcp_ruby/templates/oidc_role_mappings/permissions.yml +21 -0
  1158. data/lib/generators/lcp_ruby/templates/oidc_role_mappings/presenter.rb +41 -0
  1159. data/lib/generators/lcp_ruby/templates/pages/model.rb +19 -0
  1160. data/lib/generators/lcp_ruby/templates/pages/permissions.yml +19 -0
  1161. data/lib/generators/lcp_ruby/templates/pages/presenter.rb +51 -0
  1162. data/lib/generators/lcp_ruby/templates/pages/view_group.rb +10 -0
  1163. data/lib/generators/lcp_ruby/templates/permission_source/model.rb +21 -0
  1164. data/lib/generators/lcp_ruby/templates/permission_source/permissions.yml +19 -0
  1165. data/lib/generators/lcp_ruby/templates/permission_source/presenter.rb +51 -0
  1166. data/lib/generators/lcp_ruby/templates/permission_source/view_group.rb +10 -0
  1167. data/lib/generators/lcp_ruby/templates/role_model/model.rb +24 -0
  1168. data/lib/generators/lcp_ruby/templates/role_model/permissions.yml +19 -0
  1169. data/lib/generators/lcp_ruby/templates/role_model/presenter.rb +62 -0
  1170. data/lib/generators/lcp_ruby/templates/role_model/view_group.rb +10 -0
  1171. data/lib/generators/lcp_ruby/templates/saved_filters/model.rb +51 -0
  1172. data/lib/generators/lcp_ruby/templates/saved_filters/permissions.yml +44 -0
  1173. data/lib/generators/lcp_ruby/templates/saved_filters/presenter.rb +96 -0
  1174. data/lib/generators/lcp_ruby/templates/saved_filters/save_dialog_presenter.rb +19 -0
  1175. data/lib/generators/lcp_ruby/templates/workflow_approvals/request_model.rb +50 -0
  1176. data/lib/generators/lcp_ruby/templates/workflow_approvals/request_permissions.yml +10 -0
  1177. data/lib/generators/lcp_ruby/templates/workflow_approvals/request_presenter.rb +44 -0
  1178. data/lib/generators/lcp_ruby/templates/workflow_approvals/request_view_group.rb +10 -0
  1179. data/lib/generators/lcp_ruby/templates/workflow_approvals/step_model.rb +36 -0
  1180. data/lib/generators/lcp_ruby/templates/workflow_approvals/step_permissions.yml +10 -0
  1181. data/lib/generators/lcp_ruby/templates/workflow_approvals/task_model.rb +34 -0
  1182. data/lib/generators/lcp_ruby/templates/workflow_approvals/task_permissions.yml +10 -0
  1183. data/lib/generators/lcp_ruby/templates/workflow_approvals/task_presenter.rb +39 -0
  1184. data/lib/generators/lcp_ruby/templates/workflow_approvals/task_view_group.rb +10 -0
  1185. data/lib/generators/lcp_ruby/templates/workflow_audit_log/model.rb +48 -0
  1186. data/lib/generators/lcp_ruby/templates/workflow_audit_log/permissions.yml +10 -0
  1187. data/lib/generators/lcp_ruby/templates/workflow_audit_log/presenter.rb +44 -0
  1188. data/lib/generators/lcp_ruby/templates/workflow_audit_log/view_group.rb +10 -0
  1189. data/lib/generators/lcp_ruby/templates/workflow_definition/model.rb +43 -0
  1190. data/lib/generators/lcp_ruby/templates/workflow_definition/permissions.yml +19 -0
  1191. data/lib/generators/lcp_ruby/templates/workflow_definition/presenter.rb +70 -0
  1192. data/lib/generators/lcp_ruby/templates/workflow_definition/view_group.rb +10 -0
  1193. data/lib/generators/lcp_ruby/workflow_approvals_generator.rb +93 -0
  1194. data/lib/generators/lcp_ruby/workflow_audit_log_generator.rb +54 -0
  1195. data/lib/generators/lcp_ruby/workflow_definition_generator.rb +77 -0
  1196. data/lib/lcp.rb +6 -0
  1197. data/lib/lcp_ruby/actions/action_executor.rb +66 -0
  1198. data/lib/lcp_ruby/actions/action_registry.rb +48 -0
  1199. data/lib/lcp_ruby/actions/api_tokens/revoke.rb +13 -0
  1200. data/lib/lcp_ruby/actions/base_action.rb +79 -0
  1201. data/lib/lcp_ruby/actions/form_action_pipeline.rb +138 -0
  1202. data/lib/lcp_ruby/aggregates/query_builder.rb +6 -0
  1203. data/lib/lcp_ruby/api_tokens/model_extension.rb +41 -0
  1204. data/lib/lcp_ruby/api_tokens/resolver_registry.rb +53 -0
  1205. data/lib/lcp_ruby/api_tokens/token_generator.rb +27 -0
  1206. data/lib/lcp_ruby/api_tokens/verifier.rb +38 -0
  1207. data/lib/lcp_ruby/app_template.rb +181 -0
  1208. data/lib/lcp_ruby/array_query.rb +120 -0
  1209. data/lib/lcp_ruby/asset_copier.rb +62 -0
  1210. data/lib/lcp_ruby/association_fk_type.rb +191 -0
  1211. data/lib/lcp_ruby/association_join_column.rb +28 -0
  1212. data/lib/lcp_ruby/association_options_builder.rb +231 -0
  1213. data/lib/lcp_ruby/auditing/audit_writer.rb +258 -0
  1214. data/lib/lcp_ruby/auditing/contract_validator.rb +95 -0
  1215. data/lib/lcp_ruby/auditing/registry.rb +29 -0
  1216. data/lib/lcp_ruby/auditing/setup.rb +49 -0
  1217. data/lib/lcp_ruby/authentication/audit_subscriber.rb +51 -0
  1218. data/lib/lcp_ruby/authentication/bearer_jwt_verifier.rb +139 -0
  1219. data/lib/lcp_ruby/authentication/devise_setup.rb +47 -0
  1220. data/lib/lcp_ruby/authentication/errors.rb +27 -0
  1221. data/lib/lcp_ruby/authentication/http_fetcher.rb +36 -0
  1222. data/lib/lcp_ruby/authentication/jwks_cache.rb +91 -0
  1223. data/lib/lcp_ruby/authentication/oidc_bearer_resolver.rb +84 -0
  1224. data/lib/lcp_ruby/authentication/omniauth_builder.rb +147 -0
  1225. data/lib/lcp_ruby/authentication/provider.rb +108 -0
  1226. data/lib/lcp_ruby/authentication/provider_registry.rb +227 -0
  1227. data/lib/lcp_ruby/authentication/role_mapper.rb +94 -0
  1228. data/lib/lcp_ruby/authentication/test_support.rb +257 -0
  1229. data/lib/lcp_ruby/authentication/user_resolver.rb +169 -0
  1230. data/lib/lcp_ruby/authentication.rb +40 -0
  1231. data/lib/lcp_ruby/authorization/association_lookup.rb +56 -0
  1232. data/lib/lcp_ruby/authorization/authorization_error.rb +12 -0
  1233. data/lib/lcp_ruby/authorization/cache.rb +89 -0
  1234. data/lib/lcp_ruby/authorization/codes.rb +17 -0
  1235. data/lib/lcp_ruby/authorization/impersonated_user.rb +29 -0
  1236. data/lib/lcp_ruby/authorization/includes_hint.rb +110 -0
  1237. data/lib/lcp_ruby/authorization/inherited_parent_validator.rb +142 -0
  1238. data/lib/lcp_ruby/authorization/invariant_check/configuration.rb +132 -0
  1239. data/lib/lcp_ruby/authorization/invariant_error.rb +15 -0
  1240. data/lib/lcp_ruby/authorization/misconfigured_page_error.rb +30 -0
  1241. data/lib/lcp_ruby/authorization/page_gate.rb +57 -0
  1242. data/lib/lcp_ruby/authorization/permission_evaluator.rb +343 -0
  1243. data/lib/lcp_ruby/authorization/policy_factory.rb +91 -0
  1244. data/lib/lcp_ruby/authorization/runtime_invariant_validator.rb +421 -0
  1245. data/lib/lcp_ruby/authorization/scope_builder.rb +227 -0
  1246. data/lib/lcp_ruby/authorization/scope_resolver.rb +28 -0
  1247. data/lib/lcp_ruby/authorized_controller.rb +44 -0
  1248. data/lib/lcp_ruby/background_jobs/base_handler.rb +113 -0
  1249. data/lib/lcp_ruby/background_jobs/change_handler.rb +17 -0
  1250. data/lib/lcp_ruby/background_jobs/contract.rb +16 -0
  1251. data/lib/lcp_ruby/background_jobs/contract_validator.rb +112 -0
  1252. data/lib/lcp_ruby/background_jobs/declarative/base_action.rb +11 -0
  1253. data/lib/lcp_ruby/background_jobs/declarative/call_webhook_action.rb +174 -0
  1254. data/lib/lcp_ruby/background_jobs/declarative/fire_event_action.rb +24 -0
  1255. data/lib/lcp_ruby/background_jobs/declarative/registry.rb +34 -0
  1256. data/lib/lcp_ruby/background_jobs/declarative/run_scope_action.rb +98 -0
  1257. data/lib/lcp_ruby/background_jobs/declarative/send_notification_action.rb +13 -0
  1258. data/lib/lcp_ruby/background_jobs/definition.rb +134 -0
  1259. data/lib/lcp_ruby/background_jobs/enqueue.rb +83 -0
  1260. data/lib/lcp_ruby/background_jobs/errors.rb +9 -0
  1261. data/lib/lcp_ruby/background_jobs/executor_job.rb +111 -0
  1262. data/lib/lcp_ruby/background_jobs/handler_factory.rb +46 -0
  1263. data/lib/lcp_ruby/background_jobs/host_source.rb +33 -0
  1264. data/lib/lcp_ruby/background_jobs/model_source.rb +93 -0
  1265. data/lib/lcp_ruby/background_jobs/registry.rb +81 -0
  1266. data/lib/lcp_ruby/background_jobs/resolver.rb +29 -0
  1267. data/lib/lcp_ruby/background_jobs/schedule_adapter.rb +14 -0
  1268. data/lib/lcp_ruby/background_jobs/setup.rb +145 -0
  1269. data/lib/lcp_ruby/background_jobs/static_source.rb +19 -0
  1270. data/lib/lcp_ruby/background_jobs/steps_executor.rb +52 -0
  1271. data/lib/lcp_ruby/background_jobs/triggers/event_trigger.rb +97 -0
  1272. data/lib/lcp_ruby/background_jobs/triggers/trigger_installer.rb +20 -0
  1273. data/lib/lcp_ruby/background_jobs/unique_key_builder.rb +31 -0
  1274. data/lib/lcp_ruby/batch_actions/base_service.rb +70 -0
  1275. data/lib/lcp_ruby/batch_actions/batch_action_handler.rb +200 -0
  1276. data/lib/lcp_ruby/batch_actions/custom_action_dispatcher.rb +133 -0
  1277. data/lib/lcp_ruby/batch_actions/destroy_service.rb +37 -0
  1278. data/lib/lcp_ruby/batch_actions/permanently_destroy_service.rb +33 -0
  1279. data/lib/lcp_ruby/batch_actions/restore_service.rb +33 -0
  1280. data/lib/lcp_ruby/batch_actions.rb +5 -0
  1281. data/lib/lcp_ruby/bulk_updater.rb +25 -0
  1282. data/lib/lcp_ruby/cli/docs_command.rb +29 -0
  1283. data/lib/lcp_ruby/cli/examples_command.rb +29 -0
  1284. data/lib/lcp_ruby/cli/new_command.rb +509 -0
  1285. data/lib/lcp_ruby/cli/run_command.rb +155 -0
  1286. data/lib/lcp_ruby/cli/skills_command.rb +54 -0
  1287. data/lib/lcp_ruby/cli.rb +74 -0
  1288. data/lib/lcp_ruby/condition_evaluator.rb +366 -0
  1289. data/lib/lcp_ruby/condition_service_registry.rb +58 -0
  1290. data/lib/lcp_ruby/condition_services/current_user_role.rb +28 -0
  1291. data/lib/lcp_ruby/condition_services/feature_flag.rb +63 -0
  1292. data/lib/lcp_ruby/condition_services/impersonating.rb +24 -0
  1293. data/lib/lcp_ruby/conditions/validator.rb +35 -0
  1294. data/lib/lcp_ruby/configuration.rb +431 -0
  1295. data/lib/lcp_ruby/controller/authentication.rb +118 -0
  1296. data/lib/lcp_ruby/controller/authorization.rb +198 -0
  1297. data/lib/lcp_ruby/controller/bearer_authentication.rb +76 -0
  1298. data/lib/lcp_ruby/controller/crud_helpers.rb +233 -0
  1299. data/lib/lcp_ruby/controller/error_handling.rb +94 -0
  1300. data/lib/lcp_ruby/controller/impersonation.rb +70 -0
  1301. data/lib/lcp_ruby/controller/locale_binding.rb +62 -0
  1302. data/lib/lcp_ruby/controller/path_helpers.rb +125 -0
  1303. data/lib/lcp_ruby/controller/presenter_setup.rb +89 -0
  1304. data/lib/lcp_ruby/controller/search.rb +321 -0
  1305. data/lib/lcp_ruby/controller/view_helpers.rb +105 -0
  1306. data/lib/lcp_ruby/current.rb +13 -0
  1307. data/lib/lcp_ruby/custom_fields/applicator.rb +194 -0
  1308. data/lib/lcp_ruby/custom_fields/contract_validator.rb +77 -0
  1309. data/lib/lcp_ruby/custom_fields/definition_change_handler.rb +21 -0
  1310. data/lib/lcp_ruby/custom_fields/query.rb +112 -0
  1311. data/lib/lcp_ruby/custom_fields/registry.rb +70 -0
  1312. data/lib/lcp_ruby/custom_fields/setup.rb +58 -0
  1313. data/lib/lcp_ruby/custom_fields/utils.rb +40 -0
  1314. data/lib/lcp_ruby/custom_fields.rb +9 -0
  1315. data/lib/lcp_ruby/data_source/api_error_placeholder.rb +47 -0
  1316. data/lib/lcp_ruby/data_source/api_filter_translator.rb +72 -0
  1317. data/lib/lcp_ruby/data_source/api_model_concern.rb +131 -0
  1318. data/lib/lcp_ruby/data_source/api_preloader.rb +44 -0
  1319. data/lib/lcp_ruby/data_source/base.rb +85 -0
  1320. data/lib/lcp_ruby/data_source/cached_wrapper.rb +107 -0
  1321. data/lib/lcp_ruby/data_source/host.rb +71 -0
  1322. data/lib/lcp_ruby/data_source/registry.rb +39 -0
  1323. data/lib/lcp_ruby/data_source/resilient_wrapper.rb +67 -0
  1324. data/lib/lcp_ruby/data_source/rest_json.rb +247 -0
  1325. data/lib/lcp_ruby/data_source/setup.rb +57 -0
  1326. data/lib/lcp_ruby/dev_toolbar.rb +8 -0
  1327. data/lib/lcp_ruby/display/base_renderer.rb +21 -0
  1328. data/lib/lcp_ruby/display/count_badge.rb +11 -0
  1329. data/lib/lcp_ruby/display/icon_badge.rb +17 -0
  1330. data/lib/lcp_ruby/display/renderer_registry.rb +138 -0
  1331. data/lib/lcp_ruby/display/renderers/attachment_link.rb +26 -0
  1332. data/lib/lcp_ruby/display/renderers/attachment_list.rb +32 -0
  1333. data/lib/lcp_ruby/display/renderers/attachment_preview.rb +26 -0
  1334. data/lib/lcp_ruby/display/renderers/avatar.rb +14 -0
  1335. data/lib/lcp_ruby/display/renderers/badge.rb +43 -0
  1336. data/lib/lcp_ruby/display/renderers/boolean_icon.rb +54 -0
  1337. data/lib/lcp_ruby/display/renderers/code.rb +39 -0
  1338. data/lib/lcp_ruby/display/renderers/collection.rb +34 -0
  1339. data/lib/lcp_ruby/display/renderers/color_swatch.rb +25 -0
  1340. data/lib/lcp_ruby/display/renderers/concerns/attachment_helpers.rb +73 -0
  1341. data/lib/lcp_ruby/display/renderers/concerns/workflow_helpers.rb +35 -0
  1342. data/lib/lcp_ruby/display/renderers/copy_code.rb +33 -0
  1343. data/lib/lcp_ruby/display/renderers/currency.rb +14 -0
  1344. data/lib/lcp_ruby/display/renderers/date.rb +17 -0
  1345. data/lib/lcp_ruby/display/renderers/datetime.rb +17 -0
  1346. data/lib/lcp_ruby/display/renderers/email_link.rb +15 -0
  1347. data/lib/lcp_ruby/display/renderers/file_size.rb +11 -0
  1348. data/lib/lcp_ruby/display/renderers/heading.rb +11 -0
  1349. data/lib/lcp_ruby/display/renderers/image.rb +17 -0
  1350. data/lib/lcp_ruby/display/renderers/internal_link.rb +23 -0
  1351. data/lib/lcp_ruby/display/renderers/link.rb +15 -0
  1352. data/lib/lcp_ruby/display/renderers/link_list.rb +90 -0
  1353. data/lib/lcp_ruby/display/renderers/markdown.rb +33 -0
  1354. data/lib/lcp_ruby/display/renderers/number.rb +14 -0
  1355. data/lib/lcp_ruby/display/renderers/percentage.rb +12 -0
  1356. data/lib/lcp_ruby/display/renderers/phone_link.rb +15 -0
  1357. data/lib/lcp_ruby/display/renderers/progress_bar.rb +15 -0
  1358. data/lib/lcp_ruby/display/renderers/rating.rb +15 -0
  1359. data/lib/lcp_ruby/display/renderers/record_link.rb +101 -0
  1360. data/lib/lcp_ruby/display/renderers/relative_date.rb +15 -0
  1361. data/lib/lcp_ruby/display/renderers/rich_text.rb +15 -0
  1362. data/lib/lcp_ruby/display/renderers/text.rb +12 -0
  1363. data/lib/lcp_ruby/display/renderers/truncate.rb +17 -0
  1364. data/lib/lcp_ruby/display/renderers/url_link.rb +22 -0
  1365. data/lib/lcp_ruby/display/renderers/workflow_badge.rb +37 -0
  1366. data/lib/lcp_ruby/display/renderers/workflow_timeline.rb +173 -0
  1367. data/lib/lcp_ruby/display/renderers.rb +3 -0
  1368. data/lib/lcp_ruby/display/text_badge.rb +15 -0
  1369. data/lib/lcp_ruby/dsl/condition_builder.rb +190 -0
  1370. data/lib/lcp_ruby/dsl/dsl_loader.rb +365 -0
  1371. data/lib/lcp_ruby/dsl/field_builder.rb +35 -0
  1372. data/lib/lcp_ruby/dsl/job_builder.rb +92 -0
  1373. data/lib/lcp_ruby/dsl/model_builder.rb +544 -0
  1374. data/lib/lcp_ruby/dsl/presenter_builder.rb +1272 -0
  1375. data/lib/lcp_ruby/dsl/source_location_capture.rb +52 -0
  1376. data/lib/lcp_ruby/dsl/type_builder.rb +88 -0
  1377. data/lib/lcp_ruby/dsl/view_group_builder.rb +92 -0
  1378. data/lib/lcp_ruby/dsl/workflow_builder.rb +319 -0
  1379. data/lib/lcp_ruby/dynamic.rb +7 -0
  1380. data/lib/lcp_ruby/dynamic_references/resolver.rb +154 -0
  1381. data/lib/lcp_ruby/dynamic_references/validator.rb +92 -0
  1382. data/lib/lcp_ruby/embed_providers/base.rb +18 -0
  1383. data/lib/lcp_ruby/embed_providers/grafana.rb +38 -0
  1384. data/lib/lcp_ruby/embed_providers/metabase.rb +37 -0
  1385. data/lib/lcp_ruby/engine.rb +680 -0
  1386. data/lib/lcp_ruby/events/async_handler_job.rb +21 -0
  1387. data/lib/lcp_ruby/events/dispatcher.rb +52 -0
  1388. data/lib/lcp_ruby/events/handler_base.rb +51 -0
  1389. data/lib/lcp_ruby/events/handler_registry.rb +49 -0
  1390. data/lib/lcp_ruby/export/data_generator.rb +158 -0
  1391. data/lib/lcp_ruby/export/export_handler.rb +315 -0
  1392. data/lib/lcp_ruby/export/field_tree_builder.rb +219 -0
  1393. data/lib/lcp_ruby/export/setup.rb +94 -0
  1394. data/lib/lcp_ruby/export/value_formatter.rb +223 -0
  1395. data/lib/lcp_ruby/export.rb +9 -0
  1396. data/lib/lcp_ruby/gem_paths.rb +51 -0
  1397. data/lib/lcp_ruby/generators/entity_menu_writer.rb +258 -0
  1398. data/lib/lcp_ruby/generators/feature_registry.rb +208 -0
  1399. data/lib/lcp_ruby/generators/prerequisites.rb +90 -0
  1400. data/lib/lcp_ruby/grouped_query/builder.rb +206 -0
  1401. data/lib/lcp_ruby/grouped_query/result_wrapper.rb +72 -0
  1402. data/lib/lcp_ruby/grouped_query/row.rb +31 -0
  1403. data/lib/lcp_ruby/groups/change_handler.rb +18 -0
  1404. data/lib/lcp_ruby/groups/contract.rb +42 -0
  1405. data/lib/lcp_ruby/groups/contract_validator.rb +110 -0
  1406. data/lib/lcp_ruby/groups/host_loader.rb +54 -0
  1407. data/lib/lcp_ruby/groups/model_loader.rb +186 -0
  1408. data/lib/lcp_ruby/groups/registry.rb +113 -0
  1409. data/lib/lcp_ruby/groups/setup.rb +129 -0
  1410. data/lib/lcp_ruby/groups/yaml_loader.rb +97 -0
  1411. data/lib/lcp_ruby/hash_utils.rb +42 -0
  1412. data/lib/lcp_ruby/i18n_check/configuration.rb +104 -0
  1413. data/lib/lcp_ruby/i18n_check/heuristics.rb +26 -0
  1414. data/lib/lcp_ruby/i18n_check/key_deriver.rb +136 -0
  1415. data/lib/lcp_ruby/i18n_check/offense.rb +29 -0
  1416. data/lib/lcp_ruby/i18n_check/registry_walker.rb +621 -0
  1417. data/lib/lcp_ruby/i18n_check/reporter.rb +96 -0
  1418. data/lib/lcp_ruby/i18n_check/runner.rb +46 -0
  1419. data/lib/lcp_ruby/i18n_check.rb +15 -0
  1420. data/lib/lcp_ruby/i18n_lint.rb +145 -0
  1421. data/lib/lcp_ruby/import/auto_mapper.rb +98 -0
  1422. data/lib/lcp_ruby/import/field_tree_builder.rb +178 -0
  1423. data/lib/lcp_ruby/import/file_parser.rb +223 -0
  1424. data/lib/lcp_ruby/import/import_dialog_handler.rb +410 -0
  1425. data/lib/lcp_ruby/import/import_job_handler.rb +224 -0
  1426. data/lib/lcp_ruby/import/row_processor.rb +281 -0
  1427. data/lib/lcp_ruby/import/setup.rb +277 -0
  1428. data/lib/lcp_ruby/import/value_coercer.rb +143 -0
  1429. data/lib/lcp_ruby/import.rb +14 -0
  1430. data/lib/lcp_ruby/json_item_wrapper.rb +152 -0
  1431. data/lib/lcp_ruby/kanban/board.rb +28 -0
  1432. data/lib/lcp_ruby/kanban/column.rb +28 -0
  1433. data/lib/lcp_ruby/kanban/default_provider.rb +376 -0
  1434. data/lib/lcp_ruby/kanban/host_provider.rb +94 -0
  1435. data/lib/lcp_ruby/kanban/move_result.rb +52 -0
  1436. data/lib/lcp_ruby/kanban/provider_test_harness.rb +54 -0
  1437. data/lib/lcp_ruby/kanban/swimlane.rb +21 -0
  1438. data/lib/lcp_ruby/menu.rb +46 -0
  1439. data/lib/lcp_ruby/metadata/aggregate_definition.rb +6 -0
  1440. data/lib/lcp_ruby/metadata/association_definition.rb +196 -0
  1441. data/lib/lcp_ruby/metadata/auth_validator.rb +222 -0
  1442. data/lib/lcp_ruby/metadata/configuration_validator.rb +7958 -0
  1443. data/lib/lcp_ruby/metadata/contract_result.rb +9 -0
  1444. data/lib/lcp_ruby/metadata/display_template_definition.rb +77 -0
  1445. data/lib/lcp_ruby/metadata/enum_label_resolver.rb +27 -0
  1446. data/lib/lcp_ruby/metadata/erd_generator.rb +274 -0
  1447. data/lib/lcp_ruby/metadata/event_definition.rb +55 -0
  1448. data/lib/lcp_ruby/metadata/field_definition.rb +267 -0
  1449. data/lib/lcp_ruby/metadata/group_definition.rb +31 -0
  1450. data/lib/lcp_ruby/metadata/i18n_label.rb +29 -0
  1451. data/lib/lcp_ruby/metadata/loader.rb +916 -0
  1452. data/lib/lcp_ruby/metadata/menu_definition.rb +116 -0
  1453. data/lib/lcp_ruby/metadata/menu_item.rb +792 -0
  1454. data/lib/lcp_ruby/metadata/menu_item_resolver.rb +105 -0
  1455. data/lib/lcp_ruby/metadata/model_definition.rb +612 -0
  1456. data/lib/lcp_ruby/metadata/model_hash_merger.rb +88 -0
  1457. data/lib/lcp_ruby/metadata/model_inheritance_resolver.rb +165 -0
  1458. data/lib/lcp_ruby/metadata/page_definition.rb +245 -0
  1459. data/lib/lcp_ruby/metadata/path_template.rb +231 -0
  1460. data/lib/lcp_ruby/metadata/permission_definition.rb +237 -0
  1461. data/lib/lcp_ruby/metadata/permission_merger.rb +81 -0
  1462. data/lib/lcp_ruby/metadata/presenter_definition.rb +689 -0
  1463. data/lib/lcp_ruby/metadata/reserved_names.rb +79 -0
  1464. data/lib/lcp_ruby/metadata/responsive_policy.rb +95 -0
  1465. data/lib/lcp_ruby/metadata/schema_validator.rb +172 -0
  1466. data/lib/lcp_ruby/metadata/validation_definition.rb +69 -0
  1467. data/lib/lcp_ruby/metadata/view_group_definition.rb +208 -0
  1468. data/lib/lcp_ruby/metadata/virtual_column_definition.rb +154 -0
  1469. data/lib/lcp_ruby/metadata/zone_definition.rb +423 -0
  1470. data/lib/lcp_ruby/metrics/collector.rb +123 -0
  1471. data/lib/lcp_ruby/metrics/collector_registry.rb +57 -0
  1472. data/lib/lcp_ruby/metrics/error_recorder.rb +70 -0
  1473. data/lib/lcp_ruby/metrics/fingerprint.rb +33 -0
  1474. data/lib/lcp_ruby/metrics/json_query.rb +47 -0
  1475. data/lib/lcp_ruby/metrics/metric_definitions.rb +105 -0
  1476. data/lib/lcp_ruby/metrics/prometheus_check.rb +9 -0
  1477. data/lib/lcp_ruby/metrics/rate_limiter.rb +99 -0
  1478. data/lib/lcp_ruby/metrics/setup.rb +71 -0
  1479. data/lib/lcp_ruby/metrics/subscriber.rb +126 -0
  1480. data/lib/lcp_ruby/model_factory/aggregate_applicator.rb +14 -0
  1481. data/lib/lcp_ruby/model_factory/api_association_applicator.rb +119 -0
  1482. data/lib/lcp_ruby/model_factory/api_builder.rb +85 -0
  1483. data/lib/lcp_ruby/model_factory/array_type.rb +78 -0
  1484. data/lib/lcp_ruby/model_factory/array_type_applicator.rb +33 -0
  1485. data/lib/lcp_ruby/model_factory/association_applicator.rb +201 -0
  1486. data/lib/lcp_ruby/model_factory/attachment_applicator.rb +160 -0
  1487. data/lib/lcp_ruby/model_factory/auditing_applicator.rb +72 -0
  1488. data/lib/lcp_ruby/model_factory/builder.rb +235 -0
  1489. data/lib/lcp_ruby/model_factory/callback_applicator.rb +63 -0
  1490. data/lib/lcp_ruby/model_factory/computed_applicator.rb +55 -0
  1491. data/lib/lcp_ruby/model_factory/default_applicator.rb +85 -0
  1492. data/lib/lcp_ruby/model_factory/enum_applicator.rb +24 -0
  1493. data/lib/lcp_ruby/model_factory/inherited_parent_validator_applicator.rb +39 -0
  1494. data/lib/lcp_ruby/model_factory/label_method_builder.rb +82 -0
  1495. data/lib/lcp_ruby/model_factory/managed_tracking.rb +71 -0
  1496. data/lib/lcp_ruby/model_factory/positioning_applicator.rb +23 -0
  1497. data/lib/lcp_ruby/model_factory/ransack_applicator.rb +66 -0
  1498. data/lib/lcp_ruby/model_factory/registry.rb +33 -0
  1499. data/lib/lcp_ruby/model_factory/schema_manager.rb +655 -0
  1500. data/lib/lcp_ruby/model_factory/scope_applicator.rb +87 -0
  1501. data/lib/lcp_ruby/model_factory/sequence_applicator.rb +173 -0
  1502. data/lib/lcp_ruby/model_factory/service_accessor_applicator.rb +40 -0
  1503. data/lib/lcp_ruby/model_factory/soft_delete_applicator.rb +141 -0
  1504. data/lib/lcp_ruby/model_factory/transform_applicator.rb +51 -0
  1505. data/lib/lcp_ruby/model_factory/tree_applicator.rb +239 -0
  1506. data/lib/lcp_ruby/model_factory/userstamps_applicator.rb +73 -0
  1507. data/lib/lcp_ruby/model_factory/validation_applicator.rb +319 -0
  1508. data/lib/lcp_ruby/model_factory/virtual_column_applicator.rb +79 -0
  1509. data/lib/lcp_ruby/model_factory/workflow_applicator.rb +141 -0
  1510. data/lib/lcp_ruby/pages/change_handler.rb +15 -0
  1511. data/lib/lcp_ruby/pages/contract_validator.rb +74 -0
  1512. data/lib/lcp_ruby/pages/definition_validator.rb +42 -0
  1513. data/lib/lcp_ruby/pages/filter_form.rb +200 -0
  1514. data/lib/lcp_ruby/pages/filter_form_validator.rb +636 -0
  1515. data/lib/lcp_ruby/pages/registry.rb +133 -0
  1516. data/lib/lcp_ruby/pages/resolver.rb +32 -0
  1517. data/lib/lcp_ruby/pages/scope_context_resolver.rb +37 -0
  1518. data/lib/lcp_ruby/pages/scope_filter_set.rb +57 -0
  1519. data/lib/lcp_ruby/pages/setup.rb +46 -0
  1520. data/lib/lcp_ruby/path_utils.rb +12 -0
  1521. data/lib/lcp_ruby/permissions/change_handler.rb +22 -0
  1522. data/lib/lcp_ruby/permissions/contract_validator.rb +74 -0
  1523. data/lib/lcp_ruby/permissions/definition_validator.rb +119 -0
  1524. data/lib/lcp_ruby/permissions/registry.rb +135 -0
  1525. data/lib/lcp_ruby/permissions/setup.rb +51 -0
  1526. data/lib/lcp_ruby/permissions/source_resolver.rb +56 -0
  1527. data/lib/lcp_ruby/presenter/action_set.rb +236 -0
  1528. data/lib/lcp_ruby/presenter/breadcrumb_builder.rb +183 -0
  1529. data/lib/lcp_ruby/presenter/breadcrumb_path_helper.rb +17 -0
  1530. data/lib/lcp_ruby/presenter/column_set.rb +268 -0
  1531. data/lib/lcp_ruby/presenter/enrichment.rb +136 -0
  1532. data/lib/lcp_ruby/presenter/field_value_resolver.rb +237 -0
  1533. data/lib/lcp_ruby/presenter/includes_resolver/association_dependency.rb +59 -0
  1534. data/lib/lcp_ruby/presenter/includes_resolver/dependency_collector.rb +394 -0
  1535. data/lib/lcp_ruby/presenter/includes_resolver/loading_strategy.rb +70 -0
  1536. data/lib/lcp_ruby/presenter/includes_resolver/strategy_resolver.rb +123 -0
  1537. data/lib/lcp_ruby/presenter/includes_resolver.rb +42 -0
  1538. data/lib/lcp_ruby/presenter/layout_builder.rb +467 -0
  1539. data/lib/lcp_ruby/presenter/link_resolver.rb +65 -0
  1540. data/lib/lcp_ruby/presenter/metadata_lookup.rb +28 -0
  1541. data/lib/lcp_ruby/presenter/resolver.rb +25 -0
  1542. data/lib/lcp_ruby/record_aliases/metadata_checker.rb +213 -0
  1543. data/lib/lcp_ruby/record_aliases/setup.rb +212 -0
  1544. data/lib/lcp_ruby/reserved_route_segments.rb +37 -0
  1545. data/lib/lcp_ruby/roles/change_handler.rb +11 -0
  1546. data/lib/lcp_ruby/roles/contract_validator.rb +67 -0
  1547. data/lib/lcp_ruby/roles/registry.rb +89 -0
  1548. data/lib/lcp_ruby/roles/setup.rb +50 -0
  1549. data/lib/lcp_ruby/routing/presenter_routes.rb +104 -0
  1550. data/lib/lcp_ruby/saved_filters/change_handler.rb +13 -0
  1551. data/lib/lcp_ruby/saved_filters/contract_validator.rb +85 -0
  1552. data/lib/lcp_ruby/saved_filters/registry.rb +36 -0
  1553. data/lib/lcp_ruby/saved_filters/resolver.rb +108 -0
  1554. data/lib/lcp_ruby/saved_filters/setup.rb +42 -0
  1555. data/lib/lcp_ruby/saved_filters/stale_field_validator.rb +84 -0
  1556. data/lib/lcp_ruby/schemas/auth.json +208 -0
  1557. data/lib/lcp_ruby/schemas/menu.json +338 -0
  1558. data/lib/lcp_ruby/schemas/model.json +1161 -0
  1559. data/lib/lcp_ruby/schemas/page.json +877 -0
  1560. data/lib/lcp_ruby/schemas/permission.json +454 -0
  1561. data/lib/lcp_ruby/schemas/presenter.json +2274 -0
  1562. data/lib/lcp_ruby/schemas/theme.json +62 -0
  1563. data/lib/lcp_ruby/schemas/type.json +146 -0
  1564. data/lib/lcp_ruby/schemas/view_group.json +163 -0
  1565. data/lib/lcp_ruby/search/custom_field_filter.rb +171 -0
  1566. data/lib/lcp_ruby/search/custom_filter_interceptor.rb +40 -0
  1567. data/lib/lcp_ruby/search/filter_metadata_builder.rb +409 -0
  1568. data/lib/lcp_ruby/search/filter_param_builder.rb +177 -0
  1569. data/lib/lcp_ruby/search/operator_registry.rb +79 -0
  1570. data/lib/lcp_ruby/search/param_sanitizer.rb +25 -0
  1571. data/lib/lcp_ruby/search/parameter_definition.rb +187 -0
  1572. data/lib/lcp_ruby/search/parameterized_scope_applicator.rb +129 -0
  1573. data/lib/lcp_ruby/search/query_builder.rb +143 -0
  1574. data/lib/lcp_ruby/search/query_language_parser.rb +549 -0
  1575. data/lib/lcp_ruby/search/query_language_serializer.rb +193 -0
  1576. data/lib/lcp_ruby/search/quick_search.rb +162 -0
  1577. data/lib/lcp_ruby/search/relative_date_expander.rb +57 -0
  1578. data/lib/lcp_ruby/search_result.rb +70 -0
  1579. data/lib/lcp_ruby/sequences/sequence_manager.rb +51 -0
  1580. data/lib/lcp_ruby/services/accessors/json_field.rb +23 -0
  1581. data/lib/lcp_ruby/services/built_in_accessors.rb +17 -0
  1582. data/lib/lcp_ruby/services/built_in_defaults.rb +22 -0
  1583. data/lib/lcp_ruby/services/built_in_transforms.rb +20 -0
  1584. data/lib/lcp_ruby/services/checker.rb +133 -0
  1585. data/lib/lcp_ruby/services/registry.rb +83 -0
  1586. data/lib/lcp_ruby/skills_installer.rb +73 -0
  1587. data/lib/lcp_ruby/sort/enum_sort_order.rb +38 -0
  1588. data/lib/lcp_ruby/tasks/destroy_order_resolver.rb +57 -0
  1589. data/lib/lcp_ruby/tasks/doctor.rb +294 -0
  1590. data/lib/lcp_ruby/tasks/permission_resolve_formatter.rb +245 -0
  1591. data/lib/lcp_ruby/types/built_in_types.rb +157 -0
  1592. data/lib/lcp_ruby/types/transforms/base_transform.rb +11 -0
  1593. data/lib/lcp_ruby/types/transforms/downcase.rb +11 -0
  1594. data/lib/lcp_ruby/types/transforms/normalize_phone.rb +19 -0
  1595. data/lib/lcp_ruby/types/transforms/normalize_url.rb +16 -0
  1596. data/lib/lcp_ruby/types/transforms/strip.rb +11 -0
  1597. data/lib/lcp_ruby/types/type_definition.rb +112 -0
  1598. data/lib/lcp_ruby/types/type_registry.rb +75 -0
  1599. data/lib/lcp_ruby/url_safety.rb +97 -0
  1600. data/lib/lcp_ruby/user_snapshot.rb +15 -0
  1601. data/lib/lcp_ruby/version.rb +3 -0
  1602. data/lib/lcp_ruby/view_slots/registry.rb +71 -0
  1603. data/lib/lcp_ruby/view_slots/slot_component.rb +22 -0
  1604. data/lib/lcp_ruby/view_slots/slot_context.rb +20 -0
  1605. data/lib/lcp_ruby/virtual_columns/builder.rb +234 -0
  1606. data/lib/lcp_ruby/virtual_columns/collector.rb +186 -0
  1607. data/lib/lcp_ruby/virtual_columns.rb +4 -0
  1608. data/lib/lcp_ruby/virtual_fields/synthetic_marker.rb +17 -0
  1609. data/lib/lcp_ruby/virtual_fields/types/array_of.rb +49 -0
  1610. data/lib/lcp_ruby/virtual_fields/virtual_field.rb +107 -0
  1611. data/lib/lcp_ruby/virtual_fields/virtual_form.rb +144 -0
  1612. data/lib/lcp_ruby/widgets/chart_palette.rb +25 -0
  1613. data/lib/lcp_ruby/widgets/chartkick_check.rb +9 -0
  1614. data/lib/lcp_ruby/widgets/data_resolver.rb +676 -0
  1615. data/lib/lcp_ruby/widgets/date_grouper.rb +54 -0
  1616. data/lib/lcp_ruby/widgets/presenter_zone_resolver.rb +170 -0
  1617. data/lib/lcp_ruby/widgets/record_source_resolver.rb +56 -0
  1618. data/lib/lcp_ruby/widgets/scope_applicator.rb +187 -0
  1619. data/lib/lcp_ruby/workflow/approval/activation_handler.rb +39 -0
  1620. data/lib/lcp_ruby/workflow/approval/approval_definition.rb +117 -0
  1621. data/lib/lcp_ruby/workflow/approval/approver_resolver.rb +98 -0
  1622. data/lib/lcp_ruby/workflow/approval/cleanup_handler.rb +37 -0
  1623. data/lib/lcp_ruby/workflow/approval/contract_validator.rb +96 -0
  1624. data/lib/lcp_ruby/workflow/approval/data_builder.rb +53 -0
  1625. data/lib/lcp_ruby/workflow/approval/discard_handler.rb +51 -0
  1626. data/lib/lcp_ruby/workflow/approval/engine.rb +314 -0
  1627. data/lib/lcp_ruby/workflow/approval/registry.rb +40 -0
  1628. data/lib/lcp_ruby/workflow/approval/resolution_handler.rb +103 -0
  1629. data/lib/lcp_ruby/workflow/approval/setup.rb +138 -0
  1630. data/lib/lcp_ruby/workflow/approval/step_definition.rb +52 -0
  1631. data/lib/lcp_ruby/workflow/approval/step_evaluator.rb +163 -0
  1632. data/lib/lcp_ruby/workflow/approval/system_evaluator.rb +29 -0
  1633. data/lib/lcp_ruby/workflow/approval/task_manager.rb +202 -0
  1634. data/lib/lcp_ruby/workflow/audit_contract_validator.rb +64 -0
  1635. data/lib/lcp_ruby/workflow/audit_registry.rb +24 -0
  1636. data/lib/lcp_ruby/workflow/audit_writer.rb +51 -0
  1637. data/lib/lcp_ruby/workflow/change_handler.rb +14 -0
  1638. data/lib/lcp_ruby/workflow/contract.rb +21 -0
  1639. data/lib/lcp_ruby/workflow/contract_validator.rb +44 -0
  1640. data/lib/lcp_ruby/workflow/errors.rb +12 -0
  1641. data/lib/lcp_ruby/workflow/host_source.rb +19 -0
  1642. data/lib/lcp_ruby/workflow/mermaid_builder.rb +217 -0
  1643. data/lib/lcp_ruby/workflow/model_source.rb +79 -0
  1644. data/lib/lcp_ruby/workflow/registry.rb +113 -0
  1645. data/lib/lcp_ruby/workflow/resolver.rb +32 -0
  1646. data/lib/lcp_ruby/workflow/setup.rb +135 -0
  1647. data/lib/lcp_ruby/workflow/state_definition.rb +59 -0
  1648. data/lib/lcp_ruby/workflow/state_machine.rb +78 -0
  1649. data/lib/lcp_ruby/workflow/static_source.rb +20 -0
  1650. data/lib/lcp_ruby/workflow/transition_action_builder.rb +46 -0
  1651. data/lib/lcp_ruby/workflow/transition_definition.rb +70 -0
  1652. data/lib/lcp_ruby/workflow/transition_executor.rb +140 -0
  1653. data/lib/lcp_ruby/workflow/transition_label_resolver.rb +21 -0
  1654. data/lib/lcp_ruby/workflow/transition_result.rb +20 -0
  1655. data/lib/lcp_ruby/workflow/value_resolver.rb +58 -0
  1656. data/lib/lcp_ruby/workflow/workflow_definition.rb +195 -0
  1657. data/lib/lcp_ruby.rb +764 -0
  1658. data/lib/rubocop/cop/lcp_ruby/no_hardcoded_i18n_string.rb +249 -0
  1659. data/lib/tasks/lcp_ruby.rake +432 -0
  1660. data/lib/tasks/lcp_ruby_assets.rake +37 -0
  1661. data/lib/tasks/lcp_ruby_auth.rake +49 -0
  1662. data/lib/tasks/lcp_ruby_db.rake +76 -0
  1663. data/lib/tasks/lcp_ruby_doctor.rake +20 -0
  1664. data/lib/tasks/lcp_ruby_feature_catalog.rake +61 -0
  1665. data/lib/tasks/lcp_ruby_gapfree_sequences.rake +39 -0
  1666. data/lib/tasks/lcp_ruby_i18n_check.rake +23 -0
  1667. data/lib/tasks/lcp_ruby_i18n_lint.rake +20 -0
  1668. data/lib/tasks/lcp_ruby_invariant_check.rake +72 -0
  1669. data/vendor/assets/javascripts/lcp_ruby/activestorage.min.js +866 -0
  1670. data/vendor/assets/javascripts/lcp_ruby/highlight.min.js +1244 -0
  1671. data/vendor/assets/javascripts/lcp_ruby/lucide.min.js +12 -0
  1672. data/vendor/assets/javascripts/lcp_ruby/stimulus.umd.js +2588 -0
  1673. data/vendor/assets/javascripts/lcp_ruby/tom-select.complete.min.js +444 -0
  1674. data/vendor/assets/stylesheets/lcp_ruby/highlight-github.min.css +12 -0
  1675. data/vendor/assets/stylesheets/lcp_ruby/tom-select.css +412 -0
  1676. metadata +1950 -0
@@ -0,0 +1,2818 @@
1
+ ---
2
+ cs:
3
+ devise:
4
+ failure:
5
+ inactive: Váš účet nebyl aktivován.
6
+ invalid: Neplatný email nebo heslo.
7
+ locked: Váš účet byl uzamčen.
8
+ not_found_in_database: Neplatný email nebo heslo.
9
+ unauthenticated: Pro pokračování se musíte přihlásit.
10
+ mailer:
11
+ reset_password_instructions:
12
+ subject: Instrukce pro obnovení hesla
13
+ passwords:
14
+ no_token: Nelze přistoupit na tuto stránku bez odkazu z emailu pro obnovení
15
+ hesla.
16
+ send_instructions: Obdržíte email s instrukcemi pro nastavení nového hesla.
17
+ send_paranoid_instructions: Pokud existuje účet s touto emailovou adresou, obdržíte
18
+ email s instrukcemi.
19
+ updated: Vaše heslo bylo úspěšně změněno.
20
+ registrations:
21
+ destroyed: Účet byl úspěšně zrušen.
22
+ signed_up: Registrace byla úspěšná.
23
+ updated: Účet byl úspěšně aktualizován.
24
+ sessions:
25
+ already_signed_out: Odhlášení bylo úspěšné.
26
+ signed_in: Přihlášení bylo úspěšné.
27
+ signed_out: Odhlášení bylo úspěšné.
28
+ lcp_ruby:
29
+ filter_form:
30
+ labels:
31
+ department: Oddělení
32
+ status: Stav
33
+ created_at: Vytvořeno
34
+ scope_filters:
35
+ labels:
36
+ lifecycle: Životní cyklus
37
+ lifecycle:
38
+ all: Všichni zaměstnanci
39
+ active_only: Pouze aktivní
40
+ without_mentor: Bez mentora
41
+ actions:
42
+ add_employee: Přidat zaměstnance
43
+ approve: Schválit
44
+ approve_from_show: Schválit
45
+ assign_batch: Přiřadit mně
46
+ close_task: Uzavřít
47
+ form:
48
+ approve: Schválit
49
+ approve_from_show: Schválit
50
+ assign_batch: Přiřadit mně
51
+ close_task: Zavřít
52
+ lock: Zamknout
53
+ lock: Zamknout
54
+ quick_add: Rychle přidat
55
+ quick_edit: Rychlá úprava
56
+ quick_note: Rychlá poznámka
57
+ transfer: Přesunout
58
+ app:
59
+ title: LCP Ruby Showcase
60
+ composite:
61
+ article_detail:
62
+ tabs:
63
+ comments: Komentáře
64
+ related: Související články
65
+ author_detail:
66
+ sidebar:
67
+ article_count: Články
68
+ category_detail:
69
+ tabs:
70
+ articles: Články
71
+ subcategories: Podkategorie
72
+ department_detail:
73
+ sidebar:
74
+ active_count: Aktivní zaměstnanci
75
+ employee_count: Zaměstnanci
76
+ tabs:
77
+ employees: Zaměstnanci
78
+ sub_departments: Podřízená oddělení
79
+ showcase_custom_zones:
80
+ tabs:
81
+ activity: Časová osa aktivit
82
+ location: Mapa polohy
83
+ workflow_request_detail:
84
+ sidebar:
85
+ workflow_diagram: Diagram workflow
86
+ tabs:
87
+ audit_log: Historie změn
88
+ dialogs:
89
+ employee_transfer_title: Přesun zaměstnance
90
+ hr_turnover:
91
+ title: HR Fluktuace
92
+ filter_form:
93
+ bu_code:
94
+ label: Business Unit
95
+ placeholder: Všechny BU
96
+ division_code:
97
+ label: Divize
98
+ placeholder: Všechny divize
99
+ terminated_at:
100
+ label: Datum ukončení
101
+ is_management:
102
+ label: Pouze manažerské pozice
103
+ scope_filters:
104
+ lifecycle:
105
+ label: Životní cyklus
106
+ all_records: Všichni
107
+ terminated_employees: Pouze ukončení
108
+ active_employees: Pouze aktivní
109
+ kpis:
110
+ headcount: Aktuální počet zaměstnanců
111
+ terminations: Ukončení (filtrované)
112
+ voluntary: Dobrovolná ukončení
113
+ involuntary: Nedobrovolná ukončení
114
+ charts:
115
+ terminations_per_month:
116
+ label: Ukončení podle měsíce
117
+ xtitle: Měsíc
118
+ ytitle: Ukončení
119
+ empty: V daném období nejsou žádná ukončení.
120
+ termination_reasons:
121
+ label: Proč lidé odcházeli
122
+ empty: Filtru neodpovídají žádná ukončení.
123
+ turnover_by_bu:
124
+ label: Fluktuace podle Business Unit
125
+ ytitle: Ukončení
126
+ empty: Pro fluktuaci podle BU zvol širší datum.
127
+ turnover_by_division:
128
+ label: Fluktuace podle divize
129
+ xtitle: Ukončení
130
+ empty: Pro fluktuaci podle divize zvol širší datum.
131
+ reasons_over_time:
132
+ label: Dobrovolná vs. nedobrovolná v čase
133
+ ytitle: Ukončení
134
+ series:
135
+ voluntary: Dobrovolná
136
+ involuntary: Nedobrovolná
137
+ index_composite:
138
+ employee_overview:
139
+ sidebar:
140
+ active_employees: Aktivní zaměstnanci
141
+ admin_note: 'Toto je „Přehled zaměstnanců" — composite stránka na úrovni
142
+ indexu. Hlavní oblast zobrazuje tabulku zaměstnanců s plným vyhledáváním
143
+ a filtrováním, sidebar zobrazuje živé KPI souhrny. Tato poznámka je viditelná
144
+ pouze administrátorům.
145
+
146
+ '
147
+ departments_count: Oddělení
148
+ total_employees: Celkem zaměstnanců
149
+ menu:
150
+ admin: Správa
151
+ association_primary_key: Asociace přes primary_key
152
+ auditing_tracking: Auditování a sledování
153
+ hr_turnover_dashboard: HR Fluktuace
154
+ batch_actions: Hromadné akce
155
+ blog: Blog
156
+ custom_rendering: Vlastní vykreslování
157
+ demo_apps: Ukázkové aplikace
158
+ display_layout: Zobrazení a layout
159
+ features: Funkce
160
+ fields_forms: Pole a formuláře
161
+ host_app_integration: Integrace s hostitelskou aplikací
162
+ import_export: Import / Export
163
+ model_inheritance: Dědičnost modelů
164
+ my_employee_profile: Můj zaměstnanecký profil
165
+ my_settings: Moje nastavení
166
+ organization: Organizace
167
+ permissions_roles: Oprávnění a role
168
+ pipelines: Pipelines
169
+ record_aliases_slugs: Aliasy záznamů a slugy
170
+ search_data: Vyhledávání a data
171
+ workflow_processes: Workflow a procesy
172
+ models:
173
+ article:
174
+ enums:
175
+ status:
176
+ archived: Archivováno
177
+ draft: Koncept
178
+ published: Publikováno
179
+ fields:
180
+ author_id: Autor
181
+ body: Obsah
182
+ category_id: Kategorie
183
+ slug: Slug
184
+ status: Stav
185
+ title: Název
186
+ word_count: Počet slov
187
+ one: Článek
188
+ other: Články
189
+ article_tag:
190
+ one: Štítek článku
191
+ other: Štítky článků
192
+ author:
193
+ fields:
194
+ bio: Životopis
195
+ email: E-mail
196
+ name: Jméno
197
+ one: Autor
198
+ other: Autoři
199
+ batch_operation:
200
+ enums:
201
+ operation_type:
202
+ batch_action: Hromadná akce
203
+ export: Export
204
+ import: Import
205
+ selection_mode:
206
+ filter: Filtr
207
+ ids: ID
208
+ status:
209
+ completed: Dokončeno
210
+ failed: Selhalo
211
+ pending: Čeká
212
+ processing: Zpracovává se
213
+ fields:
214
+ action_name: Název akce
215
+ error_count: Chyby
216
+ file_name: Název souboru
217
+ operation_type: Typ operace
218
+ parameters: Parametry
219
+ presenter_name: Název presenteru
220
+ result_summary: Souhrn výsledku
221
+ selection_mode: Režim výběru
222
+ skipped_count: Přeskočeno
223
+ status: Stav
224
+ success_count: Úspěšně
225
+ target_model: Cílový model
226
+ total_count: Celkem
227
+ one: Hromadná operace
228
+ other: Hromadné operace
229
+ batch_operation_item:
230
+ enums:
231
+ action_taken:
232
+ created: Vytvořeno
233
+ deleted: Smazáno
234
+ error: Chyba
235
+ skipped: Přeskočeno
236
+ updated: Aktualizováno
237
+ fields:
238
+ action_taken: Provedená akce
239
+ error_details: Detaily chyby
240
+ record_changes: Změny záznamu
241
+ record_id: ID záznamu
242
+ record_type: Typ záznamu
243
+ row_number: Číslo řádku
244
+ one: Položka hromadné operace
245
+ other: Položky hromadné operace
246
+ category:
247
+ fields:
248
+ description: Popis
249
+ name: Název
250
+ parent_id: Nadřazená kategorie
251
+ one: Kategorie
252
+ other: Kategorie
253
+ comment:
254
+ fields:
255
+ author_name: Jméno autora
256
+ body: Text
257
+ position: Pořadí
258
+ one: Komentář
259
+ other: Komentáře
260
+ custom_field_definition:
261
+ enums:
262
+ custom_type:
263
+ boolean: Ano/Ne
264
+ date: Datum
265
+ datetime: Datum a čas
266
+ decimal: Desetinné (přesné)
267
+ enum: Výběr (enum)
268
+ float: Desetinné číslo
269
+ integer: Celé číslo
270
+ string: Text
271
+ text: Dlouhý text
272
+ fields:
273
+ active: Aktivní
274
+ column_width: Šířka sloupce
275
+ custom_type: Typ
276
+ default_value: Výchozí hodnota
277
+ description: Popis
278
+ enum_values: Hodnoty enumu
279
+ extra_validations: Další validace
280
+ field_name: Název pole
281
+ hint: Nápověda
282
+ input_type: Typ vstupu
283
+ label: Popisek
284
+ max_length: Maximální délka
285
+ max_value: Maximální hodnota
286
+ min_length: Minimální délka
287
+ min_value: Minimální hodnota
288
+ placeholder: Placeholder
289
+ position: Pořadí
290
+ precision: Přesnost
291
+ readable_by_roles: Čitelné rolemi
292
+ renderer: Renderer
293
+ renderer_options: Možnosti rendereru
294
+ required: Povinné
295
+ searchable: Vyhledávatelné
296
+ section: Sekce
297
+ show_in_form: Zobrazit ve formuláři
298
+ show_in_show: Zobrazit na detailu
299
+ show_in_table: Zobrazit v tabulce
300
+ sortable: Řaditelné
301
+ target_model: Cílový model
302
+ writable_by_roles: Editovatelné rolemi
303
+ one: Definice vlastního pole
304
+ other: Definice vlastních polí
305
+ department:
306
+ fields:
307
+ code: Kód
308
+ name: Název
309
+ parent_id: Nadřazené oddělení
310
+ one: Oddělení
311
+ other: Oddělení
312
+ employee:
313
+ enums:
314
+ role:
315
+ admin: Administrátor
316
+ designer: Designér
317
+ developer: Vývojář
318
+ intern: Stážista
319
+ manager: Manažer
320
+ status:
321
+ active: Aktivní
322
+ archived: Archivovaný
323
+ on_leave: Na dovolené
324
+ terminated: Ukončený
325
+ fields:
326
+ department_id: Oddělení
327
+ email: E-mail
328
+ mentor_id: Mentor
329
+ name: Jméno
330
+ role: Role
331
+ status: Stav
332
+ user_id: Uživatel
333
+ one: Zaměstnanec
334
+ other: Zaměstnanci
335
+ employee_emergency_contact:
336
+ enums:
337
+ relationship:
338
+ child: Dítě
339
+ friend: Přítel/kyně
340
+ other: Jiné
341
+ parent: Rodič
342
+ sibling: Sourozenec
343
+ spouse: Partner/ka
344
+ fields:
345
+ contact_name: Jméno kontaktu
346
+ email: E-mail
347
+ phone: Telefon
348
+ relationship: Vztah
349
+ one: Nouzový kontakt
350
+ other: Nouzové kontakty
351
+ employee_profile:
352
+ fields:
353
+ address: Adresa
354
+ bank_account: Bankovní účet
355
+ date_of_birth: Datum narození
356
+ hire_date: Datum nástupu
357
+ national_id: Rodné číslo
358
+ notes: Poznámky
359
+ phone: Telefon
360
+ salary: Plat
361
+ one: Profil zaměstnance
362
+ other: Profily zaměstnanců
363
+ employee_skill:
364
+ one: Dovednost zaměstnance
365
+ other: Dovednosti zaměstnanců
366
+ export_log:
367
+ enums:
368
+ format:
369
+ csv: CSV
370
+ xlsx: XLSX
371
+ status:
372
+ completed: Dokončeno
373
+ failed: Selhalo
374
+ pending: Čeká
375
+ processing: Zpracovává se
376
+ fields:
377
+ applied_filters: Použité filtry
378
+ error_message: Chybová zpráva
379
+ exported_at: Exportováno
380
+ file: Soubor
381
+ file_size: Velikost souboru
382
+ format: Formát
383
+ record_count: Počet záznamů
384
+ selected_fields: Vybraná pole
385
+ status: Stav
386
+ target_presenter: Cílový presenter
387
+ one: Záznam exportu
388
+ other: Záznamy exportů
389
+ export_profile:
390
+ enums:
391
+ format:
392
+ csv: CSV
393
+ xlsx: XLSX
394
+ visibility:
395
+ global: Globální
396
+ personal: Osobní
397
+ role: Role
398
+ fields:
399
+ format: Formát
400
+ formatting_options: Možnosti formátování
401
+ owner_id: Vlastník
402
+ profile_name: Název profilu
403
+ selected_fields: Vybraná pole
404
+ target_presenter: Cílový presenter
405
+ target_role: Cílová role
406
+ visibility: Viditelnost
407
+ one: Profil exportu
408
+ other: Profily exportů
409
+ feature:
410
+ enums:
411
+ category:
412
+ api_backed_models: API modely
413
+ association_primary_key: Asociace přes primary_key
414
+ attachments: Přílohy
415
+ auditing: Auditování
416
+ authentication: Autentizace
417
+ background_jobs: Úlohy na pozadí
418
+ batch_actions: Hromadné akce
419
+ bind_to: Vazba (bind_to)
420
+ composite_pages: Composite stránky
421
+ custom_fields: Vlastní pole
422
+ custom_render_blocks: Vlastní render bloky
423
+ dashboards: Přehledy
424
+ dialogs: Dialogy
425
+ display_types: Typy zobrazení
426
+ export: Export
427
+ extensibility: Rozšiřitelnost
428
+ field_types: Typy polí
429
+ form: Formulář
430
+ form_submit_actions: Akce formuláře
431
+ grouped_query: Seskupené dotazy
432
+ groups: Skupiny
433
+ host_controller: Host controller
434
+ i18n: Lokalizace
435
+ import: Import
436
+ input_types: Typy vstupů
437
+ master_detail: Master/Detail
438
+ model_features: Funkce modelu
439
+ model_inheritance: Dědičnost modelů
440
+ monitoring: Monitoring
441
+ navigation: Navigace
442
+ page_source: Zdroj stránek
443
+ pagination_footer: Patička stránkování
444
+ permission_source: Zdroj oprávnění
445
+ permissions: Oprávnění
446
+ positioning: Řazení
447
+ presenter: Presenter
448
+ record_aliases: Aliasy záznamů
449
+ role_source: Zdroj rolí
450
+ search: Vyhledávání
451
+ theming: Vzhled
452
+ tiles: Dlaždice
453
+ tree: Strom
454
+ types: Typy
455
+ virtual_fields: Virtuální pole
456
+ workflow: Workflow
457
+ status:
458
+ beta: Beta
459
+ planned: Plánováno
460
+ stable: Stabilní
461
+ fields:
462
+ category: Kategorie
463
+ code_refs: Odkazy na kód
464
+ config_example: Příklad konfigurace
465
+ demo_hint: Na co se zaměřit
466
+ demo_path: Odkaz na demo
467
+ description: Popis
468
+ design_refs: Odkazy na design
469
+ docs_refs: Odkazy do dokumentace
470
+ name: Název funkce
471
+ status: Stav
472
+ synopsis: Stručný popis
473
+ one: Funkce
474
+ other: Katalog funkcí
475
+ gapfree_sequence:
476
+ fields:
477
+ current_value: Aktuální hodnota
478
+ scope_key: Klíč scope
479
+ seq_field: Pole sekvence
480
+ seq_model: Model sekvence
481
+ one: Souvislá sekvence
482
+ other: Souvislé sekvence
483
+ group:
484
+ enums:
485
+ source:
486
+ api: API
487
+ ldap: LDAP
488
+ manual: Ručně
489
+ fields:
490
+ active: Aktivní
491
+ description: Popis
492
+ external_id: Externí ID
493
+ label: Popisek
494
+ name: Název
495
+ source: Zdroj
496
+ one: Skupina
497
+ other: Skupiny
498
+ group_membership:
499
+ enums:
500
+ source:
501
+ api: API
502
+ ldap: LDAP
503
+ manual: Ručně
504
+ fields:
505
+ source: Zdroj
506
+ user_id: Uživatel
507
+ one: Členství ve skupině
508
+ other: Členství ve skupinách
509
+ group_role_mapping:
510
+ fields:
511
+ role_name: Název role
512
+ one: Mapování skupiny na roli
513
+ other: Mapování skupin na role
514
+ host_inventory_item:
515
+ enums:
516
+ status:
517
+ active: Aktivní
518
+ discontinued: Ukončeno
519
+ draft: Koncept
520
+ fields:
521
+ color: Barevný štítek
522
+ created_at: Vytvořeno
523
+ datasheet: Technický list
524
+ description: Popis
525
+ discarded_at: Vyřazeno dne
526
+ name: Název
527
+ position: Pořadí
528
+ price_cents: Cena (haléře)
529
+ quantity: Množství
530
+ sku: SKU
531
+ status: Stav
532
+ updated_at: Aktualizováno
533
+ one: Položka skladu (host)
534
+ other: Položky skladu (host)
535
+ import_profile:
536
+ enums:
537
+ strategy:
538
+ create_only: Pouze vytváření
539
+ skip_existing: Přeskočit existující
540
+ update_only: Pouze aktualizace
541
+ upsert: Vytvořit nebo aktualizovat
542
+ visibility:
543
+ global: Globální
544
+ personal: Osobní
545
+ role: Role
546
+ fields:
547
+ column_mapping: Mapování sloupců
548
+ lookup_config: Konfigurace vyhledávání
549
+ match_attribute: Atribut pro párování
550
+ owner_id: Vlastník
551
+ parsing_options: Možnosti parsování
552
+ profile_name: Název profilu
553
+ strategy: Strategie
554
+ target_model: Cílový model
555
+ target_role: Cílová role
556
+ visibility: Viditelnost
557
+ one: Profil importu
558
+ other: Profily importů
559
+ import_row:
560
+ enums:
561
+ status:
562
+ created: Vytvořeno
563
+ error: Chyba
564
+ pending: Čeká
565
+ skipped: Přeskočeno
566
+ updated: Aktualizováno
567
+ fields:
568
+ error_message: Chybová zpráva
569
+ job_execution_id: Běh úlohy
570
+ previous_values: Původní hodnoty
571
+ row_number: Číslo řádku
572
+ source_data: Zdrojová data
573
+ status: Stav
574
+ target_record_id: ID cílového záznamu
575
+ target_record_type: Typ cílového záznamu
576
+ one: Řádek importu
577
+ other: Řádky importu
578
+ ingredient_def:
579
+ enums:
580
+ unit:
581
+ g: g
582
+ kg: kg
583
+ l: l
584
+ ml: ml
585
+ pcs: ks
586
+ tbsp: lžíce
587
+ tsp: lžička
588
+ fields:
589
+ name: Název
590
+ notes: Poznámky
591
+ optional: Volitelná
592
+ quantity: Množství
593
+ unit: Jednotka
594
+ one: Ingredience
595
+ other: Ingredience
596
+ lcp_error_log:
597
+ fields:
598
+ context: Kontext
599
+ error_class: Třída chyby
600
+ fingerprint: Fingerprint
601
+ first_occurred_at: Poprvé
602
+ last_occurred_at: Naposledy
603
+ message: Zpráva
604
+ occurrence_count: Počet výskytů
605
+ stacktrace: Stack trace
606
+ subsystem: Subsystém
607
+ one: Záznam chyby
608
+ other: Záznamy chyb
609
+ page_config:
610
+ fields:
611
+ active: Aktivní
612
+ definition: Definice
613
+ name: Název
614
+ notes: Poznámky
615
+ one: Konfigurace stránky
616
+ other: Konfigurace stránek
617
+ permission_config:
618
+ fields:
619
+ active: Aktivní
620
+ definition: Definice
621
+ notes: Poznámky
622
+ target_model: Cílový model
623
+ one: Konfigurace oprávnění
624
+ other: Konfigurace oprávnění
625
+ pipeline:
626
+ fields:
627
+ description: Popis
628
+ name: Název
629
+ one: Pipeline
630
+ other: Pipelines
631
+ pipeline_stage:
632
+ fields:
633
+ color: Barva
634
+ name: Název
635
+ position: Pořadí
636
+ one: Fáze pipeline
637
+ other: Fáze pipeline
638
+ platform_profile:
639
+ enums:
640
+ priority:
641
+ high: Vysoká
642
+ low: Nízká
643
+ medium: Střední
644
+ fields:
645
+ bio: Bio
646
+ category_id: Kategorie
647
+ display_name: Zobrazené jméno
648
+ favorite_color: Oblíbená barva
649
+ name: Název
650
+ notable_id: Notable
651
+ notable_type: Notable typ
652
+ priority: Priorita
653
+ view_count: Počet zobrazení
654
+ one: Profil platformy
655
+ other: Profily platformy
656
+ profile_setting:
657
+ fields:
658
+ platform_profile_id: Profil
659
+ theme: Téma
660
+ one: Nastavení profilu
661
+ other: Nastavení profilů
662
+ profile_tag:
663
+ fields:
664
+ name: Název
665
+ platform_profile_id: Profil
666
+ one: Tag profilu
667
+ other: Tagy profilů
668
+ project:
669
+ enums:
670
+ status:
671
+ active: Aktivní
672
+ archived: Archivováno
673
+ completed: Dokončeno
674
+ fields:
675
+ department_id: Oddělení
676
+ lead_id: Vedoucí
677
+ name: Název
678
+ status: Stav
679
+ one: Projekt
680
+ other: Projekty
681
+ role:
682
+ fields:
683
+ active: Aktivní
684
+ description: Popis
685
+ label: Popisek
686
+ name: Název
687
+ position: Pořadí
688
+ one: Role
689
+ other: Role
690
+ saved_filter:
691
+ enums:
692
+ visibility:
693
+ global: Globální
694
+ group: Skupina
695
+ personal: Osobní
696
+ role: Role
697
+ fields:
698
+ color: Barva
699
+ condition_tree: Strom podmínek
700
+ default_filter: Výchozí filtr
701
+ description: Popis
702
+ icon: Ikona
703
+ name: Název
704
+ owner_id: Vlastník
705
+ pinned: Připnutý
706
+ position: Pořadí
707
+ ql_text: Text dotazu (QL)
708
+ target_group: Cílová skupina
709
+ target_presenter: Cílový presenter
710
+ target_role: Cílová role
711
+ visibility: Viditelnost
712
+ one: Uložený filtr
713
+ other: Uložené filtry
714
+ showcase_aggregate:
715
+ enums:
716
+ status:
717
+ active: Aktivní
718
+ archived: Archivováno
719
+ completed: Dokončeno
720
+ planning: Plánování
721
+ fields:
722
+ budget: Rozpočet
723
+ description: Popis
724
+ name: Název
725
+ status: Stav
726
+ one: Agregovaný projekt
727
+ other: Agregované projekty
728
+ showcase_aggregate_company:
729
+ fields:
730
+ country: Země
731
+ name: Název
732
+ one: Agregovaná společnost
733
+ other: Agregované společnosti
734
+ showcase_aggregate_item:
735
+ enums:
736
+ status:
737
+ cancelled: Zrušeno
738
+ done: Hotovo
739
+ in_progress: Probíhá
740
+ todo: Ke zpracování
741
+ fields:
742
+ assignee: Řešitel
743
+ cost: Náklad
744
+ due_date: Termín
745
+ hours: Odhad hodin
746
+ priority_score: Skóre priority
747
+ status: Stav
748
+ title: Název
749
+ one: Agregovaný úkol
750
+ other: Agregované úkoly
751
+ showcase_announcement:
752
+ enums:
753
+ priority:
754
+ high: Vysoká
755
+ low: Nízká
756
+ normal: Normální
757
+ urgent: Naléhavá
758
+ fields:
759
+ body: Obsah
760
+ priority: Priorita
761
+ published_at: Publikováno
762
+ title: Název
763
+ one: Oznámení
764
+ other: Oznámení
765
+ showcase_array:
766
+ enums:
767
+ record_type:
768
+ advanced: Pokročilý
769
+ basic: Základní
770
+ special: Speciální
771
+ fields:
772
+ categories: Kategorie
773
+ default_labels: Výchozí popisky
774
+ description: Popis
775
+ featured: Doporučeno
776
+ measurements: Měření
777
+ record_type: Typ
778
+ scores: Skóre
779
+ tags: Štítky
780
+ title: Název
781
+ one: Demo pole (array)
782
+ other: Demo polí (array)
783
+ showcase_attachment:
784
+ fields:
785
+ avatar: Avatar
786
+ documents: Dokumenty
787
+ gallery: Galerie
788
+ resume: Životopis
789
+ title: Název
790
+ one: Příloha
791
+ other: Přílohy
792
+ showcase_audit_log:
793
+ fields:
794
+ action: Akce
795
+ auditable_id: ID záznamu
796
+ auditable_type: Typ záznamu
797
+ changes_data: Změny
798
+ created_at: Vytvořeno
799
+ metadata: Metadata
800
+ user_id: Uživatel (ID)
801
+ user_snapshot: Uživatel
802
+ one: Záznam auditu
803
+ other: Záznamy auditu
804
+ showcase_audited_record:
805
+ enums:
806
+ priority:
807
+ high: Vysoká
808
+ low: Nízká
809
+ normal: Normální
810
+ status:
811
+ active: Aktivní
812
+ archived: Archivováno
813
+ draft: Koncept
814
+ fields:
815
+ amount: Částka
816
+ completion: Dokončenost
817
+ description: Popis
818
+ priority: Priorita
819
+ status: Stav
820
+ title: Název
821
+ one: Auditovaný záznam
822
+ other: Auditované záznamy
823
+ showcase_batch_task:
824
+ enums:
825
+ priority:
826
+ critical: Kritická
827
+ high: Vysoká
828
+ low: Nízká
829
+ normal: Normální
830
+ status:
831
+ closed: Uzavřený
832
+ in_progress: Probíhá
833
+ open: Otevřený
834
+ review: Ke kontrole
835
+ fields:
836
+ assignee: Řešitel
837
+ description: Popis
838
+ due_date: Termín
839
+ estimated_hours: Odhad hodin
840
+ priority: Priorita
841
+ status: Stav
842
+ title: Název
843
+ one: Hromadný úkol
844
+ other: Hromadné úkoly
845
+ showcase_business_unit:
846
+ fields:
847
+ description: Popis
848
+ name: Název
849
+ vema_code: Vema kód
850
+ one: Obchodní jednotka
851
+ other: Obchodní jednotky
852
+ showcase_condition:
853
+ enums:
854
+ priority:
855
+ critical: Kritická
856
+ high: Vysoká
857
+ low: Nízká
858
+ medium: Střední
859
+ status:
860
+ active: Aktivní
861
+ approved: Schváleno
862
+ closed: Uzavřeno
863
+ draft: Koncept
864
+ review: Ke kontrole
865
+ fields:
866
+ amount: Částka
867
+ author_id: Autor
868
+ budget_limit: Limit rozpočtu
869
+ code: Kód
870
+ description: Popis
871
+ due_date: Termín
872
+ priority: Priorita
873
+ status: Stav
874
+ title: Název
875
+ one: Pokročilá podmínka
876
+ other: Pokročilé podmínky
877
+ showcase_condition_category:
878
+ fields:
879
+ country_code: Kód země
880
+ industry: Odvětví
881
+ name: Název
882
+ verified: Ověřeno
883
+ one: Kategorie podmínek
884
+ other: Kategorie podmínek
885
+ showcase_condition_task:
886
+ enums:
887
+ status:
888
+ approved: Schváleno
889
+ pending: Čeká
890
+ rejected: Zamítnuto
891
+ fields:
892
+ reviewer_name: Recenzent
893
+ status: Stav
894
+ title: Název
895
+ one: Úkol s podmínkou
896
+ other: Úkoly s podmínkou
897
+ showcase_condition_threshold:
898
+ fields:
899
+ key: Klíč
900
+ label: Popisek
901
+ threshold: Práh
902
+ one: Práh podmínky
903
+ other: Prahy podmínek
904
+ showcase_contact:
905
+ enums:
906
+ source:
907
+ api: API synchronizace
908
+ import: Import
909
+ manual: Ruční zadání
910
+ referral: Doporučení
911
+ status:
912
+ active: Aktivní
913
+ archived: Archivováno
914
+ inactive: Neaktivní
915
+ fields:
916
+ display_name: Zobrazované jméno
917
+ email: E-mail
918
+ notes: Poznámky
919
+ phone: Telefon
920
+ source: Zdroj
921
+ status: Stav
922
+ one: Kontakt
923
+ other: Všechny kontakty
924
+ showcase_custom_render:
925
+ enums:
926
+ priority:
927
+ critical: Kritická
928
+ high: Vysoká
929
+ low: Nízká
930
+ medium: Střední
931
+ status:
932
+ active: Aktivní
933
+ archived: Archivováno
934
+ completed: Dokončeno
935
+ draft: Koncept
936
+ review: Ke kontrole
937
+ fields:
938
+ category: Kategorie
939
+ description: Popis
940
+ due_date: Termín
941
+ latitude: Zeměpisná šířka
942
+ longitude: Zeměpisná délka
943
+ name: Název
944
+ notes: Poznámky
945
+ priority: Priorita
946
+ score: Skóre
947
+ status: Stav
948
+ tags_json: Štítky (JSON)
949
+ one: Položka s vlastním rendererem
950
+ other: Položky s vlastním rendererem
951
+ showcase_delete_reason:
952
+ fields:
953
+ notify_owner: Upozornit vlastníka
954
+ reason: Důvod
955
+ one: Důvod smazání
956
+ other: Důvody smazání
957
+ showcase_division:
958
+ fields:
959
+ name: Název
960
+ vema_code: Vema kód
961
+ one: Divize
962
+ other: Divize
963
+ showcase_extensibility:
964
+ fields:
965
+ amount: Částka
966
+ currency: Kód měny
967
+ name: Název
968
+ normalized_name: Normalizovaný název
969
+ score: Skóre
970
+ one: Rozšiřitelnost
971
+ other: Rozšiřitelnost
972
+ showcase_field:
973
+ enums:
974
+ priority:
975
+ critical: Kritická
976
+ high: Vysoká
977
+ low: Nízká
978
+ medium: Střední
979
+ status:
980
+ active: Aktivní
981
+ archived: Archivováno
982
+ deleted: Smazáno
983
+ draft: Koncept
984
+ fields:
985
+ brand_color: Barva značky
986
+ count: Počet
987
+ description: Popis
988
+ email: E-mail
989
+ event_time: Čas události
990
+ external_id: Externí ID
991
+ is_active: Aktivní
992
+ metadata: Metadata
993
+ notes: Poznámky
994
+ phone: Telefon
995
+ price: Cena
996
+ priority: Priorita
997
+ rating_value: Hodnocení
998
+ start_date: Počáteční datum
999
+ status: Stav
1000
+ title: Název
1001
+ website: Web
1002
+ one: Typ pole
1003
+ other: Typy polí
1004
+ showcase_form:
1005
+ enums:
1006
+ form_type:
1007
+ advanced: Pokročilý
1008
+ simple: Jednoduchý
1009
+ special: Speciální
1010
+ fields:
1011
+ advanced_field_1: Pokročilé pole 1
1012
+ advanced_field_2: Pokročilé pole 2
1013
+ config_data: Konfigurace
1014
+ detailed_notes: Detailní poznámky
1015
+ form_type: Typ
1016
+ is_premium: Premium
1017
+ name: Název
1018
+ priority: Priorita
1019
+ reason: Důvod
1020
+ rejection_reason: Důvod zamítnutí
1021
+ satisfaction: Spokojenost
1022
+ send_newsletter: Odeslat newsletter
1023
+ one: Funkce formuláře
1024
+ other: Funkce formulářů
1025
+ showcase_form_action:
1026
+ enums:
1027
+ category:
1028
+ bug: Chyba
1029
+ chore: Údržba
1030
+ docs: Dokumentace
1031
+ feature: Funkce
1032
+ priority:
1033
+ high: Vysoká
1034
+ low: Nízká
1035
+ normal: Normální
1036
+ urgent: Naléhavá
1037
+ status:
1038
+ approved: Schváleno
1039
+ draft: Koncept
1040
+ published: Publikováno
1041
+ rejected: Zamítnuto
1042
+ submitted: Odesláno
1043
+ fields:
1044
+ category: Kategorie
1045
+ description: Popis
1046
+ notes: Interní poznámky
1047
+ priority: Priorita
1048
+ published_at: Publikováno dne
1049
+ status: Stav
1050
+ submitted_at: Odesláno dne
1051
+ title: Název
1052
+ workflow_version: Verze workflow
1053
+ one: Úkol s akcí formuláře
1054
+ other: Úkoly s akcí formuláře
1055
+ showcase_grade:
1056
+ fields:
1057
+ recorded_on: Datum
1058
+ subject: Předmět
1059
+ value: Známka
1060
+ one: Známka
1061
+ other: Známky
1062
+ showcase_hr_employee:
1063
+ enums:
1064
+ status:
1065
+ active: Aktivní
1066
+ on_leave: Na dovolené
1067
+ terminated: Ukončený
1068
+ termination_reason:
1069
+ involuntary: Nedobrovolný odchod
1070
+ retired: Odchod do důchodu
1071
+ transfer: Interní převod
1072
+ voluntary: Dobrovolný odchod
1073
+ fields:
1074
+ bu_code: Kód BU
1075
+ division_code: Kód divize
1076
+ email: E-mail
1077
+ hired_at: Nástup
1078
+ is_management: Manažerská pozice
1079
+ job_title: Název pozice
1080
+ name: Jméno
1081
+ status: Stav
1082
+ terminated_at: Ukončení
1083
+ termination_reason: Důvod ukončení
1084
+ one: HR zaměstnanec
1085
+ other: HR zaměstnanci
1086
+ showcase_item_class:
1087
+ enums:
1088
+ priority:
1089
+ critical: Kritická
1090
+ high: Vysoká
1091
+ low: Nízká
1092
+ medium: Střední
1093
+ status:
1094
+ active: Aktivní
1095
+ cancelled: Zrušeno
1096
+ completed: Dokončeno
1097
+ draft: Koncept
1098
+ on_hold: Pozastaveno
1099
+ fields:
1100
+ amount: Částka
1101
+ code: Kód
1102
+ due_date: Termín
1103
+ email: E-mail
1104
+ name: Název
1105
+ notes: Poznámky
1106
+ priority: Priorita
1107
+ score: Skóre
1108
+ status: Stav
1109
+ one: Záznam se stylem
1110
+ other: Stylované záznamy (item_classes)
1111
+ showcase_job_execution:
1112
+ enums:
1113
+ status:
1114
+ cancelled: Zrušeno
1115
+ completed: Dokončeno
1116
+ failed: Selhalo
1117
+ pending: Čeká
1118
+ running: Běží
1119
+ fields:
1120
+ active_job_id: Active Job ID
1121
+ attempt: Pokus
1122
+ cancellation_requested: Žádost o zrušení
1123
+ completed_at: Dokončeno dne
1124
+ error_message: Chybová zpráva
1125
+ import_created_count: Importem vytvořeno
1126
+ import_error_count: Chyby importu
1127
+ import_skipped_count: Importem přeskočeno
1128
+ import_source_filename: Zdrojový soubor
1129
+ import_strategy: Strategie importu
1130
+ import_total_rows: Řádků celkem
1131
+ import_updated_count: Importem aktualizováno
1132
+ job_type: Typ úlohy
1133
+ last_attempt_at: Poslední pokus
1134
+ log: Log
1135
+ params: Parametry
1136
+ progress: Postup
1137
+ scheduled_at: Naplánováno na
1138
+ started_at: Spuštěno dne
1139
+ status: Stav
1140
+ target_id: ID cíle
1141
+ target_model: Cílový model
1142
+ triggered_by_id: Spustil (ID)
1143
+ triggered_by_snapshot: Spustil
1144
+ unique_key: Unikátní klíč
1145
+ one: Běh úlohy
1146
+ other: Běhy úloh
1147
+ showcase_memo:
1148
+ enums:
1149
+ priority:
1150
+ high: Vysoká
1151
+ low: Nízká
1152
+ normal: Normální
1153
+ status:
1154
+ active: Aktivní
1155
+ archived: Archivováno
1156
+ draft: Koncept
1157
+ urgency:
1158
+ immediate: Okamžitá
1159
+ normal: Normální
1160
+ routine: Rutinní
1161
+ urgent: Naléhavá
1162
+ fields:
1163
+ description: Popis
1164
+ due_date: Termín
1165
+ priority: Priorita
1166
+ read_at: Přečteno dne
1167
+ recipient: Příjemce
1168
+ status: Stav
1169
+ title: Název
1170
+ urgency: Naléhavost
1171
+ one: Memo
1172
+ other: Memos
1173
+ showcase_model:
1174
+ enums:
1175
+ status:
1176
+ active: Aktivní
1177
+ cancelled: Zrušeno
1178
+ completed: Dokončeno
1179
+ draft: Koncept
1180
+ fields:
1181
+ amount: Částka
1182
+ auto_date: Automatické datum
1183
+ code: Kód
1184
+ computed_label: Vypočtený popisek
1185
+ computed_score: Vypočtené skóre
1186
+ due_date: Termín
1187
+ email: E-mail
1188
+ max_value: Maximum
1189
+ min_value: Minimum
1190
+ name: Název
1191
+ phone: Telefon
1192
+ status: Stav
1193
+ tags_json: Štítky (JSON)
1194
+ website: Web
1195
+ one: Funkce modelu
1196
+ other: Funkce modelů
1197
+ showcase_organization:
1198
+ enums:
1199
+ industry:
1200
+ education: Vzdělávání
1201
+ finance: Finance
1202
+ healthcare: Zdravotnictví
1203
+ manufacturing: Výroba
1204
+ other: Ostatní
1205
+ retail: Maloobchod
1206
+ technology: Technologie
1207
+ source:
1208
+ api: API synchronizace
1209
+ import: Import
1210
+ manual: Ruční zadání
1211
+ referral: Doporučení
1212
+ status:
1213
+ active: Aktivní
1214
+ archived: Archivováno
1215
+ inactive: Neaktivní
1216
+ fields:
1217
+ company_name: Název společnosti
1218
+ display_name: Zobrazované jméno
1219
+ email: E-mail
1220
+ industry: Odvětví
1221
+ notes: Poznámky
1222
+ phone: Telefon
1223
+ registration_number: IČO
1224
+ source: Zdroj
1225
+ status: Stav
1226
+ website: Web
1227
+ one: Organizace
1228
+ other: Organizace
1229
+ showcase_permission:
1230
+ enums:
1231
+ priority:
1232
+ critical: Kritická
1233
+ high: Vysoká
1234
+ low: Nízká
1235
+ medium: Střední
1236
+ status:
1237
+ archived: Archivováno
1238
+ in_progress: Probíhá
1239
+ locked: Uzamčeno
1240
+ open: Otevřeno
1241
+ fields:
1242
+ assignee_id: Přiřazeno
1243
+ confidential: Důvěrné
1244
+ internal_notes: Interní poznámky
1245
+ owner_id: Vlastník
1246
+ priority: Priorita
1247
+ public_notes: Veřejné poznámky
1248
+ status: Stav
1249
+ title: Název
1250
+ one: Demo oprávnění
1251
+ other: Dema oprávnění
1252
+ showcase_person:
1253
+ enums:
1254
+ source:
1255
+ api: API synchronizace
1256
+ import: Import
1257
+ manual: Ruční zadání
1258
+ referral: Doporučení
1259
+ status:
1260
+ active: Aktivní
1261
+ archived: Archivováno
1262
+ inactive: Neaktivní
1263
+ fields:
1264
+ birth_date: Datum narození
1265
+ display_name: Zobrazované jméno
1266
+ email: E-mail
1267
+ first_name: Jméno
1268
+ job_title: Pracovní pozice
1269
+ last_name: Příjmení
1270
+ notes: Poznámky
1271
+ phone: Telefon
1272
+ source: Zdroj
1273
+ status: Stav
1274
+ one: Osoba
1275
+ other: Osoby
1276
+ showcase_positioning:
1277
+ enums:
1278
+ priority:
1279
+ critical: Kritická
1280
+ high: Vysoká
1281
+ low: Nízká
1282
+ medium: Střední
1283
+ status:
1284
+ done: Hotovo
1285
+ in_progress: Probíhá
1286
+ todo: Ke zpracování
1287
+ fields:
1288
+ description: Popis
1289
+ name: Název
1290
+ position: Pořadí
1291
+ priority: Priorita
1292
+ status: Stav
1293
+ one: Položka s prioritou
1294
+ other: Seznam priorit
1295
+ showcase_quick_note:
1296
+ enums:
1297
+ priority:
1298
+ high: Vysoká
1299
+ low: Nízká
1300
+ normal: Normální
1301
+ urgent: Naléhavá
1302
+ fields:
1303
+ body: Poznámka
1304
+ priority: Priorita
1305
+ title: Název
1306
+ one: Rychlá poznámka
1307
+ other: Rychlé poznámky
1308
+ showcase_recipe:
1309
+ enums:
1310
+ cuisine:
1311
+ french: Francouzská
1312
+ indian: Indická
1313
+ italian: Italská
1314
+ japanese: Japonská
1315
+ mexican: Mexická
1316
+ other: Ostatní
1317
+ fields:
1318
+ cuisine: Kuchyně
1319
+ ingredients: Ingredience
1320
+ servings: Počet porcí
1321
+ steps: Postup
1322
+ title: Název
1323
+ one: Recept
1324
+ other: Recepty
1325
+ showcase_report:
1326
+ enums:
1327
+ category:
1328
+ financial: Finanční
1329
+ general: Obecné
1330
+ hr: Lidské zdroje
1331
+ legal: Právní
1332
+ technical: Technické
1333
+ priority:
1334
+ high: Vysoká
1335
+ low: Nízká
1336
+ normal: Normální
1337
+ status:
1338
+ approved: Schváleno
1339
+ archived: Archivováno
1340
+ draft: Koncept
1341
+ published: Publikováno
1342
+ review: Ke kontrole
1343
+ fields:
1344
+ author_name: Jméno autora
1345
+ category: Kategorie
1346
+ confidential: Důvěrné
1347
+ description: Popis
1348
+ page_count: Počet stran
1349
+ priority: Priorita
1350
+ report_date: Datum reportu
1351
+ status: Stav
1352
+ tags: Štítky
1353
+ title: Název
1354
+ one: Report
1355
+ other: Reporty
1356
+ showcase_school_class:
1357
+ fields:
1358
+ name: Název
1359
+ teacher_id: ID učitele (uživatele)
1360
+ year: Rok
1361
+ one: Třída
1362
+ other: Třídy
1363
+ showcase_search:
1364
+ enums:
1365
+ priority:
1366
+ critical: Kritická
1367
+ high: Vysoká
1368
+ low: Nízká
1369
+ medium: Střední
1370
+ status:
1371
+ approved: Schváleno
1372
+ archived: Archivováno
1373
+ draft: Koncept
1374
+ published: Publikováno
1375
+ review: Ke kontrole
1376
+ fields:
1377
+ author_id: Autor
1378
+ category_id: Kategorie
1379
+ contact_email: Kontaktní e-mail
1380
+ contact_phone: Kontaktní telefon
1381
+ department_id: Oddělení
1382
+ description: Popis
1383
+ last_reviewed_at: Poslední kontrola
1384
+ price: Cena
1385
+ priority: Priorita
1386
+ published: Publikováno
1387
+ quantity: Množství
1388
+ rating: Hodnocení
1389
+ release_date: Datum vydání
1390
+ source_url: Zdrojová URL
1391
+ status: Stav
1392
+ title: Název
1393
+ tracking_id: Tracking ID
1394
+ one: Demo vyhledávání
1395
+ other: Dema vyhledávání
1396
+ showcase_sequence:
1397
+ enums:
1398
+ category:
1399
+ billing: Fakturace
1400
+ engineering: Vývoj
1401
+ general: Obecné
1402
+ support: Podpora
1403
+ fields:
1404
+ backfill_code: Kód doplnění
1405
+ category: Kategorie
1406
+ category_seq: Sekvence v kategorii
1407
+ description: Popis
1408
+ invoice_number: Číslo faktury
1409
+ order_ref: Reference objednávky
1410
+ raw_counter: Surový čítač
1411
+ ticket_code: Kód ticketu
1412
+ title: Název
1413
+ one: Záznam se sekvencí
1414
+ other: Záznamy se sekvencemi
1415
+ showcase_soft_delete:
1416
+ enums:
1417
+ priority:
1418
+ high: Vysoká
1419
+ low: Nízká
1420
+ normal: Normální
1421
+ status:
1422
+ active: Aktivní
1423
+ archived: Archivováno
1424
+ draft: Koncept
1425
+ fields:
1426
+ content: Obsah
1427
+ priority: Priorita
1428
+ status: Stav
1429
+ title: Název
1430
+ one: Dokument se soft-delete
1431
+ other: Dokumenty se soft-delete
1432
+ showcase_soft_delete_item:
1433
+ fields:
1434
+ name: Název
1435
+ notes: Poznámky
1436
+ one: Položka se soft-delete
1437
+ other: Položky se soft-delete
1438
+ showcase_student:
1439
+ fields:
1440
+ guardian_id: ID rodiče (uživatele)
1441
+ name: Název
1442
+ one: Student
1443
+ other: Studenti
1444
+ showcase_userstamps:
1445
+ enums:
1446
+ priority:
1447
+ high: Vysoká
1448
+ low: Nízká
1449
+ normal: Normální
1450
+ status:
1451
+ archived: Archivováno
1452
+ draft: Koncept
1453
+ published: Publikováno
1454
+ review: Ke kontrole
1455
+ fields:
1456
+ content: Obsah
1457
+ priority: Priorita
1458
+ status: Stav
1459
+ title: Název
1460
+ one: Sledovaný dokument
1461
+ other: Sledované dokumenty
1462
+ showcase_virtual_field:
1463
+ enums:
1464
+ category:
1465
+ clothing: Oblečení
1466
+ electronics: Elektronika
1467
+ food: Jídlo
1468
+ furniture: Nábytek
1469
+ other: Ostatní
1470
+ fields:
1471
+ category: Kategorie
1472
+ city: Město
1473
+ color: Barva
1474
+ country: Země
1475
+ featured: Doporučeno
1476
+ full_location: Plná lokalita
1477
+ name: Název
1478
+ priority: Priorita
1479
+ priority_label: Popisek priority
1480
+ properties: Vlastnosti (JSON)
1481
+ release_date: Datum vydání
1482
+ sku_code: Kód SKU
1483
+ unit_price: Jednotková cena
1484
+ warehouse: Sklad
1485
+ one: Virtuální pole
1486
+ other: Virtuální pole
1487
+ showcase_workflow:
1488
+ enums:
1489
+ category:
1490
+ bugfix: Oprava chyby
1491
+ documentation: Dokumentace
1492
+ feature: Funkce
1493
+ improvement: Vylepšení
1494
+ priority:
1495
+ high: Vysoká
1496
+ low: Nízká
1497
+ normal: Normální
1498
+ urgent: Naléhavá
1499
+ status:
1500
+ approved: Schváleno
1501
+ cancelled: Zrušeno
1502
+ completed: Dokončeno
1503
+ draft: Koncept
1504
+ in_progress: Probíhá
1505
+ on_hold: Pozastaveno
1506
+ pending_review: Čeká na kontrolu
1507
+ rejected: Zamítnuto
1508
+ fields:
1509
+ amount: Odhadované náklady
1510
+ approved_amount: Schválená částka
1511
+ approved_at: Schváleno dne
1512
+ assigned_to_id: Přiřazeno
1513
+ category: Kategorie
1514
+ completed_at: Dokončeno dne
1515
+ created_at: Vytvořeno
1516
+ created_by_name: Vytvořil
1517
+ description: Popis
1518
+ notes: Interní poznámky
1519
+ priority: Priorita
1520
+ rejection_reason: Důvod zamítnutí
1521
+ reviewed_at: Zkontrolováno dne
1522
+ reviewer_id: Recenzent
1523
+ status: Stav
1524
+ submitted_at: Odesláno dne
1525
+ submitted_by: Odeslal (ID)
1526
+ submitted_by_name: Odeslal
1527
+ title: Název
1528
+ updated_at: Aktualizováno
1529
+ updated_by_name: Naposledy upravil
1530
+ workflow_version: Verze workflow
1531
+ one: Workflow žádost
1532
+ other: Workflow žádosti
1533
+ skill:
1534
+ enums:
1535
+ category:
1536
+ language: Jazyková
1537
+ management: Management
1538
+ soft: Měkké dovednosti
1539
+ technical: Technická
1540
+ fields:
1541
+ category: Kategorie
1542
+ name: Název
1543
+ one: Dovednost
1544
+ other: Dovednosti
1545
+ tag:
1546
+ fields:
1547
+ color: Barva
1548
+ name: Název
1549
+ one: Štítek
1550
+ other: Štítky
1551
+ user:
1552
+ enums:
1553
+ border_radius:
1554
+ rounded: Zaoblené
1555
+ sharp: Ostré
1556
+ density:
1557
+ comfortable: Pohodlná
1558
+ compact: Kompaktní
1559
+ locale:
1560
+ cs: Čeština
1561
+ de: Deutsch
1562
+ en: English
1563
+ fr: Français
1564
+ theme:
1565
+ auto: Systémový
1566
+ dark: Tmavý
1567
+ light: Světlý
1568
+ fields:
1569
+ active: Aktivní
1570
+ avatar_data_url: Avatar data URL
1571
+ avatar_synced_at: Avatar synchronizován v
1572
+ border_radius: Zaoblení
1573
+ current_sign_in_at: Aktuální přihlášení
1574
+ density: Hustota
1575
+ email: E-mail
1576
+ failed_attempts: Neúspěšné pokusy
1577
+ last_sign_in_at: Poslední přihlášení
1578
+ lcp_role: Role
1579
+ locale: Jazyk
1580
+ locked_at: Uzamčeno dne
1581
+ name: Jméno
1582
+ preferred_username: Preferované uživatelské jméno
1583
+ profile_data: Data profilu
1584
+ sign_in_count: Počet přihlášení
1585
+ theme: Motiv
1586
+ timezone: Časové pásmo
1587
+ one: Uživatel
1588
+ other: Uživatelé
1589
+ weather_station:
1590
+ enums:
1591
+ station_type:
1592
+ airport: Letiště
1593
+ mountain: Horská
1594
+ status:
1595
+ active: Aktivní
1596
+ decommissioned: Vyřazeno
1597
+ maintenance: V údržbě
1598
+ fields:
1599
+ country: Země
1600
+ elevation: Nadmořská výška (m)
1601
+ last_reading_at: Poslední měření
1602
+ latitude: Zeměpisná šířka
1603
+ longitude: Zeměpisná délka
1604
+ name: Název stanice
1605
+ region: Region
1606
+ station_type: Typ
1607
+ status: Stav
1608
+ one: Meteostanice
1609
+ other: Meteostanice
1610
+ workflow_approval_request:
1611
+ enums:
1612
+ status:
1613
+ approved: Schváleno
1614
+ cancelled: Zrušeno
1615
+ error: Chyba
1616
+ pending: Čeká
1617
+ rejected: Zamítnuto
1618
+ returned: Vráceno
1619
+ fields:
1620
+ initiated_by_id: Inicioval (ID)
1621
+ initiated_by_snapshot: Inicioval
1622
+ previous_request_id: Předchozí žádost
1623
+ record_id: ID záznamu
1624
+ record_type: Typ záznamu
1625
+ resolved_at: Vyřešeno dne
1626
+ restart_count: Počet restartů
1627
+ state_name: Stav
1628
+ status: Stav
1629
+ strategy: Strategie
1630
+ workflow_name: Název workflow
1631
+ workflow_version: Verze workflow
1632
+ one: Žádost o schválení
1633
+ other: Žádosti o schválení
1634
+ workflow_approval_step:
1635
+ enums:
1636
+ status:
1637
+ active: Aktivní
1638
+ completed: Dokončeno
1639
+ error: Chyba
1640
+ escalated: Eskalováno
1641
+ pending: Čeká
1642
+ skipped: Přeskočeno
1643
+ fields:
1644
+ activated_at: Aktivováno dne
1645
+ approval_request_id: Žádost o schválení
1646
+ assignment: Přiřazení
1647
+ completed_at: Dokončeno dne
1648
+ label: Popisek
1649
+ position: Pořadí
1650
+ required_approvals: Vyžadovaných schválení
1651
+ status: Stav
1652
+ step_name: Název kroku
1653
+ one: Krok schvalování
1654
+ other: Kroky schvalování
1655
+ workflow_approval_task:
1656
+ enums:
1657
+ status:
1658
+ approved: Schváleno
1659
+ cancelled: Zrušeno
1660
+ claimed: Převzato
1661
+ delegated: Delegováno
1662
+ pending: Čeká
1663
+ rejected: Zamítnuto
1664
+ returned: Vráceno
1665
+ fields:
1666
+ approval_step_id: Krok schvalování
1667
+ approver_id: Schvalovatel (ID)
1668
+ approver_snapshot: Schvalovatel
1669
+ claimed_at: Převzato dne
1670
+ comment: Komentář
1671
+ decided_at: Rozhodnuto dne
1672
+ delegated_from_id: Delegováno od
1673
+ status: Stav
1674
+ one: Schvalovací úkol
1675
+ other: Schvalovací úkoly
1676
+ workflow_audit_log:
1677
+ fields:
1678
+ comment: Komentář
1679
+ created_at: Vytvořeno
1680
+ from_state: Z stavu
1681
+ metadata: Metadata
1682
+ record_id: ID záznamu
1683
+ record_type: Typ záznamu
1684
+ to_state: Do stavu
1685
+ transition_name: Název přechodu
1686
+ user_id: Uživatel (ID)
1687
+ user_snapshot: Uživatel
1688
+ workflow_name: Název workflow
1689
+ workflow_version: Verze workflow
1690
+ one: Záznam workflow
1691
+ other: Záznamy workflow
1692
+ monitoring:
1693
+ error_count: Zaznamenaných chyb
1694
+ models_loaded: Načtené modely
1695
+ recent_errors: Nedávné chyby
1696
+ total_requests: Celkem požadavků
1697
+ pages:
1698
+ department_explorer:
1699
+ title: Průzkumník oddělení
1700
+ presenters:
1701
+ announcements:
1702
+ index:
1703
+ description: Firemní oznámení s aliasem `latest`, který resolvuje na nejnověji
1704
+ publikované.
1705
+ sections:
1706
+ announcement: Oznámení
1707
+ content: Obsah
1708
+ approval_requests:
1709
+ index:
1710
+ description: Procházej všechny žádosti o schválení. Každá žádost sleduje
1711
+ vícekrokový schvalovací proces pro workflow záznam.
1712
+ sections:
1713
+ initiator: Iniciátor
1714
+ request_details: Detail žádosti
1715
+ resolution: Rozhodnutí
1716
+ steps: Kroky
1717
+ approval_steps:
1718
+ index:
1719
+ description: Procházej všechny kroky schvalování. Každý krok představuje
1720
+ jednu úroveň ve vícekrokovém schvalovacím procesu.
1721
+ sections:
1722
+ step_details: Detail kroku
1723
+ tasks: Úkoly
1724
+ timeline: Timeline
1725
+ approval_tasks:
1726
+ index:
1727
+ description: Procházej všechny schvalovací úlohy. Každá úloha představuje
1728
+ individuální zadání schvalovatele v rámci kroku.
1729
+ sections:
1730
+ approver_snapshot: Snapshot schvalovatele
1731
+ comment: Komentář
1732
+ decision: Rozhodnutí
1733
+ task_details: Detail úkolu
1734
+ timeline: Timeline
1735
+ articles:
1736
+ form:
1737
+ description: Demonstruje association_select, multi_select a nested_fields.
1738
+ index:
1739
+ description: Centrální model demonstrující asociace, vnořené formuláře a
1740
+ šablony zobrazení.
1741
+ sections:
1742
+ article_details: Detail článku
1743
+ comments: Komentáře
1744
+ content: Obsah
1745
+ tags: Tagy
1746
+ show:
1747
+ description: Demonstruje zobrazení asociací, display templates a bohatý
1748
+ obsah.
1749
+ articles_tiles:
1750
+ form:
1751
+ description: Demonstruje association_select, multi_select a nested_fields.
1752
+ sections:
1753
+ article_details: Detail článku
1754
+ comments: Komentáře
1755
+ content: Obsah
1756
+ tags: Tagy
1757
+ show:
1758
+ description: Demonstruje zobrazení asociací, display templates a bohatý
1759
+ obsah.
1760
+ author_show_zone:
1761
+ sections:
1762
+ author: Autor
1763
+ authors:
1764
+ index:
1765
+ description: Jednoduchý model použitý jako belongs_to cíl pro articles.
1766
+ sections:
1767
+ articles: Články
1768
+ author_details: Detail autora
1769
+ author_information: Informace o autorovi
1770
+ batch_operation_items:
1771
+ sections:
1772
+ details: Detaily
1773
+ item_details: Detail položky
1774
+ batch_operations:
1775
+ sections:
1776
+ items: Položky
1777
+ metadata: Metadata
1778
+ operation_details: Detail operace
1779
+ results: Výsledky
1780
+ categories:
1781
+ index:
1782
+ description: Hierarchický stromový pohled s drag-and-drop přerodičováním.
1783
+ sections:
1784
+ articles: Články
1785
+ category_details: Detail kategorie
1786
+ category_information: Informace o kategorii
1787
+ subcategories: Podkategorie
1788
+ comment_quick_add_dialog:
1789
+ sections:
1790
+ new_comment: Nový komentář
1791
+ custom_fields:
1792
+ sections:
1793
+ default_placeholder: Default a placeholder
1794
+ display_options: Volby zobrazení
1795
+ enum_values: Hodnoty výčtu
1796
+ general: Obecné
1797
+ numeric_constraints: Numerická omezení
1798
+ text_constraints: Textová omezení
1799
+ delete_reason_dialog:
1800
+ sections:
1801
+ reason: Důvod
1802
+ departments:
1803
+ sections:
1804
+ department_details: Detail oddělení
1805
+ employees: Zaměstnanci
1806
+ dept_add_employee_dialog:
1807
+ sections:
1808
+ new_employee: Nový zaměstnanec
1809
+ dept_detail_zone:
1810
+ sections:
1811
+ department_details: Detail oddělení
1812
+ employee_quick_add_dialog:
1813
+ sections:
1814
+ new_employee: Nový zaměstnanec
1815
+ employee_show_zone:
1816
+ sections:
1817
+ employee: Zaměstnanec
1818
+ employee_transfer_form_zone:
1819
+ sections:
1820
+ transfer_details: Detail převodu
1821
+ employees:
1822
+ form:
1823
+ description: Každá sekce demonstruje konkrétní select funkci.
1824
+ index:
1825
+ description: Demonstruje association_select, tree_select, multi_select,
1826
+ kaskádové selecty a vyhledávání.
1827
+ sections:
1828
+ basic_association_select: Základní výběr vazby
1829
+ cascading_search_select: Kaskádový a vyhledávací výběr
1830
+ emergency_contact: Nouzový kontakt
1831
+ employee_information: Údaje o zaměstnanci
1832
+ enum_select: Výběr enumu
1833
+ hr_profile: HR profil
1834
+ multi-select_skills: Multi-select (dovednosti)
1835
+ multi_select_skills: Vícenásobný výběr (dovednosti)
1836
+ skills: Dovednosti
1837
+ tree_select_department: Stromový výběr (oddělení)
1838
+ show:
1839
+ description: Detail zaměstnance s asociacemi a dovednostmi.
1840
+ employees_tiles:
1841
+ form:
1842
+ description: Každá sekce demonstruje konkrétní select funkci.
1843
+ sections:
1844
+ basic_association_select: Základní association select
1845
+ cascading_search_select: Kaskádový a vyhledávací select
1846
+ emergency_contact: Tísňový kontakt
1847
+ employee_information: Informace o zaměstnanci
1848
+ enum_select: Enum select
1849
+ hr_profile: HR profil
1850
+ multi-select_skills: Multi-select (dovednosti)
1851
+ skills: Dovednosti
1852
+ tree_select_department: Tree select (oddělení)
1853
+ show:
1854
+ description: Detail zaměstnance s asociacemi a dovednostmi.
1855
+ export_logs:
1856
+ sections:
1857
+ applied_filters: Použité filtry
1858
+ audit: Audit
1859
+ error: Chyba
1860
+ export_details: Detail exportu
1861
+ file: Soubor
1862
+ selected_fields: Vybraná pole
1863
+ export_profiles:
1864
+ sections:
1865
+ audit: Audit
1866
+ field_selection: Výběr pole
1867
+ formatting: Formátování
1868
+ profile_details: Detail profilu
1869
+ extensibility_quick_edit_dialog:
1870
+ sections:
1871
+ quick_edit: Rychlá úprava
1872
+ feature_kanban:
1873
+ index:
1874
+ description: Phase 1 kanban — seskupuje funkce podle category enum. DefaultProvider,
1875
+ žádný workflow.
1876
+ sections:
1877
+ basic_info: Základní informace
1878
+ configuration_example: Konfigurační příklad
1879
+ demo_hint: Tip k demu
1880
+ description: Popis
1881
+ documentation: Dokumentace
1882
+ overview: Přehled
1883
+ references: Reference
1884
+ synopsis: Synopse
1885
+ show:
1886
+ description: Dokumentace funkce s konfiguračním příkladem a odkazem na živé
1887
+ demo.
1888
+ features_card:
1889
+ index:
1890
+ description: Procházej všechny funkce platformy LCP Ruby. Klikni na funkci
1891
+ pro detail a odkaz na živé demo.
1892
+ sections:
1893
+ basic_info: Základní informace
1894
+ configuration_example: Konfigurační příklad
1895
+ demo_hint: Tip k demu
1896
+ description: Popis
1897
+ documentation: Dokumentace
1898
+ overview: Přehled
1899
+ references: Reference
1900
+ synopsis: Synopse
1901
+ show:
1902
+ description: Dokumentace funkce s konfiguračním příkladem a odkazem na živé
1903
+ demo.
1904
+ features_hub:
1905
+ index:
1906
+ description: Přehled katalogu funkcí podle kategorie. Klikni na kategorii
1907
+ pro procházení jejích funkcí.
1908
+ features_table:
1909
+ index:
1910
+ description: Kompaktní tabulkový pohled na všechny funkce platformy.
1911
+ sections:
1912
+ basic_info: Základní informace
1913
+ configuration_example: Konfigurační příklad
1914
+ demo_hint: Tip k demu
1915
+ description: Popis
1916
+ documentation: Dokumentace
1917
+ overview: Přehled
1918
+ references: Reference
1919
+ synopsis: Synopse
1920
+ show:
1921
+ description: Dokumentace funkce s konfiguračním příkladem a odkazem na živé
1922
+ demo.
1923
+ features_tiles:
1924
+ sections:
1925
+ basic_info: Základní informace
1926
+ configuration_example: Konfigurační příklad
1927
+ demo_hint: Tip k demu
1928
+ description: Popis
1929
+ documentation: Dokumentace
1930
+ overview: Přehled
1931
+ references: Reference
1932
+ synopsis: Synopse
1933
+ show:
1934
+ description: Dokumentace funkce s konfiguračním příkladem a odkazem na živé
1935
+ demo.
1936
+ group_memberships:
1937
+ index:
1938
+ description: Záznamy členství propojující uživatele se skupinami.
1939
+ sections:
1940
+ membership: Členství
1941
+ membership_details: Detail členství
1942
+ group_role_mappings:
1943
+ index:
1944
+ description: Mapuje skupiny na autorizační role. Uživatelé ve skupině automaticky
1945
+ získají namapované role.
1946
+ sections:
1947
+ mapping_details: Detail mapování
1948
+ role_mapping: Mapování role
1949
+ groups:
1950
+ form:
1951
+ description: Názvy skupin jsou lowercase identifikátory používané pro lookup
1952
+ členství.
1953
+ index:
1954
+ description: DB-backed správa skupin. Skupiny mapují organizační jednotky
1955
+ na autorizační role přes memberships a role mappings.
1956
+ sections:
1957
+ description: Popis
1958
+ group_details: Detail skupiny
1959
+ members: Členové
1960
+ role_mappings: Mapování rolí
1961
+ show:
1962
+ description: Detail skupiny s memberships a role mappings.
1963
+ host_inventory_items:
1964
+ index:
1965
+ description: Standardní LCP CRUD nad host AR třídou přes `bind_to:`. Všechny
1966
+ UI funkce (search, filtry, sorting, soft delete, positioning, attachments,
1967
+ userstamps) pocházejí z `bind_to_apply:` aplikátorů běžících proti ::HostInventoryItem
1968
+ při bootu.
1969
+ sections:
1970
+ audit: Audit
1971
+ datasheet: Datový list
1972
+ description: Popis
1973
+ identification: Identifikace
1974
+ inventory: Inventář
1975
+ show:
1976
+ description: Vázáno na host AR třídu `HostInventoryItem`. Žádná LCP-managed
1977
+ tabulka — `bind_to:` znovupoužívá existující host tabulku.
1978
+ host_inventory_items_managed:
1979
+ index:
1980
+ description: 'Phase B2 demo: `controller: "host_inventory_items_managed"`
1981
+ směruje všechny CRUD na host controller, který zahrnuje všechny LCP concerns
1982
+ a renderuje LCP šablony. `current_presenter`, `current_evaluator` a YAML
1983
+ oprávnění jsou v host controlleru plně aktivní.'
1984
+ sections:
1985
+ description: Popis
1986
+ identification: Identifikace
1987
+ inventory: Inventář
1988
+ show:
1989
+ description: Renderováno HostInventoryItemsManagedController#show přes `render
1990
+ "lcp_ruby/resources/show"` po volání `setup_show_view_objects(current_presenter)`.
1991
+ host_inventory_items_report:
1992
+ index:
1993
+ description: 'Phase B2 demo: `controller: "host_inventory_items_report"`
1994
+ + `read_only: true`. Host controller renderuje vlastní ERB pohledy místo
1995
+ LCP šablon, ale stále se objevuje v LCP menu a respektuje YAML permission
1996
+ scope (viewer vidí jen aktivní položky).'
1997
+ sections:
1998
+ item: Položka
1999
+ host_inventory_items_wizard:
2000
+ index:
2001
+ description: 'Phase B2 demo: `action_controllers: { new:, create: }` přepisuje
2002
+ jen new + create akce. Klikni **Nová položka** nahoře pro vyvolání host
2003
+ wizard controlleru; index/show/edit/update/destroy zůstávají v LCP.'
2004
+ sections:
2005
+ description: Popis
2006
+ edit: Upravit
2007
+ identification: Identifikace
2008
+ inventory: Inventář
2009
+ show:
2010
+ description: Renderováno LCP ResourcesControllerem — přepsány jsou jen new/create.
2011
+ import_profiles:
2012
+ sections:
2013
+ mapping_configuration: Konfigurace mapování
2014
+ profile_details: Detail profilu
2015
+ import_rows:
2016
+ sections:
2017
+ data: Data
2018
+ row_details: Detail řádku
2019
+ lcp_error_logs:
2020
+ sections:
2021
+ context: Kontext
2022
+ error_details: Detail chyby
2023
+ stack_trace: Stack trace
2024
+ my_employee_profile:
2025
+ sections:
2026
+ employment: Zaměstnání
2027
+ show:
2028
+ description: Záznam zaměstnance propojený s přihlášeným uživatelem přes
2029
+ alias `me`.
2030
+ my_settings:
2031
+ form:
2032
+ description: Váš profil a předvolby, dostupné přes alias `me`.
2033
+ sections:
2034
+ appearance: Vzhled
2035
+ preferences: Předvolby
2036
+ profile: Profil
2037
+ show:
2038
+ description: Váš profil a předvolby, dostupné přes alias `me`.
2039
+ page_configs:
2040
+ index:
2041
+ description: DB-stored definice stránek. Každý záznam definuje composite
2042
+ layout, který přepisuje auto-generované stránky.
2043
+ sections:
2044
+ general: Obecné
2045
+ page_definition: Definice stránky
2046
+ show:
2047
+ description: DB-stored definice stránky. Změny se projeví po refreshi cache.
2048
+ permission_configs:
2049
+ index:
2050
+ description: DB-backed definice oprávnění. Každý záznam přepisuje YAML soubor
2051
+ oprávnění pro svůj cílový model.
2052
+ sections:
2053
+ general: Obecné
2054
+ permission_definition: Definice oprávnění
2055
+ show:
2056
+ description: DB-stored definice oprávnění. Změny se projeví ihned po uložení.
2057
+ pipeline_edit_zone:
2058
+ sections:
2059
+ pipeline_details: Detail pipeline
2060
+ pipeline_stages:
2061
+ index:
2062
+ description: 'Scoped positioning: fáze jsou řazeny v rámci svého pipeline.
2063
+ Každý pipeline má nezávislé sekvence pozic.'
2064
+ sections:
2065
+ stage_details: Detail fáze
2066
+ pipelines:
2067
+ index:
2068
+ description: Rodičovský model pro scoped positioning. Každý pipeline má
2069
+ svou sadu fází s nezávislým pořadím.
2070
+ sections:
2071
+ pipeline_details: Detail pipeline
2072
+ platform_profiles:
2073
+ index:
2074
+ description: 'Showcase per-item aditivního chování `lcp_managed: true` na
2075
+ `bind_to:` modelu. Host třída `PlatformProfile` shippuje s minimální 2-sloupcovou
2076
+ tabulkou (`name`, `bio`); LCP aditivně přidává `favorite_color` (běžné
2077
+ pole), `category_id` + `belongs_to :category` (managed FK + AR makro),
2078
+ polymorfní `belongs_to :notable`, managed enum `priority`, NOT-NULL `view_count`,
2079
+ managed `has_many :profile_tags` a managed `has_one :profile_setting`.'
2080
+ sections:
2081
+ host-owned: Host-owned
2082
+ host-owned_metadata-only: Host-owned (jen metadata)
2083
+ lcp-managed: LCP-managed
2084
+ lcp-managed_belongs_to_auto_fk_column: 'LCP-managed: belongs_to + auto FK
2085
+ sloupec'
2086
+ lcp-managed_enum_field_column_only_no_ar_enum_macro: 'LCP-managed: enum
2087
+ pole (jen sloupec, bez AR enum makra)'
2088
+ lcp-managed_not_null_default: 'LCP-managed: NOT NULL + default'
2089
+ lcp-managed_polymorphic_belongs_to: 'LCP-managed: polymorfní belongs_to'
2090
+ lcp-managed_regular_column: 'LCP-managed: běžný sloupec'
2091
+ show:
2092
+ description: 'Všechny managed scénáře `lcp_managed: true` vykreslené inline.
2093
+ Otevři DSL v `config/lcp_ruby/models/platform_profile.rb` pro per-item
2094
+ flag ve zdroji.'
2095
+ projects:
2096
+ form:
2097
+ description: 'Kaskádové selecty: nejdřív vyber oddělení, pak zvol vedoucího
2098
+ z toho oddělení.'
2099
+ index:
2100
+ description: 'Demonstruje kaskádové selecty: oddělení -> vedoucí (zaměstnanec
2101
+ v daném oddělení).'
2102
+ sections:
2103
+ project_details: Detail projektu
2104
+ project_information: Informace o projektu
2105
+ quick_note_dialog:
2106
+ sections:
2107
+ note: Poznámka
2108
+ roles:
2109
+ form:
2110
+ description: Názvy rolí jsou lowercase identifikátory používané v permissions
2111
+ YAML (např. admin, manager, viewer).
2112
+ index:
2113
+ description: DB-backed správa rolí. Role zde definované se validují během
2114
+ autorizace — neznámé role na uživatelích jsou odfiltrovány a zaznamenány.
2115
+ sections:
2116
+ description: Popis
2117
+ role_details: Detail role
2118
+ show:
2119
+ description: Detail role. Název musí odpovídat klíčům rolí v permissions
2120
+ YAML souborech.
2121
+ save_filter_dialog:
2122
+ sections:
2123
+ filter: Filtr
2124
+ saved_filters:
2125
+ index:
2126
+ description: Správa záznamů uložených filtrů. Procházej, upravuj a maž uživatelské
2127
+ filtry napříč presentery.
2128
+ sections:
2129
+ display: Zobrazení
2130
+ filter_details: Detail filtru
2131
+ metadata: Metadata
2132
+ query: Dotaz
2133
+ targeting: Cílení
2134
+ showcase_aggregate_items:
2135
+ sections:
2136
+ task: Úloha
2137
+ task_details: Detail úlohy
2138
+ showcase_aggregates:
2139
+ index:
2140
+ description: Demonstruje plný systém virtual columns — deklarativní agregáty
2141
+ (COUNT, SUM, AVG, MIN, MAX), expression columns, JOIN-based columns, window
2142
+ funkce, service columns, auto_include a item_classes s podmínkami nad
2143
+ virtual columns. Všechny sloupce jsou řaditelné.
2144
+ sections:
2145
+ aggregate_statistics: Souhrnné statistiky
2146
+ company_join-based: Firma (JOIN-based)
2147
+ date_range: Rozsah dat
2148
+ description: Popis
2149
+ expression_columns: Expression sloupce
2150
+ project: Projekt
2151
+ tasks: Úlohy
2152
+ window_service: Window a service
2153
+ show:
2154
+ description: Všechny hodnoty níže se počítají dynamicky přes SQL podotázky,
2155
+ JOINy, window funkce a služby — žádné uložené čítače.
2156
+ showcase_aggregates_tiles:
2157
+ sections:
2158
+ aggregate_statistics: Souhrnné statistiky
2159
+ company_join-based: Firma (JOIN-based)
2160
+ date_range: Rozsah dat
2161
+ description: Popis
2162
+ expression_columns: Expression sloupce
2163
+ project: Projekt
2164
+ tasks: Úlohy
2165
+ window_service: Window a service
2166
+ show:
2167
+ description: Všechny hodnoty níže se počítají dynamicky přes SQL podotázky,
2168
+ JOINy, window funkce a služby — žádné uložené čítače.
2169
+ showcase_amount_kanban:
2170
+ index:
2171
+ description: Phase 1 kanban s vlastním HostProviderem — virtuální seskupení
2172
+ podle rozsahu částky. Read-only (žádný move).
2173
+ sections:
2174
+ audit_trail: Audit log
2175
+ description: Popis
2176
+ details: Detaily
2177
+ internal_notes: Interní poznámky
2178
+ request: Žádost
2179
+ request_details: Detail žádosti
2180
+ timeline: Timeline
2181
+ showcase_arrays:
2182
+ form:
2183
+ description: Array vstupy s tag-style chips. Podporuje návrhy, max položek
2184
+ a zástupný text.
2185
+ index:
2186
+ description: Demonstruje array pole s string, integer a float item types.
2187
+ Každý záznam používá jinou konfiguraci array.
2188
+ sections:
2189
+ default_labels_advanced: Výchozí popisky (rozšířené)
2190
+ general: Obecné
2191
+ metadata: Metadata
2192
+ numeric_arrays: Numerická array
2193
+ overview: Přehled
2194
+ score_analysis: Analýza skóre
2195
+ string_arrays: String array
2196
+ urgent_details: Naléhavé detaily
2197
+ show:
2198
+ description: Pole typu array zobrazená přes collection renderer. Sekce používají
2199
+ visible_when s operátory pro pole.
2200
+ showcase_attachments:
2201
+ form:
2202
+ description: Nahrávej soubory drag-and-drop nebo přes file picker.
2203
+ index:
2204
+ description: 'Demonstruje file upload s Active Storage: single/multiple,
2205
+ obrázky/soubory, varianty.'
2206
+ sections:
2207
+ multiple_files_documents: Více souborů (dokumenty)
2208
+ multiple_images_gallery: Více obrázků (galerie)
2209
+ single_file_resume: Jeden soubor (resume)
2210
+ single_image_avatar: Jeden obrázek (avatar)
2211
+ show:
2212
+ description: Každá sekce zobrazuje jinou attachment konfiguraci.
2213
+ showcase_audit_logs:
2214
+ index:
2215
+ description: Raw audit log záznamy zobrazující všechny sledované změny napříč
2216
+ audited modely.
2217
+ sections:
2218
+ audit_entry: Záznam auditu
2219
+ changes: Změny
2220
+ metadata: Metadata
2221
+ user: Uživatel
2222
+ showcase_audited_records:
2223
+ index:
2224
+ description: Záznamy s plným sledováním změn. Každý create, update a delete
2225
+ se loguje do audit logu s field-level diffy.
2226
+ sections:
2227
+ details: Detaily
2228
+ timestamps: Časová razítka
2229
+ showcase_batch_tasks:
2230
+ index:
2231
+ description: Demonstruje multiselect a batch akce. Vyber záznamy zaškrtávacími
2232
+ poli, pak použij toolbar dole. Zkus shift-click pro rozsah, výběr napříč
2233
+ stránkami a 'Vybrat vše odpovídající filtru'.
2234
+ sections:
2235
+ audit_trail: Audit log
2236
+ description: Popis
2237
+ task_details: Detail úlohy
2238
+ showcase_batch_tasks_archive:
2239
+ index:
2240
+ description: 'Smazané úlohy. Použij batch Obnovit pro hromadné vrácení nebo
2241
+ Trvale smazat pro definitivní odstranění. Pozor: Trvale smazat má select_all_filter:
2242
+ false — povolen jen explicitní výběr podle ID.'
2243
+ sections:
2244
+ description: Popis
2245
+ task_details: Detail úlohy
2246
+ showcase_business_units:
2247
+ sections:
2248
+ business_unit: Business unit
2249
+ divisions: Divize
2250
+ showcase_conditions:
2251
+ form:
2252
+ description: 'Tento formulář používá pokročilé podmínky: compound visible_when/disable_when,
2253
+ field_ref porovnání, current_user reference a lookup value reference.'
2254
+ index:
2255
+ description: 'Demonstruje všechny pokročilé podmínkové funkce: compound
2256
+ (all/any/not), dot-path pole, collection kvantifikátory, dynamické value
2257
+ reference (field_ref, current_user, date, lookup), value services a string
2258
+ operátory.'
2259
+ sections:
2260
+ basic_info: Základní informace
2261
+ budget_override: Override rozpočtu
2262
+ category_info: Informace o kategorii
2263
+ description: Popis
2264
+ financial: Finanční
2265
+ financial_details: Finanční detail
2266
+ overview: Přehled
2267
+ showcase_contacts:
2268
+ form:
2269
+ description: Rodičovský formulář — pro vytváření obecných kontaktů.
2270
+ index:
2271
+ description: STI parent pohled — dotazuje sdílenou tabulku bez type filtru,
2272
+ vrací všechny typy kontaktů (People + Organizations). Sloupec 'type' zobrazuje
2273
+ název AR třídy.
2274
+ sections:
2275
+ contact: Kontakt
2276
+ contact_information: Kontaktní informace
2277
+ notes: Poznámky
2278
+ status_notes: Status a poznámky
2279
+ tracking: Sledování
2280
+ show:
2281
+ description: Zobrazuje společná pole kontaktu. Vzhledem k tomu, že jde o
2282
+ parent presenter, zobrazuje pole sdílená všemi variantami.
2283
+ showcase_custom_render_with:
2284
+ index:
2285
+ description: Tento index používá `render_with` pro nahrazení standardní
2286
+ tabulky vlastním card gridem.
2287
+ sections:
2288
+ basic_info: Základní informace
2289
+ details: Detaily
2290
+ location: Lokace
2291
+ show:
2292
+ description: Tato show stránka používá `render_with` pro nahrazení celé
2293
+ content area.
2294
+ showcase_custom_sections:
2295
+ index:
2296
+ description: 'Demonstruje vlastní show a form sekce přes `type: custom`.'
2297
+ sections:
2298
+ basic_info: Základní informace
2299
+ details: Detaily
2300
+ location: Lokace
2301
+ location_map: Mapa lokace
2302
+ notes: Poznámky
2303
+ quick_stats: Rychlé statistiky
2304
+ tags_editor: Editor tagů
2305
+ show:
2306
+ description: Tato show stránka kombinuje standardní LCP sekce s vlastními
2307
+ partialy.
2308
+ showcase_custom_zones_main:
2309
+ index:
2310
+ description: Klikni na záznam pro composite stránku s vlastními zónami.
2311
+ sections:
2312
+ basic_info: Základní informace
2313
+ details: Detaily
2314
+ location: Lokace
2315
+ record_details: Detail záznamu
2316
+ showcase_divisions:
2317
+ sections:
2318
+ division: Divize
2319
+ employees: Zaměstnanci
2320
+ showcase_extensibility:
2321
+ form:
2322
+ description: Demonstruje vlastní transforms a service-based computed pole.
2323
+ index:
2324
+ description: Demonstruje vlastní typy, service-based computed pole a transforms.
2325
+ sections:
2326
+ details: Detaily
2327
+ record_details: Detail záznamu
2328
+ show:
2329
+ description: Computed pole se aktualizují automaticky na základě hodnot
2330
+ jiných polí.
2331
+ showcase_fields_card:
2332
+ form:
2333
+ description: Všechny typy polí s jejich výchozími vstupními ovladači.
2334
+ index:
2335
+ description: Alternativní kartové rozložení s podmnožinou polí.
2336
+ sections:
2337
+ boolean_enum_fields: Boolean a enum pole
2338
+ business_type_fields: Business type pole
2339
+ date_time_fields: Pole datum a čas
2340
+ numeric_fields: Numerická pole
2341
+ overview: Přehled
2342
+ special_fields: Speciální pole
2343
+ text_fields: Textová pole
2344
+ show:
2345
+ description: Kompaktní pohled s menším počtem sekcí.
2346
+ showcase_fields_table:
2347
+ form:
2348
+ description: Všechny typy polí s jejich výchozími vstupními ovladači.
2349
+ index:
2350
+ description: Každý sloupec používá jiný display typ pro demonstraci celé
2351
+ škály display renderers.
2352
+ sections:
2353
+ boolean_enum_fields: Boolean a enum pole
2354
+ business_type_fields: Business type pole
2355
+ date_time_fields: Pole datum a čas
2356
+ link_displays: Link display
2357
+ numeric_displays: Numerický display
2358
+ numeric_fields: Numerická pole
2359
+ special_fields: Speciální pole
2360
+ temporal_displays: Časové display
2361
+ text_displays: Textové display
2362
+ text_fields: Textová pole
2363
+ visual_displays: Vizuální display
2364
+ show:
2365
+ description: Organizováno podle display kategorie. Každé pole používá konkrétní
2366
+ display renderer.
2367
+ showcase_fields_tiles:
2368
+ form:
2369
+ description: Všechny typy polí s jejich výchozími vstupními ovladači.
2370
+ sections:
2371
+ boolean_enum_fields: Boolean a enum pole
2372
+ business_type_fields: Business type pole
2373
+ date_time_fields: Pole datum a čas
2374
+ link_displays: Link display
2375
+ numeric_displays: Numerický display
2376
+ numeric_fields: Numerická pole
2377
+ special_fields: Speciální pole
2378
+ temporal_displays: Časové display
2379
+ text_displays: Textové display
2380
+ text_fields: Textová pole
2381
+ visual_displays: Vizuální display
2382
+ show:
2383
+ description: Organizováno podle display kategorie. Každé pole používá konkrétní
2384
+ display renderer.
2385
+ showcase_form_action_dialog:
2386
+ sections:
2387
+ description: Popis
2388
+ new_task: Nová úloha
2389
+ showcase_form_actions:
2390
+ index:
2391
+ description: 'Demonstruje form submit akce: více submit tlačítek, set_fields,
2392
+ pipeline (save + transition), visible_when, role restrictions, overflow
2393
+ dropdown a dialog chování.'
2394
+ sections:
2395
+ basic_info: Základní informace
2396
+ content: Obsah
2397
+ details: Detaily
2398
+ metadata: Metadata
2399
+ notes: Poznámky
2400
+ status_priority: Stav a priorita
2401
+ task: Úloha
2402
+ task_details: Detail úlohy
2403
+ timeline: Timeline
2404
+ showcase_form_actions_overflow:
2405
+ index:
2406
+ description: 'Demonstruje overflow dropdown: max_inline_actions: 2 znamená
2407
+ jen 2 submit tlačítka inline, zbytek se sbalí do dropdownu ''Více...''.'
2408
+ sections:
2409
+ content: Obsah
2410
+ details: Detaily
2411
+ task: Úloha
2412
+ task_details: Detail úlohy
2413
+ showcase_forms:
2414
+ form:
2415
+ description: Tento formulář používá tabbed layout pro demonstraci všech
2416
+ form funkcí.
2417
+ index:
2418
+ description: Každý záznam demonstruje jinou kombinaci form funkcí.
2419
+ sections:
2420
+ advanced_details: Rozšířené údaje
2421
+ conditional_rendering: Podmíněné renderování
2422
+ conditional_section: Podmíněná sekce
2423
+ input_types: Typy vstupů
2424
+ layout_features: Layout funkce
2425
+ overview: Přehled
2426
+ premium_info: Premium informace
2427
+ standard_notes: Standardní poznámky
2428
+ showcase_grades:
2429
+ index:
2430
+ description: 'Známky dědí viditelnost tranzitivně: známka → student → třída.
2431
+ Učitelé vidí známky studentů ve své třídě; rodiče vidí známky svých dětí.
2432
+ Každá úroveň přidává jednu řádku `inherits_from:` do svého permission
2433
+ souboru. Žádné Ruby scopy.'
2434
+ sections:
2435
+ grade: Známka
2436
+ showcase_hr_employees:
2437
+ sections:
2438
+ employee: Zaměstnanec
2439
+ lifecycle: Životní cyklus
2440
+ organization: Organizace
2441
+ organization_via_custom-key_join: Organizace (přes custom-key join)
2442
+ showcase_item_classes:
2443
+ index:
2444
+ description: 'Demonstruje všechny use-cases item_classes: každá vestavěná
2445
+ CSS třída, každý condition operátor, service podmínky, více tříd na pravidlo
2446
+ a akumulace pravidel. Každý řádek je stylován podle hodnot polí.'
2447
+ sections:
2448
+ record_details: Detail záznamu
2449
+ showcase_job_executions:
2450
+ index:
2451
+ description: 'Demonstruje background jobs: sledování běhu úloh, lifecycle
2452
+ statusu (pending → running → completed/failed/cancelled), reportování
2453
+ postupu, strukturovaný log, pokusy o retry, kooperativní zrušení a triggered_by
2454
+ snapshoty.'
2455
+ sections:
2456
+ error: Chyba
2457
+ execution_details: Detail běhu
2458
+ import_results: Výsledky importu
2459
+ job_details: Detail úlohy
2460
+ log: Log
2461
+ parameters: Parametry
2462
+ related_records: Související záznamy
2463
+ target: Cíl
2464
+ timeline: Timeline
2465
+ timestamps: Časová razítka
2466
+ trigger_info: Informace o triggeru
2467
+ showcase_memos:
2468
+ form:
2469
+ description: Pole z _base_document + memo-specific pole v jednom formuláři.
2470
+ index:
2471
+ description: Mema dědí z _base_document (stejný rodič jako Reports' grandparent).
2472
+ Demonstruje více dětí z jednoho abstraktního baze.
2473
+ sections:
2474
+ content: Obsah
2475
+ inherited_from_base_document: Zděděno z _base_document
2476
+ memo: Memo
2477
+ memo_details: Detail mema
2478
+ status_priority_from_base_document: Status a priorita (z _base_document)
2479
+ tracking_inherited_options: Sledování (zděděné volby)
2480
+ show:
2481
+ description: Zděděná pole z _base_document spolu s memo-specific poli.
2482
+ showcase_models:
2483
+ form:
2484
+ description: Pole jsou seskupena podle model funkce, kterou demonstrují.
2485
+ index:
2486
+ description: 'Demonstruje model-level funkce: defaulty, computed pole, validace,
2487
+ transforms, scopy.'
2488
+ sections:
2489
+ business_types: Business types
2490
+ cross-field_validation: Mezipolní validace
2491
+ enums_defaults: Enums a defaulty
2492
+ extra: Extra
2493
+ identity_transforms: Identita a transforms
2494
+ metadata: Metadata
2495
+ status_defaults: Status a defaulty
2496
+ validations_computed: Validace a computed
2497
+ show:
2498
+ description: Každá sekce seskupuje pole podle model funkce, kterou demonstrují.
2499
+ showcase_organizations:
2500
+ form:
2501
+ description: Form pro organizaci — kombinuje pole z STI child, parenta a
2502
+ abstraktního grandparenta.
2503
+ index:
2504
+ description: STI child pohled — dotazuje sdílenou tabulku s automatickým
2505
+ WHERE type = 'LcpRuby::Dynamic::ShowcaseOrganization'. Zobrazují se jen
2506
+ organization záznamy.
2507
+ sections:
2508
+ contact_info_from_showcase_contact: Kontaktní informace (z showcase_contact)
2509
+ contact_info_from_sti_parent: Kontaktní informace (z STI rodiče)
2510
+ organization: Organizace
2511
+ organization_details: Detail organizace
2512
+ status_from_contactable: Status (z _contactable)
2513
+ status_notes: Status a poznámky
2514
+ tracking_inherited_options: Sledování (zděděné volby)
2515
+ show:
2516
+ description: Show pohled organizace s poli ze všech tří úrovní dědičnosti.
2517
+ showcase_people:
2518
+ form:
2519
+ description: Form pro osobu — kombinuje pole z STI child, parenta a abstraktního
2520
+ grandparenta.
2521
+ index:
2522
+ description: STI child pohled — dotazuje sdílenou tabulku s automatickým
2523
+ WHERE type = 'LcpRuby::Dynamic::ShowcasePerson'. Zobrazují se jen person
2524
+ záznamy.
2525
+ sections:
2526
+ contact_info_from_showcase_contact: Kontaktní informace (z showcase_contact)
2527
+ contact_info_from_sti_parent: Kontaktní informace (z STI rodiče)
2528
+ person: Osoba
2529
+ person_details: Detail osoby
2530
+ status_from_contactable: Status (z _contactable)
2531
+ status_notes: Status a poznámky
2532
+ tracking_inherited_options: Sledování (zděděné volby)
2533
+ show:
2534
+ description: Show pohled osoby s poli ze všech tří úrovní dědičnosti.
2535
+ showcase_permissions:
2536
+ form:
2537
+ description: Zapisovatelná pole závisí na tvé roli. Zamčené záznamy nelze
2538
+ editovat (kromě admina).
2539
+ index:
2540
+ description: Demo vícerolí oprávnění. Přepni roli pro různé pohledy.
2541
+ sections:
2542
+ notes: Poznámky
2543
+ record_details: Detail záznamu
2544
+ show:
2545
+ description: Viditelnost polí závisí na roli aktuálního uživatele.
2546
+ showcase_positioning:
2547
+ form:
2548
+ description: Pozice se spravuje automaticky přes drag-and-drop na index
2549
+ stránce.
2550
+ index:
2551
+ description: Demonstruje drag-and-drop řazení. Tahej řádky pro změnu pořadí
2552
+ — position se aktualizuje automaticky.
2553
+ sections:
2554
+ description: Popis
2555
+ item_details: Detail položky
2556
+ showcase_recipes:
2557
+ form:
2558
+ description: 'Inline editace JSON dvěma způsoby: pole definovaná v presenteru
2559
+ (Steps) a pole virtual modelu s podsekcemi (Ingredients).'
2560
+ index:
2561
+ description: Demonstruje vnořenou editaci JSON polí, virtuální modely a
2562
+ podsekce.
2563
+ sections:
2564
+ ingredients: Ingredience
2565
+ metadata: Metadata
2566
+ overview: Přehled
2567
+ recipe_details: Detail receptu
2568
+ steps: Kroky
2569
+ show:
2570
+ description: Detail receptu s inline kroky a strukturovanými ingrediencemi.
2571
+ showcase_recipes_raw:
2572
+ form:
2573
+ description: 'Inline editace JSON dvěma způsoby: pole definovaná v presenteru
2574
+ (Steps) a pole virtual modelu s podsekcemi (Ingredients).'
2575
+ index:
2576
+ description: Demonstruje vnořenou editaci JSON polí, virtuální modely a
2577
+ podsekce.
2578
+ sections:
2579
+ ingredients: Ingredience
2580
+ ingredients_raw_json: Ingredience (raw JSON)
2581
+ metadata: Metadata
2582
+ overview: Přehled
2583
+ recipe_details: Detail receptu
2584
+ steps: Kroky
2585
+ steps_raw_json: Kroky (raw JSON)
2586
+ show:
2587
+ description: Raw persistence pohled — kroky a ingredience zobrazené jako
2588
+ uložený JSON.
2589
+ showcase_reports:
2590
+ form:
2591
+ description: Pole ze všech tří úrovní dědičnosti dostupná v jednom formuláři.
2592
+ index:
2593
+ description: Reports dědí z _categorized_document -> _base_document. Pole
2594
+ ze všech tří úrovní jsou sloučena.
2595
+ sections:
2596
+ classification_from_categorized_document: Klasifikace (z _categorized_document)
2597
+ content: Obsah
2598
+ inherited_from_base_document: Zděděno z _base_document
2599
+ inherited_from_categorized_document: Zděděno z _categorized_document
2600
+ report: Report
2601
+ report_details: Detail reportu
2602
+ status_priority_from_base_document: Status a priorita (z _base_document)
2603
+ tracking_inherited_options: Sledování (zděděné volby)
2604
+ show:
2605
+ description: 'Všechna pole níže pocházejí ze tří úrovní dědičnosti: _base_document,
2606
+ _categorized_document a showcase_report.'
2607
+ showcase_school_classes:
2608
+ index:
2609
+ description: Třídy jsou viditelné učitelům (když teacher_id sedí) a všem
2610
+ rodičům/diváčům. Použito jako kořen viditelnosti pro student.yml a grade.yml
2611
+ přes `inherits_from`.
2612
+ sections:
2613
+ class: Třída
2614
+ showcase_searches:
2615
+ index:
2616
+ description: Demonstruje pokročilý filter builder se všemi podporovanými
2617
+ typy polí, operátory, kaskádovým výběrem polí, OR skupinami, vnořením,
2618
+ query language a filter presety.
2619
+ sections:
2620
+ associations: Asociace
2621
+ contact_tracking: Kontakt a sledování
2622
+ date_boolean: Datum a boolean
2623
+ dates_boolean: Data a boolean
2624
+ general: Obecné
2625
+ metadata: Metadata
2626
+ numbers: Čísla
2627
+ numeric_fields: Numerická pole
2628
+ show:
2629
+ description: Detail záznamu se všemi typy polí použitými v pokročilém filtru.
2630
+ showcase_sequences:
2631
+ form:
2632
+ description: Sequence pole jsou readonly — přidělují se automaticky při
2633
+ uložení záznamu. Editovatelné jsou jen Title, Category a Description.
2634
+ index:
2635
+ description: 'Demonstruje bezmezerové auto-číslovací sekvence. Každý sloupec
2636
+ zobrazuje jiný typ sekvence: globální, roční, field-scoped, raw integer,
2637
+ vlastní start/step a backfill-on-update.'
2638
+ sections:
2639
+ record_details: Detail záznamu
2640
+ sequence_values: Hodnoty sekvence
2641
+ show:
2642
+ description: 'Všechny hodnoty sekvencí se přidělují automaticky při vytvoření
2643
+ záznamu. ''Backfill code'' také doplní prázdné hodnoty při úpravě (assign_on:
2644
+ always).'
2645
+ showcase_soft_delete:
2646
+ index:
2647
+ description: Demonstruje soft delete (discard/restore) s kaskádou na child
2648
+ items. Smazané záznamy se přesunou do Archive view a lze je obnovit nebo
2649
+ trvale smazat.
2650
+ sections:
2651
+ audit_trail: Audit log
2652
+ content: Obsah
2653
+ document: Dokument
2654
+ items: Položky
2655
+ show:
2656
+ description: 'Smazáním tohoto dokumentu se smažou i všechny jeho child items
2657
+ (kaskáda přes dependent: :discard).'
2658
+ showcase_soft_delete_archive:
2659
+ index:
2660
+ description: Smazané dokumenty. Použij Obnovit pro vrácení nebo Trvale smazat
2661
+ pro definitivní odstranění.
2662
+ sections:
2663
+ content: Obsah
2664
+ document: Dokument
2665
+ showcase_soft_delete_items:
2666
+ sections:
2667
+ item_details: Detail položky
2668
+ notes: Poznámky
2669
+ showcase_students:
2670
+ index:
2671
+ description: 'Studenti jsou viditelní, pokud je viditelná jejich třída (role
2672
+ učitel) — nebo přes guardian_id (role rodič, role-level scope override).
2673
+ Kaskáda učitele `inherits_from: showcase_school_class` nahrazuje vlastní
2674
+ scope `joins(:school_class).where(...)`.'
2675
+ sections:
2676
+ student: Student
2677
+ showcase_userstamps:
2678
+ form:
2679
+ description: Userstamp pole nejsou ve formuláři — platforma je nastavuje
2680
+ automaticky.
2681
+ index:
2682
+ description: Demonstruje automatické sledování uživatele. Created by / Updated
2683
+ by se nastavují automaticky přes before_save callback z LcpRuby::Current.user.
2684
+ sections:
2685
+ audit_trail: Audit log
2686
+ content: Obsah
2687
+ document: Dokument
2688
+ show:
2689
+ description: 'Sekce Metadata zobrazuje userstamp pole — created_by_name
2690
+ a updated_by_name jsou denormalizované snapshoty (store_name: true).'
2691
+ showcase_virtual_fields:
2692
+ form:
2693
+ description: Virtuální pole jsou editovatelná přes accessor metody — JSON
2694
+ sloupec se aktualizuje transparentně.
2695
+ index:
2696
+ description: 'Demonstruje virtuální pole: JSON-backed service accessory
2697
+ a externí computed pole.'
2698
+ sections:
2699
+ identity: Identita
2700
+ location: Lokace
2701
+ location_external_fields: Lokace a externí pole
2702
+ metadata: Metadata
2703
+ raw_json: Raw JSON
2704
+ service_accessor_fields: Service accessor pole
2705
+ show:
2706
+ description: Každá sekce seskupuje virtuální pole podle source typu.
2707
+ showcase_workflow_admin:
2708
+ index:
2709
+ description: 'Adminský pohled s viditelným přechodem force_approve. Demonstruje
2710
+ override přechodů na úrovni presenteru: stejný workflow může v různých
2711
+ presenterech zobrazit různá tlačítka.'
2712
+ sections:
2713
+ audit_trail: Audit log
2714
+ description: Popis
2715
+ details: Detaily
2716
+ internal_notes: Interní poznámky
2717
+ request: Žádost
2718
+ request_details: Detail žádosti
2719
+ timeline: Timeline
2720
+ showcase_workflow_kanban:
2721
+ index:
2722
+ description: Phase 1 kanban nad polem `status` workflow. Tahej kartu pro
2723
+ spuštění odpovídajícího přechodu.
2724
+ sections:
2725
+ audit_trail: Audit log
2726
+ description: Popis
2727
+ details: Detaily
2728
+ internal_notes: Interní poznámky
2729
+ request: Žádost
2730
+ request_details: Detail žádosti
2731
+ timeline: Timeline
2732
+ showcase_workflows:
2733
+ index:
2734
+ description: 'Demonstruje workflow state machine: vynucené přechody, guard
2735
+ podmínky, role restrictions, readonly pole na stav, auto-set pole, události,
2736
+ potvrzovací dialogy, povinné komentáře, system triggery a audit logování.'
2737
+ sections:
2738
+ audit_log: Záznam auditu
2739
+ audit_trail: Historie změn
2740
+ description: Popis
2741
+ details: Detaily
2742
+ internal_notes: Interní poznámky
2743
+ request: Žádost
2744
+ request_details: Detail žádosti
2745
+ timeline: Časová osa
2746
+ tags:
2747
+ index:
2748
+ description: Jednoduchý tag model s barvou. Použito pro has_many :through
2749
+ asociace.
2750
+ sections:
2751
+ tag_details: Detail tagu
2752
+ tag_information: Informace o tagu
2753
+ users:
2754
+ sections:
2755
+ basic_info: Základní informace
2756
+ profile: Profil
2757
+ roles: Role
2758
+ sign-in_info: Informace o přihlášení
2759
+ weather_stations:
2760
+ index:
2761
+ description: 'Demonstruje API-backed modely — read-only data z host data
2762
+ source (žádná DB tabulka). Pozor: žádné create/edit/delete akce (Phase
2763
+ 1 je read-only).'
2764
+ sections:
2765
+ location: Lokace
2766
+ station_details: Detail stanice
2767
+ telemetry: Telemetrie
2768
+ show:
2769
+ description: Read-only detail pohled externího záznamu meteostanice. Data
2770
+ pocházejí z host provideru, ne z databáze.
2771
+ workflow_audit_logs:
2772
+ index:
2773
+ description: 'Každý workflow přechod je zde zaznamenán: kdo ho spustil,
2774
+ from/to state, volitelný komentář a metadata.'
2775
+ sections:
2776
+ metadata: Metadata
2777
+ transition_details: Detail přechodu
2778
+ user_comment: Uživatel a komentář
2779
+ workflows:
2780
+ showcase_form_action:
2781
+ states:
2782
+ approved: Schváleno
2783
+ draft: Koncept
2784
+ published: Publikováno
2785
+ rejected: Zamítnuto
2786
+ submitted: Odesláno
2787
+ transitions:
2788
+ approve: Schválit
2789
+ publish: Publikovat
2790
+ reject: Zamítnout
2791
+ rework: Vrátit ke konceptu
2792
+ submit: Odeslat
2793
+ showcase_workflow:
2794
+ states:
2795
+ approved: Schváleno
2796
+ cancelled: Zrušeno
2797
+ completed: Dokončeno
2798
+ draft: Koncept
2799
+ in_progress: Probíhá
2800
+ on_hold: Pozastaveno
2801
+ pending_review: Čeká na kontrolu
2802
+ rejected: Zamítnuto
2803
+ transitions:
2804
+ approve: Schválit
2805
+ approve_transition: Schválení (systémový přechod)
2806
+ auto_approve: Automatické schválení
2807
+ cancel: Zrušit
2808
+ complete: Označit jako dokončené
2809
+ force_approve: Vynucené schválení
2810
+ hold: Pozastavit
2811
+ reject: Zamítnout
2812
+ reject_transition: Zamítnutí (systémový přechod)
2813
+ reset_to_draft: Reset do konceptu
2814
+ resume: Pokračovat v práci
2815
+ return_transition: Vrácení (systémový přechod)
2816
+ rework: Vrátit ke konceptu
2817
+ start_work: Zahájit práci
2818
+ submit: Odeslat ke kontrole