diff options
Diffstat (limited to 'addons/web/static/src/xml/base.xml')
| -rw-r--r-- | addons/web/static/src/xml/base.xml | 255 |
1 files changed, 152 insertions, 103 deletions
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 24defe23e2e..393cb46143c 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -414,11 +414,12 @@ </t> <t t-name="ViewManager"> <table class="view-manager-main-table"> + <tbody> <tr> <td class="view-manager-main-content"> <div class="oe-view-manager-header"> <h2 class="oe_view_title" t-if="self.flags.display_title !== false"> - <t t-esc="self.display_title()"/> + <span class="oe_view_title_text"><t t-esc="self.display_title()"/></span> </h2> <div class="oe_vm_switch"> <t t-if="views.length != 1" t-foreach="views" t-as="view"> @@ -439,22 +440,31 @@ </t> </td> </tr> + </tbody> </table> </t> <t t-extend="ViewManager" t-name="ViewManagerAction"> - <t t-jquery=".oe-view-manager-header" t-operation="prepend"> - <blockquote t-if="self.action.help and !self.flags.low_profile - and !(self.action.id in self.session.hidden_menutips)"> - <p><t t-esc="self.action.help"/></p> - <div> - <button type="button" name="hide">Hide this tip</button> - <button type="button" name="disable">Disable all tips</button> - </div> - </blockquote> - <a class="oe-shortcut-toggle" title="Add / Remove Shortcut..." - href="javascript: void(0)"> </a> - <button t-if="self.session.debug" class="oe_get_xml_view"> + <t t-jquery=".view-manager-main-table tbody" t-operation="prepend"> + <tr> + <td class="oe_view_manager_menu_tips" colspan="2"> + <blockquote t-if="self.action.help and !self.flags.low_profile + and !(self.action.id in self.session.hidden_menutips)"> + <p><t t-esc="self.action.help"/></p> + <div> + <button type="button" name="hide">Hide this tip</button> + <button type="button" name="disable">Disable all tips</button> + </div> + </blockquote> + </td> + </tr> + </t> + <t t-jquery="h2.oe_view_title" t-operation="prepend"> + <a t-if="self.flags.display_title !== false" class="oe-shortcut-toggle" title="Add / Remove Shortcut..." + href="javascript: void(0)"> </a> + </t> + <t t-jquery="h2.oe_view_title" t-operation="after"> + <button t-if="self.session.debug and self.flags.display_title !== false" class="oe_get_xml_view"> View#<span></span> </button> </t> @@ -530,16 +540,17 @@ t-att-id="'treerow_' + record.id" t-att-data-id="record.id" t-att-data-level="level + 1"> <t t-set="children" t-value="record[children_field]"/> - <t t-set="has_children" t-value="children and children.length"/> + <t t-set="class" t-value="children and children.length ? 'treeview-tr' : 'treeview-td'"/> <td t-foreach="fields_view" t-as="field" t-if="!field.attrs.modifiers.tree_invisible" t-att-data-id="record.id" t-att-style="color_for(record) + (!field_index ? 'background-position: ' + 19*level + 'px; padding-left: ' + 19*level + 'px;' : '')" - t-att-class="!field_index and has_children ? 'treeview-tr' : 'treeview-td'"> + t-att-class="class"> <span t-if="!field.attrs.modifiers.invisible"> <t t-esc="render(record[field.attrs.name], fields[field.attrs.name])" /> </span> + <t t-set="class" t-value="'treeview-td'"/> </td> </tr> @@ -625,18 +636,9 @@ </td> </t> - <t t-if="options.radio"> - <th t-if="options.selectable" class="oe-record-selector" width="1"> - <input type="radio" name ="radiogroup"/> - </th> - </t> - <t t-if="!options.radio"> - <th t-if="options.selectable" class="oe-record-selector" width="1"> - <input type="checkbox"/> - </th> - </t> - - + <th t-if="options.selectable" class="oe-record-selector" width="1"> + <input t-att-type="options.radio? 'radio': 'checkbox'" name ="radiogroup" t-att-checked="options.select_view_id == record.get('id')? true: null"/> + </th> <t t-foreach="columns" t-as="column"> <t t-set="align" t-value="column.type === 'integer' or column.type == 'float'"/> <td t-if="!column.meta and column.invisible !== '1'" t-att-title="column.help" @@ -647,7 +649,7 @@ </td> </t> <td t-if="options.deletable" class='oe-record-delete' width="1"> - <button type="button" name="delete">♻</button> + <button type="button" name="delete"></button> </td> </tr> <t t-name="ListView.row.form"> @@ -657,14 +659,8 @@ <t t-name="FormView"> <div class="oe_form_header"> <div class="oe_form_buttons" t-if="widget.options.action_buttons !== false"> - <button type="button" class="oe_form_button_save oe_form_on_editable">Save</button> - <button type="button" class="oe_form_button_toggle"> - <span class="oe_form_on_editable">Cancel</span> - <span class="oe_form_on_readonly">Edit</span> - </button> - <button type="button" class="oe_form_button_new oe_form_on_readonly">Create</button> - <button type="button" class="oe_form_button_duplicate oe_form_on_readonly">Duplicate</button> - <button type="button" class="oe_form_button_delete oe_form_on_readonly">Delete</button> + <button type="button" class="oe_form_button_save">Save</button> + <button type="button" class="oe_form_button_cancel">Cancel</button> </div> <div class="oe_form_pager" t-if="widget.options.pager !== false"> <button type="button" data-pager-action="first">First</button> @@ -678,6 +674,14 @@ </div> <t t-raw="frame.render()"/> </t> +<t t-name="PageView" t-extend="FormView"> + <t t-jquery=".oe_form_buttons" t-operation="inner"> + <button type="button" class="oe_form_button_edit">Edit</button> + <button type="button" class="oe_form_button_create">Create</button> + <button type="button" class="oe_form_button_duplicate">Duplicate</button> + <button type="button" class="oe_form_button_delete">Delete</button> + </t> +</t> <t t-name="FormView.sidebar.attachments"> <div class="oe-sidebar-attachments-toolbar"> <div class="oe-binary-file-set" style="float: right"> @@ -722,7 +726,6 @@ <t t-foreach="row" t-as="td"> <td t-att-colspan="td.colspan gt 1 ? td.colspan : undefined" t-att-width="td.width" - t-att-nowrap="td.nowrap or td.is_field_m2o? 'true' : undefined" t-att-valign="td.table ? 'top' : undefined" t-attf-class="oe_form_frame_cell #{td.classname} #{td.element_class}" > @@ -732,6 +735,11 @@ </tr> </table> </t> +<t t-name="WidgetFrame.readonly" t-extend="WidgetFrame"> + <t t-jquery=">table"> + this.attr('class', this.attr('class')+' oe_form_readonly'); + </t> +</t> <t t-name="WidgetGroup"> <t t-if="widget.string"> <fieldset class="oe_group_box"> @@ -854,15 +862,15 @@ t-att-name="widget.name" t-att-id="widget.element_id" t-attf-class="field_#{widget.type} #{_(['integer', 'float', 'float_time']).contains(widget.type) ? 'oe-number' : ''}" - t-attf-style="width: #{widget.field.translate ? '99' : '100'}%" + style="width: 100%" /> - <img class="oe_field_translate" t-if="widget.field.translate" t-att-src='widget.session.server + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"/> + <img class="oe_field_translate oe_input_icon" t-if="widget.field.translate" t-att-src='widget.session.server + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"/> </t> <t t-name="FieldChar.readonly"> <div t-att-id="widget.element_id" t-attf-class="field_#{widget.type} #{_(['integer', 'float', 'float_time']).contains(widget.type) ? 'oe-number' : ''}" - t-attf-style="width: #{widget.field.translate ? '99' : '100'}%"> + style="width: 100%"> </div> </t> <t t-name="FieldURI.readonly"> @@ -871,7 +879,7 @@ <t t-name="FieldEmail"> <table cellpadding="0" cellspacing="0" border="0" width="100%"> <tr> - <td width="100%"> + <td width="100%" style="position: relative"> <t t-call="FieldChar"/> </td> <td width="16"> @@ -885,7 +893,7 @@ <t t-name="FieldUrl"> <table cellpadding="0" cellspacing="0" border="0" width="100%"> <tr> - <td width="100%"> + <td width="100%" style="position: relative"> <t t-call="FieldChar"/> </td> <td width="16"> @@ -901,9 +909,9 @@ t-att-name="widget.name" t-att-id="widget.element_id" t-attf-class="field_#{widget.type}" - t-attf-style="width: #{widget.field.translate ? '99' : '100'}%" + style="width: 100%" ></textarea> - <img class="oe_field_translate" t-if="widget.field.translate" t-att-src='widget.session.server + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"/> + <img class="oe_field_translate oe_input_icon" t-if="widget.field.translate" t-att-src='widget.session.server + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"/> </t> <t t-name="web.datetimepicker"> <div class="oe_datepicker_root"> @@ -1131,15 +1139,17 @@ </form> </t> <t t-name="SearchView.managed-filters"> - <option value="_filters">-- Filters --</option> - <t t-set="i" t-value="0"/> - <t t-foreach="filters" t-as="filter"> - <option t-att-value="'get:' + i"><t t-esc="filter.name"/></option> - <t t-set="i" t-value="i+1"/> - </t> - <option value="_actions">-- Actions --</option> - <option value="save_filter">Save Filter</option> - <option value="manage_filters">Manage Filters</option> + <option/> + <optgroup label="-- Filters --"> + <t t-foreach="filters" t-as="filter"> + <option t-attf-value="get:#{filter_index}"><t t-esc="filter.name"/></option> + </t> + </optgroup> + <optgroup label="-- Actions --"> + <option value="save_filter">Save Filter</option> + <option value="add_to_dashboard">Add to Dashboard</option> + <option value="manage_filters">Manage Filters</option> + </optgroup> </t> <t t-name="SearchView.managed-filters.add"> <div> @@ -1148,6 +1158,16 @@ <p>(Any existing filter with the same name will be replaced)</p> </div> </t> +<t t-name="SearchView.add_to_dashboard"> + <div class="oe_forms"> + <p><b>Select Dashboard to add this filter to:</b></p> + <select style="width: 100%; margin-right: 1em;"> + <option t-foreach="dashboards" t-as="menu" t-att-value="menu.id" t-att-selected="(menu.id == selected_menu_id) || undefined"><t t-esc="menu.name"/></option> + </select> + <p><b>Title of new Dashboard item:</b></p> + <input type="text" style="width: 100%; margin-right: 1em;"/> + </div> +</t> <t t-name="SearchView.render_lines"> <table class="oe-searchview-render-line" border="0" cellspacing="0" cellpadding="0" t-foreach="lines" t-as="line"> @@ -1369,6 +1389,18 @@ <button type="button" class="oe_formopenpopup-form-save">Save</button> <button type="button" class="oe_formopenpopup-form-close">Cancel</button> </t> +<t t-extend="ListView.row"> + <!-- adds front & back padding to row being rendered after edition, if + necessary (if not selectable add front padding and if not deletable + add back padding), otherwise the row being added is missing columns + --> + <t t-jquery="> :first" t-operation="before"> + <td t-if="edited and !options.selectable" class="oe-listview-padding"/> + </t> + <t t-jquery="> :last" t-operation="after"> + <td t-if="edited and !options.deletable" class="oe-listview-padding"/> + </t> +</t> <t t-name="ListView.row.frame" t-extend="WidgetFrame"> <t t-jquery="tr"> $(document.createElement('t')) @@ -1380,10 +1412,8 @@ .replaceAll(this) .after($(document.createElement('td')).append( $(document.createElement('button')).attr({ - 'class': 'oe-edit-row-save', 'type': 'button'}).text('Save'))) - .before($(document.createElement('td')).append( - $(document.createElement('button')).attr({ - 'class': 'oe-edit-row-cancel', 'type': 'button'}).text('Cancel'))) + 'class': 'oe-edit-row-save', 'type': 'button'}) + .html(' '))) .unwrap(); </t> </t> @@ -1392,51 +1422,70 @@ <t t-call="view_editor.row"/> </table> </t> -<tr t-name="view_editor.row" class="oe_view_editor_row" t-att-id="'viewedit-' + rec.id" t-att-level="rec.level" t-foreach="data" t-as="rec"> - <td class="oe_view_editor_colum" width="85%"> - <table class="oe_view_editor_tree_grid"> - <tr> - <td width="16px" t-att-style="'background-position: ' + 20*rec.level + 'px; padding-left: ' + 20*rec.level + 'px'"> - <img t-if="rec.child_id.length" t-att-id="'parentimg-' + rec.id" - t-att-src='widget.session.server + "/web/static/src/img/collapse.gif"' width="16" height="16" border="0"/> - </td> - <td style="cursor: pointer;"> - <a style="text-decoration:none" href="javascript:void(0);"> <t t-esc="rec.name"/> </a> - </td> - </tr> - </table> - </td> - <td align="left" class="oe_view_editor_colum" width="15%"> - <table width="100%"> - <tr> - <td width="20%"> - <img t-if="rec.att_list.length" - id="side-add" t-att-src='widget.session.server + "/web/static/src/img/icons/gtk-add.png"' style="cursor: pointer;"/> - </td> - <td width="20%"> - <img id="side-remove" t-att-src='widget.session.server + "/web/static/src/img/icons/gtk-remove.png"' style="cursor: pointer;"/> - </td> - <td width="20%"> - <img t-if="rec.att_list.length" - id="side-edit" t-att-src='widget.session.server + "/web/static/src/img/icons/gtk-edit.png"' style="cursor: pointer;"/> - </td> - <td width="20%"> - <img t-if="rec.att_list.length" - id="side-up" t-att-src='widget.session.server + "/web/static/src/img/icons/gtk-go-up.png"' style="cursor: pointer;"/> - </td> - <td width="20%"> - <img t-if="rec.att_list.length" - id="side-down" t-att-src='widget.session.server + "/web/static/src/img/icons/gtk-go-down.png"' style="cursor: pointer;"/> - </td> - </tr> - </table> - </td> - <t t-if="rec.child_id.length"> - <t t-set="data" t-value="rec.child_id"/> - <t t-call="view_editor.row"/> - </t> -</tr> - +<t t-name="view_editor.row"> + <tr class="oe_view_editor_row" t-att-id="'viewedit-' + rec.id" t-att-level="rec.level" t-foreach="data" t-as="rec"> + <td class="oe_view_editor_colum" width="85%"> + <table class="oe_view_editor_tree_grid"> + <tr> + <td width="16px" t-att-style="'background-position: ' + 20*rec.level + 'px; padding-left: ' + 20*rec.level + 'px'"> + <img t-if="rec.child_id.length" t-att-id="'parentimg-' + rec.id" + src="/web/static/src/img/collapse.gif" width="16" height="16" border="0"/> + </td> + <td style="cursor: pointer;"> + <a style="text-decoration:none" href="javascript:void(0);"> + <t t-esc="rec.name"/> + </a> + </td> + </tr> + </table> + </td> + <td align="left" class="oe_view_editor_colum" width="15%"> + <table width="100%"> + <tr> + <td width="20%"> + <img t-if="rec.att_list.length" + id="side-add" src="/web/static/src/img/icons/gtk-add.png" style="cursor: pointer;"/> + </td> + <td width="20%"> + <img id="side-remove" src="/web/static/src/img/icons/gtk-remove.png" style="cursor: pointer;"/> + </td> + <td width="20%"> + <img t-if="rec.att_list.length and !_.include(no_properties, rec.att_list[0])" + id="side-edit" src="/web/static/src/img/icons/gtk-edit.png" style="cursor: pointer;"/> + </td> + <td width="20%"> + <img t-if="rec.att_list.length" + id="side-up" src="/web/static/src/img/icons/gtk-go-up.png" style="cursor: pointer;"/> + </td> + <td width="20%"> + <img t-if="rec.att_list.length" + id="side-down" src="/web/static/src/img/icons/gtk-go-down.png" style="cursor: pointer;"/> + </td> + </tr> + </table> + </td> + <t t-if="rec.child_id.length"> + <t t-set="data" t-value="rec.child_id"/> + <t t-call="view_editor.row"/> + </t> + </tr> +</t> +<t t-name="vieweditor_char"> + <input type="text" t-att-id="widget.name" class="field_char" size="50"/> +</t> +<t t-name="vieweditor_selection"> + <select t-att-id="widget.name" > + <t t-if="widget.selection" t-foreach="widget.selection" t-as="option"> + <option + t-att-value="typeof option === 'object' ? option[0] : option"> + <t t-esc="typeof option === 'object' ? option[1] : option"/> + </option> + </t> + </select> +</t> +<t t-name="vieweditor_boolean"> + <input type="checkbox" t-att-id="widget.name"/> +</t> <t t-name="ExportView"> <a id="exportview" href="javascript: void(0)" style="text-decoration: none;color: #3D3D3D;">Export</a> </t> @@ -1634,7 +1683,7 @@ </table> </t> <t t-name="ImportView.error"> - <p style="white-space:pre-line;">The import failed due to:<t t-esc="error.message"/></p> + <p style="white-space:pre;">The import failed due to:<t t-esc="error.message"/></p> <t t-if="error.preview"> <p>Here is a preview of the file we could not import:</p> <pre><t t-esc="error.preview"/></pre> |
