diff options
Diffstat (limited to 'addons/web/static/src/xml/base.xml')
| -rw-r--r-- | addons/web/static/src/xml/base.xml | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index e2ecd16f89d..76230befea5 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -243,6 +243,7 @@ <t t-call="HiddenInputFile"> <t t-set="fileupload_id" t-value="widget.fileupload_id"/> <t t-set="fileupload_action" t-translation="off">/web/binary/upload_attachment</t> + <t t-set="multi_upload" t-value="true"/> <input type="hidden" name="model" t-att-value="widget.dataset and widget.dataset.model"/> <input type="hidden" name="id" t-att-value="widget.model_id"/> <input type="hidden" name="session_id" t-att-value="widget.session.session_id" t-if="widget.session.override_session"/> @@ -380,7 +381,8 @@ t-att-data-field="column.id" ><t t-raw="render_cell(record, column)"/></td> </t> - <td t-if="options.deletable" class='o_list_record_delete'> + <!-- DO NOT FORWARDPORT, ONLY FOR SAAS-15 --> + <td t-if="options.deletable || typeof record.attributes.id !== 'number'" class='o_list_record_delete'> <span name="delete" class="fa fa-trash-o"/> </td> </tr> @@ -801,7 +803,7 @@ </div> <div t-name="FieldSelector" class="o_field_selector"> - <input type="text" t-att-value="widget.chain" t-att-readonly="!(widget.debug) and 1 or None"/> + <input type="text" t-att-value="widget.chain" t-att-readonly="!(widget.options.debugMode) and 1 or None"/> <div class="o_field_selector_controls" tabindex="0"> <i class="fa fa-exclamation-triangle o_field_selector_warning hidden" title="Invalid field chain"/> </div> @@ -817,13 +819,15 @@ </div> </div> <ul t-name="FieldSelector.page" t-attf-class="o_field_selector_page #{animation}"> - <li t-foreach="lines" t-as="line" - t-attf-class="o_field_selector_item #{line.relation and 'o_field_selector_next_page' or 'o_field_selector_select_button'}#{line_index == 0 and ' active' or ''}" - t-att-data-name="line.name"> - <t t-esc="line.string"/> - <div t-if="debug" class="text-muted o_field_selector_item_title"><t t-esc="line.name"/> (<t t-esc="line.type"/>)</div> - <i t-if="line.relation" class="fa fa-chevron-right o_field_selector_relation_icon" t-att-data-name="line.name"/> - </li> + <t t-foreach="lines" t-as="line"> + <t t-set="relationToFollow" t-value="followRelations && line.relation"/> + <li t-attf-class="o_field_selector_item #{relationToFollow and 'o_field_selector_next_page' or 'o_field_selector_select_button'}#{line_index == 0 and ' active' or ''}" + t-att-data-name="line.name"> + <t t-esc="line.string"/> + <div t-if="debug" class="text-muted o_field_selector_item_title"><t t-esc="line.name"/> (<t t-esc="line.type"/>)</div> + <i t-if="relationToFollow" class="fa fa-chevron-right o_field_selector_relation_icon"/> + </li> + </t> </ul> <t t-name="web.datepicker"> @@ -1008,7 +1012,7 @@ <input type="hidden" name="csrf_token" t-att-value="csrf_token"/> <input type="hidden" name="session_id" value="" t-if="widget.session.override_session"/> <input type="hidden" name="callback" t-att-value="fileupload_id"/> - <input t-if="widget.widget!='image'" type="file" class="o_form_input_file" name="ufile"/> + <input t-if="widget.widget!='image'" type="file" class="o_form_input_file" name="ufile" t-att="{'multiple': multi_upload ? 'multiple' : null}"/> <input t-if="widget.widget=='image'" type="file" class="o_form_input_file" name="ufile" accept="image/*"/> <t t-raw="0"/> </form> @@ -1022,6 +1026,7 @@ <t t-call="HiddenInputFile"> <t t-set="fileupload_id" t-value="widget.fileupload_id"/> <t t-set="fileupload_action" t-translation="off">/web/binary/upload_attachment</t> + <t t-set="multi_upload" t-value="true"/> <input type="hidden" name="model" t-att-value="widget.view.model"/> <input type="hidden" name="id" value="0"/> <input t-if="widget.session.override_session" type="hidden" name="session_id" t-att-value="widget.session.session_id"/> @@ -1038,23 +1043,24 @@ <t t-if="!widget.get('effective_readonly')"> <div t-foreach="values" t-as="id" class="oe_attachment"> <t t-set="file" t-value="widget.data[id]"/> - <span t-if="file.upload or file.percent_loaded<100" - t-att-title="(file.name || file.filename) + ((file.date)? (' \n(' + file.date + ')') : '')" - t-att-name="file.name || file.filename"> - <span class="oe_fileuploader_in_process">...Upload in progress...</span> - <t t-raw="file.name || file.filename"/> - </span> - <t t-if="!file.upload or file.percent_loaded>=100"> + <t t-if="!file.upload"> <div> <a href="#" class="fa fa-times pull-right oe_delete" title="Delete this file" t-att-data-id="file.id"/> <t t-raw="file.name || file.filename"/> </div> <a class="o_image" target="_blank" t-att-href="file.url" - t-att-title="(file.name || file.filename) + ((file.date)? (' \n(' + file.date + ')') : '')" + t-att-title="file.name" t-att-data-mimetype="file.mimetype" t-attf-data-src="/web/image/#{file.id}/100x80"/> </t> </div> + <div t-foreach="widget.files_uploading" t-as="file" class="oe_attachment"> + <div>Uploading...</div> + <a t-att-title="file.name" t-att-name="file.name" class="o_image"> + <i class="fa fa-spinner fa-spin fa-5x fa-fw"></i> + </a> + <div><t t-esc="file.name"/></div> + </div> </t> </div> <div t-name="SearchView" class="o_searchview"> @@ -1212,7 +1218,8 @@ <span class="fa fa-star"/> Favorites <span class="caret"/> </button> <ul class="dropdown-menu o_favorites_menu" role="menu"> - <li class="divider"/> + <li class="divider user_filter"/> + <li class="divider shared_filter"/> <li class="o_save_search o_closed_menu"> <a href="#">Save current search</a> </li> |
