The system completely changed. I also had to adapt classes to new screen breakpoints. hidden/hide -> d-none show -> d-block hidden-xs -> d-none d-md-(block/inline/...) hidden-sm -> d-md-none d-lg-(block/inline/...) hidden-md -> d-lg-none d-xl-(block/inline/...) hidden-lg -> d-xl-none visible-xs-* -> d-* d-md-none visible-sm-* -> d-none d-md-* d-lg-none visible-md-* -> d-none d-lg-* d-xl-none visible-lg-* -> d-none d-xl-* hidden-print -> d-print-none visible-print-* -> d-none d-print-* ... and all possible combination of those had to be handled too.
23 lines
1.2 KiB
XML
23 lines
1.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<templates id="template" xml:space="preserve">
|
|
<t t-name="project.SetCoverModal">
|
|
<div t-if="attachment_ids.length > 0" class="ml32 mr0 o_kanban_task_cover_container">
|
|
<t t-foreach="attachment_ids" t-as="attachment">
|
|
<div t-attf-class="o_kanban_task_cover_image#{cover_id == attachment['id'] ? ' o_selected' : ''}">
|
|
<img t-attf-src="/web/image/#{attachment['id']}?unique=1" t-att-data-id="attachment['id']" t-att-data-name="attachment['name']" alt="Attachment"/>
|
|
</div>
|
|
</t>
|
|
</div>
|
|
<div t-if="attachment_ids.length == 0">There is no available image to be set as cover.</div>
|
|
<span class="d-none">
|
|
<t t-call="HiddenInputFile">
|
|
<t t-set="fileupload_id" t-value="widget.imageUploadID" />
|
|
<t t-set="fileupload_action" t-translation="off">/web/binary/upload_attachment</t>
|
|
<input type="hidden" name="model" t-att-value="widget.modelName" />
|
|
<input type="hidden" name="id" t-att-value="widget.id" />
|
|
<input type="hidden" name="session_id" t-att-value="widget.getSession().session_id" />
|
|
</t>
|
|
</span>
|
|
</t>
|
|
</templates>
|