drg_cms 0.6.1.5 → 0.6.1.11
Sign up to get free protection for your applications and to get access to all the features.
- 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
|