drg_cms 0.6.1.5 → 0.6.1.11
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.
- checksums.yaml +4 -4
- data/README.md +203 -24
- data/app/assets/fonts/ibm-plex-sans-300.woff2 +0 -0
- data/app/assets/fonts/ibm-plex-sans-400.woff2 +0 -0
- data/app/assets/fonts/ibm-plex-sans-500.woff2 +0 -0
- data/app/assets/fonts/ibm-plex-sans-600.woff2 +0 -0
- data/app/assets/fonts/ibm-plex-sans-700.woff2 +0 -0
- data/app/assets/fonts/ibm-plex-sans-italic.woff2 +0 -0
- data/app/assets/javascripts/drg_cms/drg_cms.js +253 -106
- data/app/assets/stylesheets/drg_cms/drg_cms.css +670 -521
- data/app/assets/stylesheets/drg_cms_application.css +1 -1
- data/app/assets/stylesheets/drg_cms_cms.css +1 -4
- data/app/controllers/cmsedit_controller.rb +33 -211
- data/app/controllers/dc_application_controller.rb +98 -22
- data/app/controllers/dc_common_controller.rb +9 -22
- data/app/controls/browse_models_control.rb +18 -27
- data/app/controls/cmsedit_control.rb +129 -0
- data/app/controls/dc_help_control.rb +1 -1
- data/app/controls/dc_page_control.rb +0 -1
- data/app/controls/dc_poll_result_control.rb +1 -1
- data/app/controls/dc_report.rb +2 -2
- data/app/controls/design_element_settings_control.rb +1 -1
- data/app/forms/all_options.yml +25 -7
- data/app/forms/cms_menu.yml +24 -24
- data/app/forms/dc_browse_fields.yml +13 -9
- data/app/forms/dc_browse_models.yml +24 -2
- data/app/forms/dc_poll_result_export.yml +1 -1
- data/app/forms/dc_site.yml +2 -5
- data/app/forms/dc_steps_template.yml +51 -0
- data/app/helpers/cms_common_helper.rb +73 -6
- data/app/helpers/cms_edit_helper.rb +275 -159
- data/app/helpers/cms_helper.rb +152 -59
- data/app/helpers/cms_index_helper.rb +220 -172
- data/app/helpers/dc_application_helper.rb +40 -67
- data/app/models/concerns/dc_page_concern.rb +1 -1
- data/app/models/concerns/dc_site_concern.rb +9 -3
- data/app/models/dc_filter.rb +30 -22
- data/app/models/dc_journal.rb +2 -2
- data/app/models/dc_json_ld.rb +19 -42
- data/app/models/dc_part.rb +19 -9
- data/app/models/dc_site.rb +0 -1
- data/app/models/drgcms_form_fields/drgcms_field.rb +10 -4
- data/app/models/drgcms_form_fields/link_to.rb +1 -1
- data/app/models/drgcms_form_fields/multitext_autocomplete.rb +5 -5
- data/app/models/drgcms_form_fields/readonly.rb +4 -1
- data/app/models/drgcms_form_fields/select.rb +10 -9
- data/app/models/drgcms_form_fields/text_autocomplete.rb +20 -12
- data/app/models/drgcms_form_fields/text_with_select.rb +1 -0
- data/app/renderers/dc_common_renderer.rb +20 -3
- data/app/renderers/dc_part_renderer.rb +1 -1
- data/app/renderers/dc_poll_renderer.rb +1 -1
- data/app/views/cmsedit/_edit_stuff.html.erb +12 -12
- data/app/views/cmsedit/_form.html.erb +19 -12
- data/app/views/cmsedit/edit.html.erb +10 -6
- data/app/views/cmsedit/index.html.erb +5 -3
- data/app/views/cmsedit/login.html.erb +1 -1
- data/app/views/cmsedit/new.html.erb +9 -5
- data/app/views/dc_common/_help.html.erb +1 -0
- data/app/views/dc_common/paste_clipboard.html.erb +1 -1
- data/app/views/layouts/cms.html.erb +3 -5
- data/config/locales/drgcms_en.yml +7 -1
- data/config/locales/drgcms_sl.yml +7 -1
- data/config/locales/kaminari.yml +1 -1
- data/drg_cms.gemspec +2 -2
- data/lib/drg_cms/version.rb +1 -1
- data/lib/drg_cms.rb +4 -4
- metadata +16 -10
- data/app/views/cmsedit/__remove_edit_stuff.js.erb +0 -6
- data/app/views/cmsedit/__show.html.erb +0 -21
@@ -81,12 +81,26 @@ end
|
|
81
81
|
# Translation is provided by lang.helpers.label.table_name.field_name locale. If
|
82
82
|
# translation is not found method will capitalize field_name and replace '_' with ' '.
|
83
83
|
############################################################################
|
84
|
-
def
|
84
|
+
def t_label_for_field(field_name, default='')
|
85
85
|
c = t("helpers.label.#{@form['table']}.#{field_name}", default)
|
86
86
|
c = field_name.capitalize.gsub('_',' ') if c.match( 'translation missing' )
|
87
87
|
c
|
88
88
|
end
|
89
89
|
|
90
|
+
############################################################################
|
91
|
+
# Returns label for field translated to current locale for usage browser header.
|
92
|
+
# Translation is provided by lang.helpers.label.table_name.field_name locale. If
|
93
|
+
# not found method will look in standard drgcms translations.
|
94
|
+
#
|
95
|
+
############################################################################
|
96
|
+
def t_label_for_column(options)
|
97
|
+
label = options['caption'] || options['label']
|
98
|
+
label = (options['name'] ? "helpers.label.#{@form['table']}.#{options['name']}" : '') if label.nil?
|
99
|
+
label = t(label) if label.match(/\./)
|
100
|
+
label = t("drgcms.#{options['name']}") if label.match('helpers.') # standard field names like created_by, updated_at
|
101
|
+
label
|
102
|
+
end
|
103
|
+
|
90
104
|
###########################################################################
|
91
105
|
# When select field is used on form options for select can be provided by
|
92
106
|
# helpers.label.table_name.choices4_name locale. This is how select
|
@@ -213,13 +227,14 @@ end
|
|
213
227
|
|
214
228
|
############################################################################
|
215
229
|
# Return html code for icon presenting boolean value. Icon is a picture of checked or unchecked box.
|
230
|
+
# If second parameter (fiel_name) is ommited value is supplied as first parameter.
|
216
231
|
#
|
217
232
|
# Parameters:
|
218
233
|
# [value] Boolean.
|
219
234
|
#
|
220
235
|
# Example:
|
221
236
|
# # usage from program
|
222
|
-
# dc_icon4_boolean(
|
237
|
+
# dc_icon4_boolean(document, field_name)
|
223
238
|
#
|
224
239
|
# # usage from form description
|
225
240
|
# columns:
|
@@ -227,16 +242,17 @@ end
|
|
227
242
|
# name: active
|
228
243
|
# eval: dc_icon4_boolean
|
229
244
|
############################################################################
|
230
|
-
def dc_icon_for_boolean(
|
231
|
-
|
245
|
+
def dc_icon_for_boolean(document = false, field_name = nil)
|
246
|
+
value = field_name.nil? ? document : document[field_name]
|
247
|
+
dc_dont?(value, true) ? fa_icon('check_box_outline_blank md-18') : fa_icon('check_box-o md-18')
|
232
248
|
end
|
233
249
|
|
234
250
|
############################################################################
|
235
251
|
#
|
236
252
|
############################################################################
|
237
|
-
def dc_icon4_boolean(
|
253
|
+
def dc_icon4_boolean(document = false, field_name = false) #nodoc
|
238
254
|
#dc_deprecate('dc_icon4_boolean will be deprecated. Use dc_icon_for_boolean instead.')
|
239
|
-
dc_icon_for_boolean(
|
255
|
+
dc_icon_for_boolean(document, field_name)
|
240
256
|
end
|
241
257
|
|
242
258
|
############################################################################
|
@@ -372,4 +388,55 @@ def dc_help_body
|
|
372
388
|
(params[:type] == 'index' ? @help['index'] : @help['form']).html_safe
|
373
389
|
end
|
374
390
|
|
391
|
+
############################################################################
|
392
|
+
# Will return code for help button if there is any help text available for the form.
|
393
|
+
############################################################################
|
394
|
+
def dc_help_button(result_set)
|
395
|
+
type = result_set.nil? ? 'form' : 'index'
|
396
|
+
form_name = CmsHelper.form_param(params) || CmsHelper.table_param(params)
|
397
|
+
url = url_for(controller: :dc_common, action: :help, type: type, f: form_name)
|
398
|
+
html = %(<div class="dc-help-icon dc-link-ajax" data-url=#{url}>#{fa_icon('question-circle')}</div>)
|
399
|
+
return html if type == 'form'
|
400
|
+
|
401
|
+
# check if index has any help available
|
402
|
+
help_file_name = @form['help'] || @form['extend'] || form_name
|
403
|
+
help_file_name = DcApplicationController.find_help_file(help_file_name)
|
404
|
+
if help_file_name
|
405
|
+
help = YAML.load_file(help_file_name)
|
406
|
+
return html if help['index']
|
407
|
+
end
|
408
|
+
''
|
409
|
+
end
|
410
|
+
|
411
|
+
############################################################################
|
412
|
+
# Will return html code for steps menu when form with steps is processed.
|
413
|
+
############################################################################
|
414
|
+
def dc_steps_menu_get(parent)
|
415
|
+
yaml = @form['form']['steps']
|
416
|
+
return '' unless yaml
|
417
|
+
|
418
|
+
html = %(<ul id="dc-steps-menu"><h2>#{t('drgcms.steps')}</h2>)
|
419
|
+
control = @form['control'] ? @form['control'] : @form['table']
|
420
|
+
parms = { controller: 'cmsedit', action: 'run', control: "#{control}.steps",
|
421
|
+
table: CmsHelper.table_param(params),
|
422
|
+
form_name: CmsHelper.form_param(params),
|
423
|
+
id: @record.id }
|
424
|
+
|
425
|
+
yaml.sort.each_with_index do |data, i|
|
426
|
+
n = i + 1
|
427
|
+
step = data.last # it's an array
|
428
|
+
url = case params[:step].to_i
|
429
|
+
when n + 1 then url_for(parms.merge({ step: n + 1, next_step: n}))
|
430
|
+
when n then url_for(parms.merge({ step: n, next_step: n}))
|
431
|
+
when n - 1 then url_for(parms.merge({ step: n - 1, next_step: n}))
|
432
|
+
else
|
433
|
+
''
|
434
|
+
end
|
435
|
+
_class = url.present? ? 'dc-link-ajax' : ''
|
436
|
+
_class << (params[:step].to_i == n ? ' active' : '')
|
437
|
+
html << %(<li class="#{_class}" data-url="#{url}">#{step['title']}</li>)
|
438
|
+
end
|
439
|
+
html << '</ul>'
|
440
|
+
end
|
441
|
+
|
375
442
|
end
|