From 0e068ded10d4027814377efce898c2ff7886575c Mon Sep 17 00:00:00 2001 From: alexisben <alexiben7@gmail.com> Date: Thu, 10 Mar 2022 18:46:27 +0100 Subject: [PATCH] Add organization button on partner block --- .../blocks/templates/partners/_edit.html.erb | 24 +++++++++++++++---- .../templates/partners/_static.html.erb | 17 +++++++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/app/views/admin/communication/blocks/templates/partners/_edit.html.erb b/app/views/admin/communication/blocks/templates/partners/_edit.html.erb index 0f6137b2c..6181ea767 100644 --- a/app/views/admin/communication/blocks/templates/partners/_edit.html.erb +++ b/app/views/admin/communication/blocks/templates/partners/_edit.html.erb @@ -1,8 +1,11 @@ -<a class="<%= button_classes('mb-4') %>" - v-on:click="data.elements.push({name: '', url: '', logo: {}})"> +<a class="<%= button_classes('mb-4 me-1') %>" + v-on:click="data.elements.push({name: '', url: '', logo: {}, type:'custom'})"> <%= t '.add_partner' %> </a> - +<a class="<%= button_classes('mb-4') %>" + v-on:click="data.elements.push({id:'', type:'organization'})"> + <%= t '.add_organization' %> +</a> <draggable :list="data.elements" class="list-group" handle=".partnerHandle"> <div v-for="(partner, index) in data.elements" class="list-group-item"> <div class="d-flex"> @@ -12,10 +15,23 @@ </a> </div> <div class="flex-fill"> - <div class="row"> + <div class="row" v-if="partner.type === 'organization'"> + <div class="col-lg-4"> + <select :id="'organization-' + index + '-id'" + class="form-select select" + v-model="partner.id"> + <option value="" disabled><%= t '.organization_placeholder' %></option> + <% current_university.organizations.ordered.each_with_index do |organization, index| %> + <option value="<%= organization.id %>"><%= organization.name %></option> + <% end %> + </select> + </div> + </div> + <div class="row" v-if="partner.type === 'custom'"> <div class="col-lg-4"> <label class="form-label" :for="'partner-' + index + '-name'"><%= t '.partner_name_label' %></label> + <input class="form-control mb-2" type="text" v-model="partner.name" diff --git a/app/views/admin/communication/blocks/templates/partners/_static.html.erb b/app/views/admin/communication/blocks/templates/partners/_static.html.erb index a16a625dd..38daaa3fb 100644 --- a/app/views/admin/communication/blocks/templates/partners/_static.html.erb +++ b/app/views/admin/communication/blocks/templates/partners/_static.html.erb @@ -1,9 +1,26 @@ <% if block.data.has_key?('elements') %> <% block.data['elements'].each do |partner| %> + <% if partner['type'] == 'organization' %> + <% organization = block.university.organizations.find partner['id'] %> + <% if organization %> + - is_organization: true + id: <%= partner['id'] %> + name: > + <%= prepare_text_for_static organization.name %> + <% if organization.url %> + url: >- + <%= prepare_text_for_static organization.url %> + <% end %> + <% if organization.logo.attached? %> + logo: "<%= organization.logo.blob.id %>" + <% end %> + <% end %> + <% else %> - name: > <%= prepare_text_for_static partner['name'] %> url: >- <%= prepare_text_for_static partner['url'] %> logo: "<%= prepare_media_for_static partner, 'logo' %>" + <% end %> <% end %> <% end %> -- GitLab