|
| 1 | +<% condition = condition ||= nil %> |
| 2 | + |
1 | 3 | <div class="row condition-partial mb-3"> |
2 | 4 | <% |
3 | | - action_type_arr = [["removes", :remove], ["adds notification", :add_webhook]] |
4 | | - name_start = "conditions[]condition_" + condition_no.to_s |
| 5 | + action_type_arr = [["removes", :remove], ["adds notification", :add_webhook]] |
| 6 | + # name_start = "conditions[]condition_" + condition_no.to_s |
| 7 | + name_start = "conditions[#{condition_no.to_s}]" |
5 | 8 | remove_question_collection = later_question_list(question) |
6 | 9 | condition_exists = local_assigns.has_key? :condition |
7 | 10 | type_default = condition_exists ? (condition[:action_type] == "remove" ? :remove : :add_webhook) : :remove |
|
10 | 13 | grouped_options_for_select(remove_question_collection) |
11 | 14 | multiple = (question.question_format.multiselectbox? || question.question_format.checkbox?) |
12 | 15 | %> |
13 | | - <div class="col-md-3 pe-2"> |
14 | | - <%= select_tag(:question_option, options_from_collection_for_select(question.question_options.sort_by(&:number), "id", "text", |
15 | | - condition_exists ? condition[:question_option_id] : question.question_options.sort_by(&:number)[0]), {class: 'form-select regular', 'data-bs-style': 'dropdown-toggle bg-white px-4 py-3', name: name_start + "[question_option][]"}) %> |
16 | | - </div> |
17 | | - <div class="col-md-3 pe-2"> |
18 | | - <%= select_tag(:action_type, options_for_select(action_type_arr, type_default), {name: name_start + "[action_type]", class: 'action-type form-select narrow', 'data-bs-style': 'dropdown-toggle bg-white px-4 py-3'}) %> |
| 16 | + |
| 17 | + <%# If this is a new condition then display the interactive controls. otherwise just display the logic %> |
| 18 | + <% if condition.nil? %> |
| 19 | + <div class="form-label bold">Add condition</div> |
| 20 | + <div class="row mb-3"> |
| 21 | + <div class="col-md-9 pe-2"> |
| 22 | + <div class="form-label bold"><%= _('Option') %></div> |
| 23 | + <%= select_tag(:question_option, options_from_collection_for_select(question.question_options.sort_by(&:number), "id", "text", |
| 24 | + condition_exists ? condition[:question_option_id] : question.question_options.sort_by(&:number)[0]), {class: 'form-select regular', 'data-bs-style': 'dropdown-toggle bg-white px-4 py-3', name: name_start + "[question_option][]"}) %> |
| 25 | + </div> |
| 26 | + <div class="col-md-3 pe-2"> |
| 27 | + <div class="form-label bold"><%= _('Action') %></div> |
| 28 | + <%= select_tag(:action_type, options_for_select(action_type_arr, type_default), {name: name_start + "[action_type]", class: 'action-type form-select narrow', 'data-bs-style': 'dropdown-toggle bg-white px-4 py-3'}) %> |
| 29 | + </div> |
19 | 30 | </div> |
20 | | - <div class="col-md-3 pe-2"> |
21 | | - <div class="remove-dropdown"> |
22 | | - <%= select_tag(:remove_question_id, remove_question_group, {name: name_start + "[remove_question_id][]", class: 'form-select regular', multiple: true, 'data-bs-style': 'dropdown-toggle bg-white px-4 py-3'}) %> |
| 31 | + <div class="row d-flex mb-3"> |
| 32 | + <div class="col-md-10 pe-2"> |
| 33 | + <div class="form-label bold"><%= _('Target') %></div> |
| 34 | + <div class="remove-dropdown"> |
| 35 | + <%= select_tag(:remove_question_id, remove_question_group, {name: name_start + "[remove_question_id][]", class: 'form-select regular', multiple: true, 'data-bs-style': 'dropdown-toggle bg-white px-4 py-3'}) %> |
| 36 | + </div> |
| 37 | + <div class="webhook-replacement display-off my-auto text-center"> |
| 38 | + <%= link_to _('Edit email'), '#' %> |
| 39 | + </div> |
| 40 | + <%= hidden_field_tag(name_start + "[number]", condition_no) %> |
23 | 41 | </div> |
24 | | - <div class="webhook-replacement display-off my-auto text-center"> |
25 | | - <%= link_to _('Edit email'), '#' %> |
| 42 | + <div class="col-md-2 align-self-center"> |
| 43 | + <a href="#anotherurl" class="delete-condition btn btn-primary"><%= _('Remove') %></a> |
26 | 44 | </div> |
| 45 | + <%= render partial: 'org_admin/conditions/webhook_form', locals: {name_start: name_start, condition_no: condition_no} %> |
27 | 46 | </div> |
28 | | - <%= hidden_field_tag(name_start + "[number]", condition_no) %> |
| 47 | + <% else %> |
| 48 | + <% |
| 49 | + qopt = condition[:question_option_id].any? ? QuestionOption.find_by(id: condition[:question_option_id].first): nil |
| 50 | + # qopts = condition[:question_option_id].any? ? QuestionOption.find_by(id: condition[:question_option_id]): [] |
| 51 | + rquesArray = condition[:remove_question_id].any? ? Question.where(id: condition[:remove_question_id]) : nil |
| 52 | + # rques = condition[:remove_question_id].any? ? Question.find_by(id: condition[:remove_question_id].first) : nil |
| 53 | + %> |
| 54 | + <div class="row condition-partial mb-3"> |
| 55 | + <div class="col-md-3 pe-2"> |
| 56 | + <%= qopt[:text]&.slice(0, 25) %> |
| 57 | + <%= hidden_field_tag(name_start + "[question_option][]", condition[:question_option_id]) %> |
| 58 | + </div> |
| 59 | + <div class="col-md-3 pe-2"> |
| 60 | + <%= condition[:action_type] == 'remove' ? 'Remove' : 'Email' %> |
| 61 | + <%= hidden_field_tag(name_start + "[action_type]", condition[:action_type]) %> |
| 62 | + </div> |
| 63 | + <div class="col-md-3 pe-2"> |
| 64 | + <% if !rquesArray.nil? %> |
| 65 | + <% rquesArray.each do |rques| %> |
| 66 | + Question <%= rques[:number] %>: <%= rques.text.gsub(%r{</?p>}, '').slice(0, 50) %> |
| 67 | + <%= '...' if rques.text.gsub(%r{</?p>}, '').length > 50 %> |
| 68 | + <br> |
| 69 | + <% end %> |
| 70 | + <%= hidden_field_tag(name_start + "[remove_question_id][]", condition[:remove_question_id]) %> |
| 71 | + <% else %> |
| 72 | + <% |
| 73 | + hook_tip = "Name: #{condition[:webhook_data]['name']}\nEmail: #{condition[:webhook_data]['email']}\n" |
| 74 | + hook_tip += "Subject: #{condition[:webhook_data]['subject']}\nMessage: #{condition[:webhook_data]['message']}" |
| 75 | + %> |
| 76 | + <span title="<%= hook_tip %>"><%= condition[:webhook_data]['email'] %></span> |
| 77 | + <%= hidden_field_tag(name_start + "[webhook-email]", condition[:webhook_data]['email']) %> |
| 78 | + <%= hidden_field_tag(name_start + "[webhook-name]", condition[:webhook_data]['name']) %> |
| 79 | + <%= hidden_field_tag(name_start + "[webhook-subject]", condition[:webhook_data]['subject']) %> |
| 80 | + <%= hidden_field_tag(name_start + "[webhook-message]", condition[:webhook_data]['message']) %> |
| 81 | + <% end %> |
| 82 | + |
| 83 | + </div> |
| 84 | + <%= hidden_field_tag(name_start + "[number]", condition_no) %> |
29 | 85 |
|
30 | | - <div class="col-md-3"> |
31 | | - <a href="#anotherurl" class="delete-condition"><%= _('Remove') %></a> |
| 86 | + <div class="col-md-3"> |
| 87 | + <a href="#anotherurl" class="delete-condition"><%= _('Remove') %></a> |
| 88 | + </div> |
32 | 89 | </div> |
33 | | - |
34 | | - <%= render partial: 'org_admin/conditions/webhook_form', locals: {name_start: name_start, condition_no: condition_no} %> |
| 90 | + <% end %> |
35 | 91 | </div> |
0 commit comments