drg_cms 0.5.52.3 → 0.5.52.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6cd8a24b6fe78291f0381645570f80c9f37f02a2
4
- data.tar.gz: ae23416b365aad2e19b2a7d06db7d474f6522359
3
+ metadata.gz: ea79cbbc378571608364226320f13d300e1b0f8c
4
+ data.tar.gz: 77fd5dfe3c330b3d0ae59bc3895bd4cc3283090a
5
5
  SHA512:
6
- metadata.gz: 3be8e8ecade1f23a24678a1fb06cf0591407b4108435c4e559fefed4d1524f2a134f10c86db5c34744fe8cf9750927b0e05ab115d25a75b9a48dd7562730e868
7
- data.tar.gz: 62e72cfd6235f0965eca6936114a9a706d870aaf59ad59e79d33ac5addfab728c18041cfa7edd7771ebe74a5fb6a294dacbf4c26b8264ee303bc89d3d9a89384
6
+ metadata.gz: 36b5519ba85b2a272f51324c4ea23125dbc9efe69065798e853b4a01966c8851b63fd89eea06dc273c11876722fdc04c94202e41146884d6d0032501fc299e36
7
+ data.tar.gz: 2e9692ebed9d93f8dcebeaeeed060a0bd404b129e08f34e3ba759c32196e103b532e563a6951f8b2c03560f398dc2d5effe870f5075132d2c6defa7570df50fd
@@ -170,6 +170,17 @@ function dc_reload_window() {
170
170
  location.reload();
171
171
  }
172
172
 
173
+ /*******************************************************************
174
+ * Will select first editable input field on form. Works only when tab
175
+ * is selected. Still have to find out, what to do on initial display.
176
+ *******************************************************************/
177
+ function select_first_input_field(div_name) {
178
+ $(div_name + " :input:first").each( function() {
179
+ this.focus();
180
+ return true;
181
+ });
182
+ }
183
+
173
184
  /*******************************************************************
174
185
  * Will scroll to position on the screen. This is replacement for
175
186
  * location.hash, which doesn't work in Chrome.
@@ -188,6 +199,7 @@ $.fn.dc_scroll_view = function () {
188
199
  *
189
200
  *******************************************************************/
190
201
  $(document).ready( function() {
202
+
191
203
  /*******************************************************************
192
204
  * Register ad clicks
193
205
  *******************************************************************/
@@ -246,16 +258,16 @@ $(document).ready( function() {
246
258
  if (old_tab_id !== null) {
247
259
  $('#data_' + old_tab_id).toggleClass('div-hidden');
248
260
  $('#data_' + e.target.getAttribute("data-div")).toggleClass('div-hidden');
249
- // resize parent iframe if its size is less then selected div size
250
- var div_height = document.getElementById('data_' + e.target.getAttribute("data-div")).clientHeight + 120;
251
- // if (window.frameElement.clientHeight < div_height) {
261
+ // resize parent iframe to fit selected tab size
262
+ var div_height = document.getElementById('data_' + e.target.getAttribute("data-div")).clientHeight + 130;
252
263
  window.frameElement.style.height = div_height.toString() + 'px';
253
- // }
264
+ // it would be too easy $('#cmsform :input:enabled:visible:first').focus();
265
+ select_first_input_field('#data_' + e.target.getAttribute("data-div"));
254
266
  }
255
267
  });
256
268
 
257
269
  /*******************************************************************
258
- * Resize iframe_cms to the size of its contents. Make at least 500 px hight
270
+ * Resize iframe_cms to the size of its contents. Make at least 500 px high
259
271
  * unless on initial display.
260
272
  *******************************************************************/
261
273
  $('#iframe_cms').load( function() {
@@ -263,7 +275,7 @@ $(document).ready( function() {
263
275
  new_height = this.contentWindow.document.body.offsetHeight + 50;
264
276
  if (new_height < 500 & new_height > 60) new_height = 500;
265
277
  this.style.height = new_height + 'px';
266
- // remove_background_from_iframe(this.contentWindow.document);
278
+ // scroll to top
267
279
  $('#iframe_cms').dc_scroll_view();
268
280
  });
269
281
 
@@ -275,10 +287,9 @@ $(document).ready( function() {
275
287
  // console.log(this.contentWindow.document.body.offsetHeight);
276
288
  if (this.contentWindow.document.body.offsetHeight > 10) {
277
289
  this.style.height = (this.contentWindow.document.body.offsetHeight + 30) + 'px';
278
- // scroll to it
290
+ // scroll to top
279
291
  $('#iframe_edit').dc_scroll_view();
280
292
  }
281
- // remove_background_from_iframe(this.contentWindow.document);
282
293
  });
283
294
 
284
295
  /*******************************************************************
@@ -286,11 +297,7 @@ $(document).ready( function() {
286
297
  *******************************************************************/
287
298
  $('.dc-link-ajax').on('click', function(e) {
288
299
  var target = e.target;
289
- // if (e.target.src !== undefined) {
290
- // target = e.target.parent(); // picture
291
- // };
292
- // dumpAttributes(target);
293
- req = target.getAttribute("data-request");
300
+ var req = target.getAttribute("data-request");
294
301
  /* Get some values from elements on the page: */
295
302
  if (req == "script") {
296
303
  eval (target.getAttribute("data-script"));
@@ -145,6 +145,7 @@ color: #666;
145
145
  font-weight: bold;
146
146
  text-decoration: none;
147
147
  background: transparent;
148
+ padding: 8px 0;
148
149
  }
149
150
 
150
151
  .dc-link a:hover, .dc-animate a:hover, .dc-result a:hover {
@@ -404,8 +405,8 @@ background: transparent linear-gradient(to bottom, #eee 0%, #eee 100%) repeat sc
404
405
  border-bottom:1px solid #ccc;*/
405
406
  }
406
407
 
407
- .dc-form-table {
408
- width: 100%;
408
+ .dc-form {
409
+ width: 99.8%;
409
410
  padding: 0px;
410
411
  padding-top: 4px;
411
412
  border: 1px solid #ddd;
@@ -413,6 +414,11 @@ background: transparent linear-gradient(to bottom, #eee 0%, #eee 100%) repeat sc
413
414
  background-color: #fcfcfc;
414
415
  }
415
416
 
417
+ .dc-form .row-div {
418
+ display: flex;
419
+ align-items: center;
420
+ }
421
+
416
422
  .dc-form-info {
417
423
  padding: 8px;
418
424
  background-image: linear-gradient(to bottom, #dff0d8 0px, #c8e5bc 100%);
@@ -479,6 +485,7 @@ background: transparent linear-gradient(to bottom, #eee 0%, #eee 100%) repeat sc
479
485
  .dc-form-field {
480
486
  text-align: left;
481
487
  padding: 3px 2px;
488
+ z-index: 10;
482
489
  /*
483
490
  background-color: #f4f4f4;
484
491
  border-bottom: 1px solid #eee;
@@ -486,13 +493,14 @@ background: transparent linear-gradient(to bottom, #eee 0%, #eee 100%) repeat sc
486
493
  }
487
494
 
488
495
  .dc-readonly {
496
+ display: inline-block;
497
+ font-size: 14px;
489
498
  font-weight: normal;
499
+ color: #222;
490
500
  padding: 6px 3px;
491
501
  border: 2px solid #ddd;
492
502
  background-color: #eee;
493
503
  border-radius: 2px;
494
- color: #222;
495
- font-size: 14px;
496
504
  }
497
505
 
498
506
  .dc-color-odd {
@@ -544,7 +552,7 @@ border-bottom: 1px solid #eee;
544
552
  }
545
553
 
546
554
  .dc-separator {
547
- padding: 0px;
555
+ padding: 5px 0;
548
556
  border-top: 2px solid #ddd;
549
557
  }
550
558
 
@@ -568,7 +576,7 @@ border-radius: 2px;
568
576
  font-size: 1.2em;
569
577
  }
570
578
 
571
- /******* TOP MENU *********/
579
+ /******* TOP MENU *********/
572
580
  .cmsedit-top {
573
581
  width: 100%;
574
582
  background-color: #fff;
@@ -665,6 +673,10 @@ display: none;
665
673
  text-align: left;
666
674
  }
667
675
 
676
+ /*** JOURNAL **/
677
+ .dc-journal {width: 99%; }
678
+ .dc-journal div { padding: 4px;}
679
+
668
680
  /****** jquery ui-autocomplete widget ***************/
669
681
  .ui-autocomplete-input {
670
682
  font-style: italic;
@@ -691,6 +703,7 @@ color: #000;
691
703
  }
692
704
 
693
705
  .ui-autocomplete-border {
706
+ display: inline-block;
694
707
  border-radius: 2px;
695
708
  border: solid 2px #ddd;
696
709
  padding: 8px;
@@ -915,6 +928,7 @@ position:absolute;
915
928
  background-color: #f8f8f8;
916
929
  border: 1px solid #ddd;
917
930
  border-radius: 2px;
931
+ z-index: 100;
918
932
  }
919
933
 
920
934
  /************************** info popup *************************/
@@ -937,4 +951,20 @@ padding: 5px;
937
951
  background-color: #fff;
938
952
  padding: 10px;
939
953
  border: 2px solid #ddd;
940
- }
954
+ }
955
+
956
+ /****** MOBILE DEVICE *****/
957
+ @media only screen and (max-width: 600px) {
958
+ .dc-form .row-div {
959
+ display: block;
960
+ }
961
+ .dc-form-field {
962
+ width: 100%;
963
+ }
964
+ .dc-form-label {
965
+ text-align: left;
966
+ width: 100%;
967
+ padding-bottom: 2px;
968
+ white-space: nowrap;
969
+ }
970
+ }
@@ -585,8 +585,9 @@ def read_drg_cms_form
585
585
  @ids = ids.split(';').inject([]) { |r,v| r << v }
586
586
  # formname defaults to last table specified
587
587
  dc_deprecate("Parameter :formname will be deprecated in future. Use :form_name instead") if params[:formname]
588
- form_name = params[:formname] || params[:form_name] || @tables.last[1]
589
- @form = YAML.load_file( dc_find_form_file(form_name) )
588
+ form_name = params[:form_name] || @tables.last[1]
589
+ @form = YAML.load_file( dc_find_form_file(form_name) ) rescue nil
590
+ return unless @form
590
591
  # when form extends another form file.
591
592
  if @form['extend']
592
593
  form = YAML.load_file( dc_find_form_file(@form['extend']) )
@@ -611,7 +612,7 @@ end
611
612
  # load DRG form.
612
613
  ############################################################################
613
614
  def check_authorization
614
- params[:table] ||= params[:formname] || params[:form_name]
615
+ params[:table] ||= params[:form_name]
615
616
  # Just show menu
616
617
  # return show if params[:action] == 'show'
617
618
  return login if params[:id].in?(%w(login logout))
@@ -622,9 +623,12 @@ def check_authorization
622
623
  end
623
624
 
624
625
  read_drg_cms_form
626
+
625
627
  # Permissions can be also defined on form
628
+ if @form.nil?
629
+ render plain: t('drgcms.form_error')
626
630
  #TODO So far only can_view is used. Think about if using other permissions has sense
627
- if @form['permissions'].nil? or @form['permissions']['can_view'].nil? or
631
+ elsif @form['permissions'].nil? or @form['permissions']['can_view'].nil? or
628
632
  dc_user_has_role(@form['permissions']['can_view'])
629
633
  # Extend class with methods defined in drgcms_controls module. May include embedded forms therefor ; => _
630
634
  controls_string = (@form['controls'] ? @form['controls'] : params[:table].gsub(';','_')) + '_control'
@@ -103,12 +103,14 @@ def dc_get_site()
103
103
  @site
104
104
  end
105
105
 
106
- ####################################################################
107
- # Determine and return site record from url. It would be nice but it is not working.
108
- ####################################################################
109
- #def self.dc_get_site_() #:nodoc:
110
- # self.dc_get_site()
111
- #end
106
+ ##########################################################################
107
+ # Will set page title according to data on dc_page or dc_site
108
+ #
109
+ # Sets internal @page_title variable.
110
+ ##########################################################################
111
+ def set_page_title()
112
+ @page_title = @page.title.blank? ? "#{@page.subject} - #{@site.page_title}" : @page.title
113
+ end
112
114
 
113
115
  ########################################################################
114
116
  # Searches forms path for file_name and returns full file name or nil if not found.
@@ -326,7 +328,7 @@ def dc_process_default_request()
326
328
  # HOMEPAGE. When no parameters is set
327
329
  params[:path] = @site.homepage_link if params[:id].nil? and params[:path].nil?
328
330
  # some other process request. It shoud fail if not defined
329
- return eval(@site.request_processor) if !@site.request_processor.blank?
331
+ return send(@site.request_processor) unless @site.request_processor.blank?
330
332
 
331
333
  # Search for page
332
334
  pageclass = @site.page_table.classify.constantize
@@ -365,7 +367,7 @@ def dc_process_default_request()
365
367
  # Log only visits from non-editors
366
368
  dc_log_visit()
367
369
  end
368
- @page_title = @page.title.blank? ? "#{@site.page_title}-#{@page.subject}" : @page.title
370
+ set_page_title()
369
371
  get_design_and_render @design
370
372
  end
371
373
 
@@ -44,9 +44,9 @@ end
44
44
  # Called just after record is saved to DB.
45
45
  ######################################################################
46
46
  def dc_after_save()
47
- if params[:_record][:_update_menu] == '1'
48
- menu_class = dc_get_site.menu_class.classify.constantize
49
- menu_class.update_menu_item_link(@record)
47
+ if params[:_record] and params[:_record][:_update_menu] == '1'
48
+ # menu_class = dc_get_site.menu_class.classify.constantize
49
+ dc_get_site.menu_klass.update_menu_item_link(@record)
50
50
  end
51
51
  end
52
52
 
@@ -121,25 +121,26 @@ form:
121
121
 
122
122
  tabs:
123
123
  tab1:
124
- columns: 3
125
124
 
126
125
  10:
127
126
  name: name
128
127
  type: text_field
128
+ type: text_with_select
129
129
  type: hidden_field
130
130
  type: readonly
131
131
  type: file_select
132
-
133
- colspan: 2
132
+
134
133
  size: 50 or
135
134
  html:
136
135
  size: 50
136
+ group: 3
137
137
  40:
138
138
  name: dc_site_id
139
139
  type: select
140
140
  multiple: true || 1
141
141
  eval: "dc_choices4('model','description_field_name','_id',site: :with_nil)"
142
142
  eval: ModelName.choices4_site
143
+ eval: dc_big_table 'key-name'
143
144
  html:
144
145
  include_blank: true
145
146
 
@@ -47,39 +47,42 @@ form:
47
47
  5:
48
48
  name: operation
49
49
  type: text_field
50
+ readonly: yes
50
51
  html:
51
52
  size: 10
52
53
  10:
53
54
  name: time
54
55
  type: datetime_select
56
+ readonly: yes
55
57
  20:
56
58
  name: site_id
57
59
  type: select
58
60
  eval: DcSite.choices4_site
61
+ readonly: yes
59
62
  30:
60
63
  name: user_id
61
64
  type: text_autocomplete
62
65
  search: dc_user.name
63
- html:
64
- size: 30
66
+ readonly: yes
67
+ size: 30
65
68
  40:
66
69
  name: tables
67
70
  type: text_field
68
- html:
69
- size: 50
71
+ readonly: yes
72
+ size: 50
70
73
  50:
71
74
  name: doc_id
72
75
  type: text_field
73
- html:
74
- size: 25
76
+ readonly: yes
77
+ size: 25
75
78
  60:
76
79
  name: ids
77
80
  type: text_field
78
- html:
79
- size: 70
81
+ readonly: yes
82
+ size: 70
80
83
 
81
84
  70:
82
85
  name: ip
83
86
  type: text_field
84
- html:
85
- size: 15
87
+ readonly: yes
88
+ size: 15
@@ -74,7 +74,6 @@ EOT
74
74
  url['action'] = yaml['action'] || action
75
75
  url['table'] = yaml['table'] if yaml['table']
76
76
  url['form_name'] = yaml['form_name'] if yaml['form_name']
77
- url['form_name'] = yaml['formname'] if yaml['formname']
78
77
  end
79
78
  # html link options
80
79
  yhtml = yaml['html'] || {}
@@ -254,7 +253,6 @@ def dc_actions_for_result(document)
254
253
  parms['action'] = yaml['action'] if yaml['action']
255
254
  parms['table'] = yaml['table'] if yaml['table']
256
255
  parms['form_name'] = yaml['form_name'] if yaml['form_name']
257
- parms['form_name'] = yaml['formname'] if yaml['formname']
258
256
  parms['target'] = yaml['target'] if yaml['target']
259
257
  dc_link_or_ajax(yaml, parms)
260
258
  else # error.
@@ -313,7 +311,7 @@ def dc_clicks_for_result(document)
313
311
  opts[:controller] = yaml['controller'] || 'cmsedit'
314
312
  opts[:action] = yaml['action']
315
313
  opts[:table] = yaml['table']
316
- opts[:form_name] = yaml['form_name'] || yaml['formname']
314
+ opts[:form_name] = yaml['form_name']
317
315
  opts[:method] = yaml['method'] || 'get'
318
316
  opts[:id] = document['id']
319
317
  html << ' data-dblclick=' + url_for(opts)
@@ -551,7 +549,7 @@ def dc_actions_for_form()
551
549
  parms['controller'] = v['controller']
552
550
  parms['action'] = v['action']
553
551
  parms['table'] = v['table']
554
- parms['form_name'] = v['form_name'] || v['formname']
552
+ parms['form_name'] = v['form_name']
555
553
  parms['id'] = @record.id
556
554
  # additional parameters
557
555
  v['params'].each { |k,v| parms[k] = v } if v['params']
@@ -630,12 +628,7 @@ end
630
628
  # Creates top or bottom horizontal line on form.
631
629
  ############################################################################
632
630
  def top_bottom_line(yaml, columns=2)
633
- if yaml.class == Hash
634
- clas = yaml['class']
635
- style = yaml['style']
636
- end
637
- clas ||= 'dc-separator'
638
- "<tr><td>&nbsp;</td></tr><tr><td colspan=\"#{columns*2}\" class=\"#{clas}\" style=\"#{style}\"></td></tr><tr><td>&nbsp;</td></tr>"
631
+ '<div class="dc-separator"></div>'
639
632
  end
640
633
 
641
634
  ############################################################################
@@ -643,15 +636,15 @@ end
643
636
  ############################################################################
644
637
  def dc_fields_for_tab(fields) #:nodoc:
645
638
  @js ||= ''
646
- html = '<table class="dc-form-table">'
639
+ html = '<div class="dc-form">'
647
640
  labels_pos = dc_check_and_default(@form['form']['labels_pos'], 'right', ['top','left','right'])
648
- current_column = 0
649
641
  hidden_fields = ''
650
642
  odd_even = nil
643
+ group_option, group_count = 0, 0
651
644
  reset_cycle()
652
645
  # options and fields must be separated before sorting
653
- form_options = fields.select {|field| field.class != Integer }
654
- columns = form_options.try(:[],'columns') || 1
646
+ # form_options = fields.select {|field| field.class != Integer }
647
+ # columns = form_options.try(:[],'columns') || 1
655
648
  # Select form fields and sort them by key
656
649
  form_fields = fields.select {|field| field.class == Integer }
657
650
  form_fields.to_a.sort.each do |element|
@@ -664,11 +657,6 @@ def dc_fields_for_tab(fields) #:nodoc:
664
657
  hidden_fields << DrgcmsFormFields::HiddenField.new(self, @record, options).render
665
658
  next
666
659
  end
667
- # initialize when column is 0
668
- if current_column == 0
669
- odd_even = cycle('odd','even')
670
- current_column = columns
671
- end
672
660
  # label
673
661
  text = if options['text']
674
662
  t(options['text'], options['text'])
@@ -691,28 +679,39 @@ def dc_fields_for_tab(fields) #:nodoc:
691
679
  "Error: Code for field type #{options['type']} not defined!"
692
680
  end
693
681
  # Line separator
694
- html << top_bottom_line(options['top-line'], columns) if options['top-line']
695
- html << '<tr>' if current_column == columns
696
- colspan = options['colspan'] || 1
682
+ html << top_bottom_line(options['top-line']) if options['top-line']
683
+ # Begining of new row
684
+ if group_count == 0
685
+ html << '<div class="row-div">'
686
+ odd_even = cycle('odd','even')
687
+ group_count = options['group'] || 1
688
+ group_option = options['group'] || 1
689
+ end
697
690
  #
698
691
  html << if labels_pos == 'top'
699
- %Q[<td class="dc-form-label-top dc-color-#{odd_even} dc-align-left"
700
- title="#{help}" colspan="#{colspan*2}">
701
- <div><label for="record_#{options['name']}">#{text} </label></div>
702
- <div id="td_record_#{options['name']}">#{field_html}</div></td> ]
703
- else
704
- %Q[<td class="dc-form-label dc-color-#{odd_even} dc-align-#{labels_pos}" title="#{help}">
705
- <label for="record_#{options['name']}">#{text} </label></td>
706
- <td id="td_record_#{options['name']}" class="dc-form-field dc-color-#{odd_even}"
707
- colspan="#{colspan*2 - 1}">#{field_html}
708
- </td> ]
692
+ %Q[
693
+ <div class="dc-form-label-top dc-color-#{odd_even} dc-align-left" title="#{help}">
694
+ <label for="record_#{options['name']}">#{text} </label>
695
+ <div id="td_record_#{options['name']}">#{field_html}</div>
696
+ </div> ]
697
+ else
698
+ label_width = 14
699
+ # less place for label when more then 1 field per row
700
+ label_width = 10 if group_option > 1 and group_option != group_count
701
+ data_width = (94 - 10*group_option)/group_option
702
+ %Q[
703
+ <div class="dc-form-label dc-color-#{odd_even} dc-align-#{labels_pos}" style="width:#{label_width}%;" title="#{help}">
704
+ <label for="record_#{options['name']}">#{text} </label>
705
+ </div>
706
+ <div id="td_record_#{options['name']}" class="dc-form-field dc-color-#{odd_even}" style="width:#{data_width}%;">#{field_html}</div>
707
+ ]
709
708
  end
710
- # check if must go to next line
711
- current_column -= colspan
712
- html << '</tr>' if current_column == 0
713
- html << top_bottom_line(options['bottom-line'], columns) if options['bottom-line']
709
+ # check if must go to next row
710
+ group_count -= 1
711
+ html << '</div>' if group_count == 0
712
+ html << top_bottom_line(options['bottom-line']) if options['bottom-line']
714
713
  end
715
- html << '</table>' << hidden_fields
714
+ html << '</div>' << hidden_fields
716
715
  end
717
716
 
718
717
  ############################################################################
@@ -481,7 +481,7 @@ def dc_link_for_create(opts)
481
481
  title = opts.delete('title') #
482
482
  title = t(title, title) if title
483
483
  target = opts.delete('target') || 'iframe_cms'
484
- opts['form_name'] ||= opts['formname'] || opts['table'].to_s.split(';').last
484
+ opts['form_name'] ||= opts['table'].to_s.split(';').last
485
485
  opts['action'] = 'new'
486
486
  opts['controller'] ||= 'cmsedit'
487
487
  js = "$('##{target}').attr('src', '#{_origin.url_for(opts)}'); return false;"
@@ -511,7 +511,7 @@ def dc_link_for_edit(opts)
511
511
  icon = opts.delete('icon') || 'edit lg'
512
512
  opts['controller'] ||= 'cmsedit'
513
513
  opts['action'] ||= 'edit'
514
- opts['form_name'] ||= opts['formname'] || opts['table'].to_s.split(';').last
514
+ opts['form_name'] ||= opts['table'].to_s.split(';').last
515
515
  js = "$('##{target}').attr('src', '#{_origin.url_for(opts)}'); return false;"
516
516
  dc_link_to(nil, _origin.fa_icon(icon, class: 'dc-inline-link'), '#',
517
517
  { onclick: js, title: title, alt: 'Edit'})
@@ -931,7 +931,7 @@ def dc_choices4_cmsmenu()
931
931
  { controller: value['controller'],
932
932
  action: value['action'],
933
933
  table: value['table'],
934
- form_name: value['form_name'] || value['formname'] || value['table'],
934
+ form_name: value['form_name'] || value['table'],
935
935
  target: value['target'] || 'iframe_cms',
936
936
  }
937
937
  "<li>#{dc_link_to(t(value['caption']), value['icon'] || '', opts)}</li>"
@@ -1225,7 +1225,7 @@ def dc_iframe_edit(table, opts={})
1225
1225
  params[:action] = (params[:oper] and (params[:oper] == 'edit')) ? 'edit' : 'index'
1226
1226
  params[:action] = opts[:action] unless params[:oper]
1227
1227
  params[:table] ||= table
1228
- params[:form_name] ||= opts[:form_name] || opts[:formname] || table
1228
+ params[:form_name] ||= opts[:form_name] || table
1229
1229
  params[:id] ||= params[:idp] || opts[:id]
1230
1230
  params[:readonly] ||= opts[:readonly]
1231
1231
  params[:path] = nil
@@ -126,7 +126,7 @@ end
126
126
  # </div>
127
127
  ########################################################################
128
128
  def default
129
- html = ''
129
+ html = "<div class=\"#{@opts[:div_class]}\">"
130
130
  # Load all parts only once per call
131
131
  load_parts if @parent.parts.nil?
132
132
  dc_deprecate 'DcPart: Parameter location will be deprecated! Please use position keyword.' if @opts['location']
@@ -145,7 +145,7 @@ def default
145
145
  html << render_particle(part[0], @opts)
146
146
  end
147
147
  end
148
- html
148
+ html << "</div>"
149
149
  end
150
150
 
151
151
  ########################################################################
@@ -118,7 +118,7 @@ end
118
118
  ####################################################################
119
119
  def ro_standard(value=nil)
120
120
  value = @record[@yaml['name']] if value.nil? and @record.respond_to?(@yaml['name'])
121
- @html << (value.blank? ? '' : "<table class='dc-readonly'><td>#{value}</td></table>")
121
+ @html << (value.blank? ? '' : "<div class='dc-readonly'>#{value}</div>")
122
122
  self
123
123
  end
124
124
 
@@ -261,7 +261,7 @@ class Readonly < DrgcmsField
261
261
  ###########################################################################
262
262
  def render
263
263
  @html << @parent.hidden_field('record', @yaml['name']) # retain field as hidden field
264
- @html << '<table class="dc-readonly"><td>'
264
+ @html << '<div class="dc-readonly">'
265
265
 
266
266
  @html << if @yaml['eval']
267
267
  if @yaml['eval'].match('dc_name4_id')
@@ -279,7 +279,7 @@ def render
279
279
  else
280
280
  @parent.dc_format_value(@record[@yaml['name']],@yaml['format'])
281
281
  end
282
- @html << '</td></table>'
282
+ @html << '</div>'
283
283
  self
284
284
  end
285
285
  end
@@ -384,15 +384,15 @@ class JournalDiff < DrgcmsField
384
384
  ###########################################################################
385
385
  def render
386
386
  @yaml['name'] = 'old' if @record[@yaml['name']].nil?
387
- @html << '<table width="99%">'
387
+ @html << '<div class="dc-journal">'
388
388
  JSON.parse(@record[@yaml['name']]).each do |k,v|
389
389
  old_value = v.class == Array ? v[0] : v
390
390
  new_value = v.class == Array ? v[1] : v
391
- @html << "<tr><td style='background-color: #654ddd;'>#{@parent.check_box('select', k)} #{k}:</td></tr>
392
- <tr><td style='background-color: #ffe;'>- #{old_value}</td></tr>
393
- <tr><td style='background-color: #eff;'>+ #{new_value}</td></tr>"
391
+ @html << "<div style='background-color: #eee;'>#{@parent.check_box('select', k)} #{k}</div>
392
+ <div style='background-color: #fcc;'>-<br>#{old_value}</div>
393
+ <div style='background-color: #cfc;'>+<br>#{new_value}</div><br>"
394
394
  end
395
- @html << '</table>'
395
+ @html << '</div>'
396
396
  self
397
397
  end
398
398
  end
@@ -485,7 +485,7 @@ def render
485
485
  @yaml['html']['value'] = '' # must be. Otherwise it will look into record and return error
486
486
  @yaml['html']['placeholder'] = t('drgcms.search_placeholder')
487
487
  _name = '_' + @yaml['name']
488
- @html << '<table class="ui-autocomplete-table"><td><div class="ui-autocomplete-border">'
488
+ @html << '<div class="ui-autocomplete-border">'
489
489
  @html << @parent.link_to(@parent.fa_icon('plus-square lg', class: 'dc-animate dc-green'), '#',onclick: 'return false;') # dummy add. But it is usefull.
490
490
 
491
491
  record = record_text_for(@yaml['name'])
@@ -513,7 +513,7 @@ def render
513
513
  end
514
514
  end
515
515
  end
516
- @html << "</div></div></td></table>"
516
+ @html << "</div></div>"
517
517
  # Create text for div to be added when new category is selected
518
518
  link = @parent.link_to(@parent.fa_icon('remove lg', class: 'dc-animate dc-red'), '#',
519
519
  onclick: "$('#rec_id').hide(); var v = $('##{record}_#{@yaml['name']}_rec_id'); v.val(\"-\" + v.val());return false;")
@@ -1184,10 +1184,10 @@ def render
1184
1184
  elsif @record and @record[@yaml['name']]
1185
1185
  @record[@yaml['name']]
1186
1186
  end
1187
- # Found value to be written in field
1187
+ # Found value to be written in field. If field is not found write out value.
1188
1188
  if value
1189
1189
  record = t.find(value)
1190
- value_displayed = record.send(ret_name) if record
1190
+ value_displayed = record ? record.send(ret_name) : value
1191
1191
  end
1192
1192
  # return if readonly
1193
1193
  return ro_standard(value_displayed) if @readonly
@@ -1264,7 +1264,7 @@ class TextArea < DrgcmsField
1264
1264
  ###########################################################################
1265
1265
  def ro_standard
1266
1266
  value = @record[@yaml['name']]
1267
- @html << "<table class='dc-readonly'><td>#{value.gsub("\n",'<br>')}</td></table>" unless value.blank?
1267
+ @html << "<div class='dc-readonly'>#{value.gsub("\n",'<br>')}</div>" unless value.blank?
1268
1268
  self
1269
1269
  end
1270
1270
 
@@ -58,7 +58,8 @@ en:
58
58
  login: Login into CMS
59
59
  username: User name
60
60
  password: Password
61
-
61
+ form_error: Error loading form #{form_name}
62
+
62
63
  edit: Edit
63
64
  show: Prikaz
64
65
  new: New
@@ -58,7 +58,7 @@ sl:
58
58
  login: Prijava v CMS
59
59
  username: Uporabnik
60
60
  password: Geslo
61
-
61
+ form_error: Napaka pri branju forme #{form_name}
62
62
 
63
63
  edit: Urejanje
64
64
  show: Prikaz
@@ -1,4 +1,4 @@
1
1
  module DrgCms #:nodoc:
2
2
  # drg_cms gem version
3
- VERSION = "0.5.52.3"
3
+ VERSION = "0.5.52.5"
4
4
  end
@@ -2,7 +2,7 @@ class NewDrgFormGenerator < Rails::Generators::NamedBase
2
2
 
3
3
  source_root File.expand_path('../templates', __FILE__)
4
4
  #desc "This generator creates form for model at app/forms"
5
- #argument :formname, :type => :string, :default => ''
5
+ #argument :form_name, :type => :string, :default => ''
6
6
  class_option :tabs, :type => :boolean, :default => false, :description => "Create form with tabulators"
7
7
 
8
8
  ###########################################################################
@@ -11,12 +11,12 @@ class_option :tabs, :type => :boolean, :default => false, :description => "Creat
11
11
  def create_form_file
12
12
  #:TODO: find out how to prevent error when model class is not defined
13
13
  @file_name = file_name
14
- formname = file_name #if formname.size == 0
14
+ form_name = file_name #if formname.size == 0
15
15
  @model = file_name.classify.constantize rescue nil
16
16
  return (p "Model #{file_name.classify} not found! Aborting.") if @model.nil?
17
17
  #
18
18
  yml = top_level_options + index_options + result_set_options + form_top_options + form_fields_options + localize_options
19
- create_file "app/forms/#{formname}.yml", yml
19
+ create_file "app/forms/#{form_name}.yml", yml
20
20
  end
21
21
 
22
22
  private
@@ -52,7 +52,7 @@ index:
52
52
  # controller: controller_name
53
53
  # action: action_name
54
54
  # table: table_name
55
- # formname: form_name
55
+ # form_name: form_name
56
56
 
57
57
  EOT
58
58
  end
@@ -75,7 +75,7 @@ result_set:
75
75
  # controller: controller_name
76
76
  # action: action_name
77
77
  # table: table_name
78
- # formname: form_name
78
+ # form_name: form_name
79
79
  # target: target
80
80
  # method: (get),put,post
81
81
  #
@@ -172,7 +172,7 @@ def embedded_form_field(offset)
172
172
  yml << ' '*offset + "#{field_index}:\n"
173
173
  yml << ' '*(offset+2) + "name: #{embedded_name}\n"
174
174
  yml << ' '*(offset+2) + "type: embedded\n"
175
- yml << ' '*(offset+2) + "formname: #{embedded_name[0,embedded_name.size - 1]}\n"
175
+ yml << ' '*(offset+2) + "form_name: #{embedded_name[0,embedded_name.size - 1]}\n"
176
176
  yml << '#' + ' '*(offset+2) + "html:\n"
177
177
  yml << '#' + ' '*(offset+4) + "height: 500\n"
178
178
  field_index += 10
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drg_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.52.3
4
+ version: 0.5.52.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damjan Rems
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-08 00:00:00.000000000 Z
11
+ date: 2018-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails