diff options
| author | Olivier Dony <odo@openerp.com> | 2012-10-01 16:53:08 +0200 |
|---|---|---|
| committer | Olivier Dony <odo@openerp.com> | 2012-10-01 16:53:08 +0200 |
| commit | 9e6920415e41a052cffa7b898bf044dbf82b5ccb (patch) | |
| tree | 05e8d64788da1ff9f65e7406e3ff3d96d58a5762 /addons/web/static/src/xml/base.xml | |
| parent | 4ed79f3457a0252dcee4780385dc474ff2af356e (diff) | |
| parent | 1370ae133d4477d0a7a2239732f529a1eef39824 (diff) | |
[MERGE] Sync with trunk
bzr revid: odo@openerp.com-20121001145308-ri5rp2cazxqxcxme
Diffstat (limited to 'addons/web/static/src/xml/base.xml')
| -rw-r--r-- | addons/web/static/src/xml/base.xml | 924 |
1 files changed, 440 insertions, 484 deletions
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 3764395dc13..fdf39633186 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -25,11 +25,18 @@ </div> </div> </t> +<t t-name="Tipsy.alert"> + <a class="oe_tooltip_close oe_e">[</a> + <span style="float:left; margin:2px 5px 0 0;" class="ui-icon ui-icon-alert ui-state-error"></span> + <div class="oe_tooltip_message"> + <t t-esc="message"/> + </div> +</t> <t t-name="CrashManager.warning"> - <table cellspacing="0" cellpadding="0" border="0" class="oe-dialog-warning"> + <table cellspacing="0" cellpadding="0" border="0" class="oe_dialog_warning"> <tr> - <td><img t-att-src='_s + "/web/static/src/img/warning.png"' class="oe-dialog-icon"/></td> + <td><img t-att-src='_s + "/web/static/src/img/warning.png"' class="oe_dialog_icon"/></td> <td> <p> <t t-js="d"> @@ -44,29 +51,6 @@ </table> </t> <t t-name="CrashManager.error"> - <t t-if="!session.openerp_entreprise"> - <span>Your version of OpenERP is unsupported. Support & maintenance services are available here: <a href="http://www.openerp.com/support-or-publisher-warranty-contract" target="_blank">OpenERP Entreprise</a>.</span> - </t> - <t t-if="session.openerp_entreprise"> - <div class="oe_error_send"> - <div> - <div class="oe_centeralign"><b>OpenERP Enterprise Contract.</b></div> - <div><br/>Your report will be sent to the OpenERP Enterprise team.<br/></div><br/> - <div> - <label>Summary:</label><br/> - <input id="issuename" type="text" class="oe_fielddiv"/> - </div><br/><br/> - <div> - <label>Description:</label><br/> - <textarea id="explanation" rows="6"></textarea> - </div><br/><br/> - <div> - <label>What you did:</label><br/> - <textarea id="remark" rows="6" ></textarea> - </div> - </div> - </div><br/> - </t> <div class="oe_error_detail"> <pre><t t-esc="error.message"/></pre> <hr/> @@ -77,7 +61,7 @@ <t t-name="Login"> <div class="oe_login"> <div class="oe_login_bottom"> </div> - <div class="oe_login_error_message">Invalid username or password</div> + <div class="oe_login_error_message"/> <div class="oe_login_pane"> <div class="oe_login_logo"><img src='/web/static/src/img/logo2.png'/></div> <form action="" method="post"> @@ -95,7 +79,7 @@ </form> <div class="oe_login_footer"> <a href="#" class="oe_login_manage_db">Manage Databases</a> | - <a href="http://www.openerp.com">Powered by <span>OpenERP</span></a> + <a href="http://www.openerp.com" target="_blank">Powered by <span>OpenERP</span></a> </div> </div> </div> @@ -114,68 +98,80 @@ </select> </t> + <t t-name="DatabaseManager"> - <div class="oe_database_manager"> - <div class="oe_database_manager_menu"> - <ul class="oe_form_notebook"> - <li><a href="#db_create">Create</a></li> - <li><a href="#db_drop">Drop</a></li> - <li><a href="#db_backup">Backup</a></li> - <li><a href="#db_restore">Restore</a></li> - <li><a href="#db_change_password">Password</a></li> - <li><a id="back_to_login" href="#">Back to Login</a></li> - </ul> - <form id="db_create" name="create_db_form" method="POST"> + <div class="oe_view_manager_view_form"> + <div class="oe_form"> + <form id="db_create" name="create_db_form" style="display: block;"> + <div class="oe_view_manager oe_view_manager_current"> + <div class="oe_view_manager_header" style="padding: 8px;"> + <div class="oe_header_row"> + <h2 class="oe_view_title"> + <span class="oe_view_title_text oe_breadcrumb_title">Create Database</span> + </h2> + <button type="submit" class="oe_button oe_highlight db_create">Create</button> + </div> + </div> + </div> <table align="center" class="db_option_table"> <tr> - <th colspan="2" class="option_string"> CREATE DATABASE </th> - </tr> - <tr> <td><label for="super_admin_pwd">Master password:</label></td> - <td><input type="password" name="super_admin_pwd" class="required" value="admin"/></td> + <td><input type="password" name="super_admin_pwd" class="required" value="admin" /></td> </tr> <tr> <td><label for="db_name">New database name:</label></td> - <td><input type="text" name="db_name" class="required" matches="^[a-zA-Z][a-zA-Z0-9_]+$" autofocus="true"/></td> + <td><input type="text" name="db_name" class="required" matches="^[a-zA-Z][a-zA-Z0-9_-]+$" autofocus="true"/></td> </tr> <tr> <td><label for="demo_data">Load Demonstration data:</label></td> - <td><input type="checkbox" name="demo_data"/></td> + <td class="oe_form_group_cell"> + <span class="oe_form_field oe_form_field_boolean"> + <input type="checkbox" name="demo_data" /> + </span> + </td> </tr> <tr> <td><label for="db_lang">Default language:</label></td> - <td> + <td class="oe_form_field oe_form_field_selection "> <select name="db_lang" t-if="widget.lang_list"> <t t-foreach="widget.lang_list" t-as="lang"> - <option t-att-value="lang[0]" t-att-selected="lang[0] === 'en_US' ? 'selected' : undefined"><t t-esc="lang[1]"/></option> + <option t-att-value="lang[0]" t-att-selected="lang[0] === 'en_US' ? 'selected' : undefined"> + <t t-esc="lang[1]" /> + </option> </t> </select> </td> </tr> <tr> <td><label for="create_admin_pwd">Admin password:</label></td> - <td><input type="password" name="create_admin_pwd" class="required"/></td> + <td><input type="password" name="create_admin_pwd" class="required" /></td> </tr> <tr> <td><label for="create_confirm_pwd">Confirm password:</label></td> <td><input type="password" name="create_confirm_pwd" class="required" equalTo="input[name=create_admin_pwd]"/></td> </tr> - <tr> - <td colspan="2" align="right"><button class="oe_button">Create</button></td> - </tr> </table> </form> - <form id="db_drop" name="drop_db_form" method="POST"> + <form id="db_drop" name="drop_db_form" style="display: none; "> + <div class="oe_view_manager oe_view_manager_current"> + <div class="oe_view_manager_header" style="padding: 8px;"> + <div class="oe_header_row"> + <h2 class="oe_view_title"> + <span class="oe_view_title_text oe_breadcrumb_title">Drop Database</span> + </h2> + <button type="submit" class="oe_button oe_highlight db_drop">Drop</button> + </div> + </div> + </div> <table align="center" class="db_option_table"> <tr> - <th colspan="2" class="option_string"> DROP DATABASE </th> - </tr> - <tr> <td><label for="drop_db">Database:</label></td> - <td> + <td class="oe_form_field oe_form_field_selection"> <select t-if="widget.db_list" name="drop_db" autofocus="autofocus"> <t t-foreach="widget.db_list" t-as="db"> - <option t-att-value="db"><t t-esc="db"/></option> + <option t-att-value="db"> + <t t-esc="db" /> + </option> </t> </select> <input t-if="!widget.db_list" name="drop_db" class="required" type="text" autofocus="autofocus"/> @@ -183,25 +179,31 @@ </tr> <tr> <td><label for="drop_password">Master Password:</label></td> - <td><input type="password" name="drop_pwd" class="required"/></td> - </tr> - <tr> - <td colspan="2" align="right"><button class="oe_button">Drop</button></td> + <td><input type="password" name="drop_pwd" class="required" /></td> </tr> </table> </form> - <form id="db_backup" name="backup_db_form" method="POST" target="backup-target" action="/web/database/backup"> - <input type="hidden" name="token"/> + <form id="db_backup" name="backup_db_form" target="backup-target" action="/web/database/backup" style="display: none;"> + <div class="oe_view_manager oe_view_manager_current"> + <div class="oe_view_manager_header" style="padding: 8px;"> + <div class="oe_header_row"> + <h2 class="oe_view_title"> + <span class="oe_view_title_text oe_breadcrumb_title">Backup Database</span> + </h2> + <button type="submit" class="oe_button oe_highlight db_backup">Backup</button> + </div> + </div> + </div> + <input type="hidden" name="token" /> <table align="center" class="db_option_table"> <tr> - <th colspan="2" class="option_string"> BACKUP DATABASE </th> - </tr> - <tr> <td><label for="backup_db">Database:</label></td> - <td> + <td class="oe_form_field oe_form_field_selection "> <select t-if="widget.db_list" name="backup_db" autofocus="autofocus"> <t t-foreach="widget.db_list" t-as="db"> - <option t-att-value="db"><t t-esc="db"/></option> + <option t-att-value="db"> + <t t-esc="db" /> + </option> </t> </select> <input t-if="!widget.db_list" name="backup_db" class="required" type="text" autofocus="autofocus"/> @@ -209,19 +211,23 @@ </tr> <tr> <td><label for="backup_pwd">Master Password:</label></td> - <td><input type="password" name="backup_pwd" class="required"/></td> - </tr> - <tr> - <td colspan="2" align="right"><button class="oe_button">Backup</button></td> + <td><input type="password" name="backup_pwd" class="required" /></td> </tr> </table> </form> - <form id="db_restore" name="restore_db_form" method="POST"> + <form id="db_restore" name="restore_db_form" style="display: none; "> + <div class="oe_view_manager oe_view_manager_current"> + <div class="oe_view_manager_header" style="padding: 8px;"> + <div class="oe_header_row"> + <h2 class="oe_view_title"> + <span class="oe_view_title_text oe_breadcrumb_title">Restore Database</span> + </h2> + <button type="submit" class="oe_button oe_highlight db_restore">Restore</button> + </div> + </div> + </div> <table align="center" class="db_option_table"> <tr> - <th colspan="2" class="option_string"> RESTORE DATABASE </th> - </tr> - <tr> <td><label for="restore_db">File:</label></td> <td><input type="file" name="db_file" class="required" autofocus="autofocus"/></td> </tr> @@ -233,17 +239,21 @@ <td><label for="new_db">New database name:</label></td> <td><input type="text" name="new_db" class="required"/></td> </tr> - <tr> - <td colspan="2" align="right"><button class="oe_button">Restore</button></td> - </tr> </table> </form> - <form id="db_change_password" name="change_pwd_form" method="POST"> + <form id="db_change_password" name="change_pwd_form" style="display: none;"> + <div class="oe_view_manager oe_view_manager_current"> + <div class="oe_view_manager_header" style="padding: 8px;"> + <div class="oe_header_row"> + <h2 class="oe_view_title"> + <span class="oe_view_title_text oe_breadcrumb_title">Change Master Password</span> + </h2> + <button type="submit" class="oe_button oe_highlight db-change-password">Change Password</button> + </div> + </div> + </div> <table align="center" class="db_option_table"> <tr> - <th colspan="2" class="option_string"> CHANGE MASTER PASSWORD </th> - </tr> - <tr> <td><label for="old_pwd">Master password:</label></td> <td><input type="password" name="old_pwd" class="required" minlength="1" autofocus="autofocus"/></td> </tr> @@ -253,28 +263,67 @@ </tr> <tr> <td><label for="confirm_pwd">Confirm new master password:</label></td> - <td><input type="password" name="confirm_pwd" class="required" equalTo="input[name=new_pwd]" minlength="1"/></td> - </tr> - <tr> - <td colspan="2" align="right"><button class="oe_button">Change Password</button></td> + <td><input type="password" name="confirm_pwd" class="required" equalTo="input[name=new_pwd]" minlength="1"/> </td> </tr> </table> </form> </div> </div> </t> +<t t-name="DatabaseManager.user_menu"> + <span class="oe_right"> + <a id="back-to-login" href="#"><span class="oe_topbar_item oe_topbar_name">Back to Login</span></a> + </span> +</t> +<t t-name="DatabaseManager.menu"> + <div class="oe_secondary_menu_section">Database Management</div> + <ul class="oe_secondary_submenu"> + <li><a href="#db_create">Create</a></li> + <li><a href="#db_drop">Drop</a></li> + <li><a href="#db_backup">Backup</a></li> + <li><a href="#db_restore">Restore</a></li> + <li><a href="#db_change_password">Password</a></li> + </ul> +</t> + +<t t-name="ChangePassword"> + <form name="change_password_form" method="POST"> + <table align="center"> + <tr> + <td><label for="old_pwd">Old Password:</label></td> + <td><input type="password" name="old_pwd" + minlength="1" autofocus="autofocus"/></td> + </tr> + <tr> + <td><label for="new_password">New Password:</label></td> + <td><input type="password" name="new_password" + minlength="1"/></td> + </tr> + <tr> + <td><label for="confirm_pwd">Confirm Password:</label></td> + <td><input type="password" name="confirm_pwd" + minlength="1"/></td> + </tr> + <tr> + <td colspan="2" align="right"><button class="oe_button">Change Password</button></td> + </tr> + </table> + </form> +</t> <t t-name="Menu"> <ul class="oe_menu" t-if="widget.data"> <li t-foreach="widget.data.data.children" t-as="menu"> - <t t-call="Menu.secondary.link"/> + <t t-call="Menu.link"/> </li> </ul> </t> <t t-name="Menu.more"> <li class="oe_menu_more_container"> - <a href="#" class="oe_menu_more_link oe_dropdown_toggle">More</a> - <ul class="oe_menu_more" style="display: none;"/> + <span class="oe_topbar_item oe_menu_more_link oe_dropdown_toggle oe_dropdown_arrow"> + More + <ul class="oe_menu_more oe_dropdown_menu"/> + </span> </li> </t> <t t-name="Menu.secondary"> @@ -284,7 +333,7 @@ <t t-esc="menu.name"/> <!-- Shall the section be still clickable ? - <t t-call="Menu.secondary.link"/> + <t t-call="Menu.link"/> --> </div> <t t-call="Menu.secondary.submenu"/> @@ -294,21 +343,21 @@ <t t-name="Menu.secondary.submenu"> <ul t-if="menu.children.length" class="oe_secondary_submenu"> <li t-foreach="menu.children" t-as="menu"> - <t t-call="Menu.secondary.link"/> + <t t-call="Menu.link"/> <!--<span class="oe_menu_label">8</span>--> <t t-call="Menu.secondary.submenu"/> </li> </ul> </t> -<t t-name="Menu.secondary.link"> - <a t-attf-href="#menu_id=#{menu.id}&action_id=#{menu.action ? menu.action.split(',')[1] : ''}" +<t t-name="Menu.link"> + <a t-attf-href="#menu_id=#{menu.id}&action=#{menu.action ? menu.action.split(',')[1] : ''}" t-att-class="menu.children.length ? 'oe_menu_toggler' : 'oe_menu_leaf'" t-att-data-menu="menu.id" t-att-data-action-model="menu.action ? menu.action.split(',')[0] : ''" t-att-data-action-id="menu.action ? menu.action.split(',')[1] : ''"> <t t-esc="menu.name"/> <t t-if="menu.needaction_enabled and menu.needaction_counter"> - <div class="oe_menu_counter"> + <div class="oe_tag oe_tag_dark oe_menu_counter"> <t t-esc="menu.needaction_counter"/> </div> </t> @@ -316,63 +365,35 @@ </t> <t t-name="UserMenu"> - <ul class="oe_user_menu oe_topbar_item"> - <li class="oe_dropdown"> - <a href="#" class="oe_dropdown_toggle"> - <img class="oe_topbar_avatar" t-att-data-default-src="_s + '/web/static/src/img/user_menu_avatar.png'"/> - <span class="oe_topbar_name"/> - </a> - <ul class="oe_dropdown_options"> - <li><a href="#" data-menu="about">About OpenERP</a></li> - <li><a href="#" data-menu="settings">Preferences</a></li> - <li><a href="#" data-menu="logout">Log out</a></li> - </ul> - </li> - </ul> + <span class="oe_user_menu oe_topbar_item oe_dropdown_toggle oe_dropdown_arrow"> + <img class="oe_topbar_avatar" t-att-data-default-src="_s + '/web/static/src/img/user_menu_avatar.png'"/> + <span class="oe_topbar_name"/> + <ul class="oe_dropdown_menu"> + <li><a href="#" data-menu="about">About OpenERP</a></li> + <li><a href="#" data-menu="settings">Preferences</a></li> + <li><a href="#" data-menu="logout">Log out</a></li> + </ul> + </span> </t> <t t-name="UserMenu.about"> - <div> - <a class="oe_activate_debug_mode" href="?debug" style="float:right; font-size: 80%;">Activate the developer mode</a> - <h1 style="margin:0;">OpenERP</h1> - <h3 style="margin:15px 0;padding:0;">Version <t t-esc="version_info.version"/></h3> - <p> - Copyright © 2004-TODAY OpenERP SA. All Rights Reserved.<br /> - OpenERP is a trademark of the <a target="_blank" href="http://openerp.com/" style="text-decoration: underline;">OpenERP SA Company</a>. - </p> - <p> - Licenced under the terms of <a target="_blank" href="http://www.gnu.org/licenses/agpl.html" style="text-decoration: underline;">GNU Affero General Public License</a> - </p> - <p> - For more information visit <a target="_blank" href="http://openerp.com/" style="text-decoration: underline;">OpenERP.com</a> - </p> + + <div class="oe_about"> + <a class="oe_activate_debug_mode oe_right" href="?debug" style="background-color: white; padding:2px 6px; border-radius: 10px;">Activate the developer mode</a> + <img class="oe_logo" src="/web/static/src/img/logo2.png"/> + <h3>Version <t t-esc="version_info.version"/></h3> + + <div class="oe_bottom"> + <p>Copyright © 2004-TODAY OpenERP SA. All Rights Reserved.<br /> + OpenERP is a trademark of the <a target="_blank" href="http://openerp.com/" style="text-decoration: underline;">OpenERP SA Company</a>.</p> + <p>Licenced under the terms of <a target="_blank" href="http://www.gnu.org/licenses/agpl.html" style="text-decoration: underline;">GNU Affero General Public License</a></p> + <p>For more information visit <a target="_blank" href="http://openerp.com/" style="text-decoration: underline;">OpenERP.com</a></p> + </div> </div> -</t> -<t t-name="UserMenu.password"> - <form name="change_password_form" method="POST"> - <table align="center"> - <tr> - <td><label for="old_pwd">Old Password:</label></td> - <td><input type="password" name="old_pwd" - minlength="1" autofocus="autofocus"/></td> - </tr> - <tr> - <td><label for="new_password">New Password:</label></td> - <td><input type="password" name="new_password" - minlength="1" autofocus="autofocus"/></td> - </tr> - <tr> - <td><label for="confirm_pwd">Confirm Password:</label></td> - <td><input type="password" name="confirm_pwd" - minlength="1"/></td> - </tr> - <tr> - <td colspan="2" align="right"><button class="oe_button">Change Password</button></td> - </tr> - </table> - </form> + </t> <t t-name="WebClient"> + <div class="openerp openerp_webclient_container"> <table class="oe_webclient"> <tr> <td colspan="2" class="oe_topbar"> @@ -383,34 +404,39 @@ </tr> <tr> <td class="oe_leftbar" valign="top"> - <t t-js="d"> - d.url = '/' + (window.location.search || ''); - </t> - <a t-att-href="url" class="oe_logo"><img t-att-src='_s + "/web/static/src/img/logo.png"'/></a> + <a class="oe_logo" href="#"><img t-att-src='_s + "/web/static/src/img/logo.png"'/></a> <div class="oe_secondary_menus_container"/> <div class="oe_footer"> - Powered by <a href="http://www.openerp.com"><span>Open</span>ERP</a> + Powered by <a href="http://www.openerp.com" target="_blank"><span>Open</span>ERP</a> </div> </td> <td class="oe_application"> </td> </tr> </table> + </div> +</t> + +<t t-name="EmbedClient"> + <div class="openerp"> + <div class="oe_application"></div> + </div> </t> <t t-name="ViewManager"> <div class="oe_view_manager"> <table class="oe_view_manager_header"> - <col width="33%"/> - <col width="33%"/> - <col width="34%"/> - <tr class="oe_header_row"> + <col width="20%"/> + <col width="35%"/> + <col width="15%"/> + <col width="30%"/> + <tr class="oe_header_row oe_header_row_top"> <td colspan="2"> <h2 class="oe_view_title" t-if="widget.flags.display_title !== false"> - <span class="oe_view_title_text"><t t-esc="widget.display_title()"/></span> + <span class="oe_view_title_text oe_breadcrumb_title"/> </h2> </td> - <td> + <td colspan="2"> <div class="oe_view_manager_view_search" t-opentag="true"/> </td> </tr> @@ -418,13 +444,13 @@ <td> <div class="oe_view_manager_buttons"/> </td> - <td> + <td colspan="2"> <div class="oe_view_manager_sidebar"/> </td> <td> <ul class="oe_view_manager_switch oe_button_group oe_right"> - <t t-if="widget.views_src.length > 2" t-foreach="widget.views_src" t-as="view"> - <li t-if="view.view_type != 'form'" class="oe_e"><a t-attf-class="oe_vm_switch_#{view.view_type}" t-att-data-view-type="view.view_type" t-att-title="_t('Switch to ') + (view.label || view.view_type)"> + <t t-if="widget.views_src.length > 1" t-foreach="widget.views_src" t-as="view"> + <li class="oe_e"><a t-attf-class="oe_vm_switch_#{view.view_type}" t-att-data-view-type="view.view_type" t-att-title="_t('Switch to ') + (view.label || view.view_type)"> </a></li> </t> </ul> @@ -433,7 +459,6 @@ </tr> </table> - <div class="oe_view_manager_body"> <t t-foreach="widget.views_src" t-as="view"> <div t-attf-class="oe_view_manager_view_#{view.view_type}"/> @@ -451,15 +476,18 @@ <option value="">Debug View#<t t-esc="view.fields_view.view_id"/></option> <option t-if="view_manager.active_view === 'form'" value="perm_read" data-views="form,page">View Log (perm_read)</option> <option t-if="view_manager.active_view === 'form'" value="toggle_layout_outline">Toggle Form Layout Outline</option> + <option value="tests">JS Tests</option> <option value="fields">View Fields</option> <option value="fvg">Fields View Get</option> <option value="manage_filters">Manage Filters</option> <t t-if="view_manager.session.uid === 1"> + <option value="translate">Technical translation</option> <option value="manage_views">Manage Views</option> <option value="edit" data-model="ir.ui.view" t-att-data-id="view.fields_view.view_id">Edit <t t-esc="_.str.capitalize(view.fields_view.type)"/>View</option> <option t-if="view_manager.searchview" value="edit" data-model="ir.ui.view" t-att-data-id="view_manager.searchview.view_id">Edit SearchView</option> <option t-if="view_manager.action" value="edit" t-att-data-model="view_manager.action.type" t-att-data-id="view_manager.action.id">Edit Action</option> <option value="edit_workflow">Edit Workflow</option> + <option value="print_workflow">Print Workflow</option> </t> </t> <t t-name="ViewManagerDebugViewLog"> @@ -511,66 +539,45 @@ <div class="oe_sidebar"> <t t-foreach="widget.sections" t-as="section"> <div class="oe_form_dropdown_section"> - <button class="oe_dropdown_toggle"><t t-esc="section.label"/></button> + <button class="oe_dropdown_toggle oe_dropdown_arrow"> + <t t-if="section.name == 'files'" t-raw="widget.items[section.name].length || ''"/> + <t t-esc="section.label"/> + </button> <ul class="oe_dropdown_menu"> <li t-foreach="widget.items[section.name]" t-as="item" t-att-class="item.classname"> <a class="oe_sidebar_action_a" t-att-title="item.title" t-att-data-section="section.name" t-att-data-index="item_index" t-att-href="item.url" target="_blank"> <t t-raw="item.label"/> </a> + <a t-if="section.name == 'files'" class="oe_sidebar_delete_item" t-att-data-id="item.id" title="Delete this attachment">x</a> </li> - <li t-if="section.name == 'files'" class="oe_sidebar_add" style="display:none;"> - Input type file stuff + <li t-if="section.name == 'files'" class="oe_sidebar_add_attachment"> + <t t-call="HiddenInputFile"> + <t t-set="fileupload_id" t-value="widget.fileupload_id"/> + <t t-set="fileupload_action">/web/binary/upload_attachment</t> + <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"/> + <span>Add...</span> + </t> </li> </ul> </div> </t> </div> </t> -<t t-name="Sidebar.attachments"> - <div class="oe-sidebar-attachments-toolbar"> - <div class="oe-binary-file-set" style="float: right"> - <form class="oe-binary-form" t-attf-target="#{element_id}_iframe" - method="post" enctype="multipart/form-data" action="/web/binary/upload_attachment"> - <input type="hidden" name="session_id" t-att-value="session.session_id"/> - <input type="hidden" name="callback" t-attf-value="#{element_id}_iframe"/> - <input type="hidden" name="model" t-att-value="view.dataset.model"/> - <input type="hidden" name="id" t-att-value="view.datarecord.id"/> - <button class="oe_button" type="button"> - <img t-att-src='_s + "/web/static/src/img/throbber.gif"' width="16" height="16" style="display: none"/> - <span>Add</span> - </button> - <input type="file" class="oe-binary-file" name="ufile" title="Add attachment" - t-att-onclick="view.datarecord.id ? null : 'alert(\'No record selected ! You can only attach to existing record.\'); return false;'"/> - </form> - <iframe t-attf-id="#{element_id}_iframe" t-attf-name="#{element_id}_iframe" style="display: none"/> - </div> - </div> - <br style="clear: both"/> - <ul class="oe-sidebar-attachments-items"> - <li t-foreach="attachments" t-as="attachment"> - <t t-if="attachment.type == 'binary'" t-set="attachment.url" t-value="_s + '/web/binary/saveas?session_id=' - + session.session_id + '&model=ir.attachment&id=' + attachment.id - + '&field=datas&filename_field=name&t=' + (new Date().getTime())"/> - <a class="oe-sidebar-attachments-link" t-att-href="attachment.url" target="_blank"> - <t t-esc="attachment.name"/> - </a> - <a href="#" class="oe-sidebar-attachment-delete" t-att-data-id="attachment.id" t-attf-title="Delete the attachment #{attachment.name}"> - <img t-att-src='_s + "/web/static/src/img/attachments-close.png"' width="15" height="15" border="0"/> - </a> - </li> - </ul> -</t> <t t-name="TreeView"> - <select t-if="toolbar" style="width: 30%"> - </select> + <div class = "tree_header"> + <select t-if="toolbar" ></select> + <button id = "tree_view_collapse">Collapse All</button> + <button id = "tree_view_expand">Expand All</button> + </div> <table class="oe-treeview-table"> <thead> <tr> <th t-foreach="fields_view" t-as="field" - t-if="!field.attrs.modifiers.tree_invisible" - class="treeview-header"> - <t t-esc="fields[field.attrs.name].string" /> + t-if="!field.attrs.modifiers.tree_invisible"> + <t t-esc="field_value.attrs.string || fields[field.attrs.name].string" /> </th> </tr> </thead> @@ -581,11 +588,11 @@ <tr t-name="TreeView.rows" t-foreach="records" t-as="record" t-att-id="'treerow_' + record.id" - t-att-data-id="record.id" t-att-data-level="level + 1"> + t-att-data-id="record.id" t-att-data-level="level"> <t t-set="children" t-value="record[children_field]"/> <t t-set="class" t-value="children and children.length ? 'treeview-tr' : 'treeview-td'"/> <t t-set="rank" t-value="'oe-treeview-first'"/> - <t t-set="style" t-value="'background-position: ' + 19*level + 'px; padding-left: ' + 19*level + 'px;'"/> + <t t-set="style" t-value="'background-position: ' + 19*(level-1) + 'px; padding-left: ' + (4 + 19*(level-1)) + 'px;'"/> <td t-foreach="fields_view" t-as="field" t-if="!field.attrs.modifiers.tree_invisible" @@ -603,7 +610,7 @@ </td> </tr> -<table t-name="ListView" class="oe-listview-content"> +<table t-name="ListView" class="oe_list_content"> <t t-set="columns_count" t-value="visible_columns.length + (options.selectable ? 1 : 0) + (options.deletable ? 1 : 0)"/> <thead> <tr t-if="(!!options.action_buttons and !options.$buttons) or (!!options.pager and !options.$pager)"> @@ -613,28 +620,28 @@ <div class="oe_list_pager"/> </th> </tr> - <tr t-if="options.header" class="oe-listview-header-columns"> + <tr t-if="options.header" class="oe_list_header_columns"> <t t-foreach="columns" t-as="column"> <th t-if="column.meta"> <t t-esc="column.string"/> </th> </t> <th t-if="options.selectable" width="1" > - <input type="checkbox" class="all-record-selector"/> + <input type="checkbox" class="oe_list_record_selector"/> </th> <t t-foreach="columns" t-as="column"> - <th t-if="!column.meta and column.invisible !== '1'" t-att-data-id="column.id" - t-att-class="((options.sortable and column.tag !== 'button') ? 'oe-sortable' : null)"> + <th t-if="!column.meta and column.invisible !== '1' and !column.reorderable" t-att-data-id="column.id" + t-attf-class="oe_list_header_#{column.widget or column.type} #{((options.sortable and column.tag !== 'button') ? 'oe_sortable' : null)}"> <t t-if="column.tag !== 'button'"><t t-esc="column.string"/></t> </th> </t> - <th t-if="options.deletable" width="1"/> + <th t-if="options.deletable" class="oe_list_record_delete" width="13px"/> </tr> </thead> <tfoot> <tr> <td t-if="options.selectable"/> - <td t-foreach="aggregate_columns" t-as="column" class="oe-list-footer oe_number" + <td t-foreach="aggregate_columns" t-as="column" class="oe_list_footer oe_number" t-att-data-field="column.id" t-att-title="column.label"> </td> <td t-if="options.deletable"/> @@ -642,17 +649,16 @@ </tfoot> </table> <div t-name="ListView.buttons" class="oe_list_buttons"> - <t t-if="!widget.no_leaf and widget.options.action_buttons !== false"> - <button type="button" class="oe_button oe_list_add oe_form_button_hi" t-if="widget.options.addable"> + <t t-if="!widget.no_leaf and widget.options.action_buttons !== false and widget.options.addable and widget.is_action_enabled('create')"> + <button type="button" class="oe_button oe_list_add oe_highlight"> <t t-esc="widget.options.addable"/> </button> - <span class="oe_fade">or</span> <a href="#" class="oe_bold oe_list_button_import">Import</a> </t> </div> <t t-name="ListView.pager"> <div class="oe_list_pager" t-att-colspan="widget.columns_count"> <t t-if="!widget.no_leaf and widget.options.pager !== false" t-call="ViewPager"> - <span class="oe-pager-state"> + <span class="oe_list_pager_state"> </span> </t> </div> @@ -660,40 +666,55 @@ <t t-name="ListView.rows" t-foreach="records.length" t-as="index"> <t t-call="ListView.row"> <t t-set="record" t-value="records.at(index)"/> - <t t-set="row_parity" t-value="index_parity"/> </t> </t> -<tr t-name="ListView.row" t-att-class="row_parity" +<tr t-name="ListView.row" t-att-data-id="record.get('id')" t-att-style="view.style_for(record)"> + <t t-set="asData" t-value="record.toForm().data"/> <t t-foreach="columns" t-as="column"> - <td t-if="column.meta"> - - </td> + <td t-if="column.meta"> </td> </t> - <th t-if="options.selectable" class="oe-record-selector" width="1"> + <th t-if="options.selectable" class="oe_list_record_selector" width="1"> <t t-set="checked" t-value="options.select_view_id == record.get('id') ? 'checked' : null"/> <input t-if="options.radio" type="radio" name="radiogroup" t-att-checked="checked"/> <input t-if="!options.radio" type="checkbox" name="radiogroup" t-att-checked="checked"/> </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" - t-att-class="'oe-field-cell' + (align ? ' oe_number' : '') - + (column.tag === 'button' ? ' oe-button' : '')" - t-att-data-field="column.id"> - <t t-raw="render_cell(record, column)"/> - </td> + <t t-set="number" t-value="column.type === 'integer' or column.type == 'float'"/> + <t t-set="modifiers" t-value="column.modifiers_for(asData)"/> + <td t-if="!column.meta and column.invisible !== '1' and !column.reorderable" t-att-title="column.help" + t-attf-class="oe_list_field_cell oe_list_field_#{column.widget or column.type} #{number ? 'oe_number' : ''} #{column.tag === 'button' ? 'oe-button' : ''} #{modifiers.readonly ? 'oe_readonly' : ''} #{modifiers.required ? 'oe_required' : ''}" + t-att-data-field="column.id" + ><t t-raw="render_cell(record, column)"/></td> </t> - <td t-if="options.deletable" class='oe-record-delete' width="1"> + <td t-if="options.deletable" class='oe_list_record_delete' width="13px"> <button type="button" name="delete" class="oe_i">d</button> </td> </tr> - -<t t-name="ListView.row.save"> - <td> - <button class='oe_i oe-edit-row-save' type='button' name='save'>S</button> - </td> +<t t-extend="ListView.buttons"> + <t t-jquery="button.oe_list_add" t-operation="after"> + <button class="oe_button oe_list_save oe_highlight" + type="button">Save</button> + <span class="oe_alternative"> + <span class="oe_fade">or</span> + <a href="#" class="oe_bold oe_list_discard">Discard</a> + </span> + </t> +</t> +<button t-name="ListView.row.button" type="button" + t-att-title="widget.string" t-att-disabled="disabled || undefined" + t-att-class="disabled ? 'oe_list_button_disabled' : undefined" + ><img t-attf-src="#{prefix}/web/static/src/img/icons/#{widget.icon}.png" + t-att-alt="widget.string" /></button> +<t t-extend="ListView.row"> + <!-- adds back padding to row being rendered after edition, if necessary + (if not deletable add back padding), otherwise the row being added is + missing columns + --> + <t t-jquery="> :last" t-operation="after"> + <td t-if="edited and !options.deletable" class="oe-listview-padding"/> + </t> </t> <t t-name="FormView"> @@ -707,18 +728,24 @@ <div t-name="FormView.buttons" class="oe_form_buttons"> <t t-if="widget.options.action_buttons !== false"> <span class="oe_form_buttons_view"> - <button type="button" class="oe_button oe_form_button_edit">Edit</button> - <button type="button" class="oe_button oe_form_button_create">Create</button> + <!-- required for the bounce effect on button --> + <div t-if="widget.is_action_enabled('edit')" style="display: inline-block;"> + <button type="button" class="oe_button oe_form_button_edit" accesskey="E">Edit</button> + </div> + <button t-if="widget.is_action_enabled('create')" + type="button" class="oe_button oe_form_button_create" accesskey="C">Create</button> </span> <span class="oe_form_buttons_edit"> - <button type="button" class="oe_button oe_form_button_save">Save</button> <span class="oe_fade">or</span> <a href="#" class="oe_bold oe_form_button_cancel">Discard</a> + <button type="button" class="oe_button oe_form_button_save oe_highlight" accesskey="S">Save</button> + <span class="oe_fade">or</span> + <a href="#" class="oe_bold oe_form_button_cancel" accesskey="D">Discard</a> </span> </t> </div> <t t-name="FormView.pager"> <div class="oe_form_pager"> <t t-if="widget.options.pager !== false" t-call="ViewPager"> - <span class="oe_pager_index">0</span><span class="oe_pager_separator"> / </span><span class="oe_pager_count">0</span> + <span class="oe_form_pager_state"></span> </t> </div> </t> @@ -791,13 +818,13 @@ </t> <t t-name="FormRenderingGroup"> <t t-if="string" t-call="FormRenderingSeparator"/> - <table border="0" cellpadding="0" cellspacing="0" width="100%" t-attf-class="oe_form_group #{classnames}"/> + <table border="0" cellpadding="0" cellspacing="0" t-attf-class="oe_form_group #{classnames}"/> </t> <t t-name="FormRenderingNotebook"> - <div> - <ul t-attf-class="oe_form_notebook #{classnames}"> + <div class="oe_clear"> + <ul t-attf-class="oe_notebook #{classnames}"> <li t-foreach="pages" t-as="page" t-att-modifiers="page.modifiers"> - <a t-attf-href="##{page.id}"> + <a t-attf-href="##{page.id}" t-att-accesskey="page.accesskey"> <t t-esc="page.string"/> </a> </li> @@ -805,11 +832,11 @@ </div> </t> <t t-name="FormRenderingNotebookPage"> - <div t-attf-class="oe_form_notebook_page #{classnames}" t-att-id="id"> + <div t-attf-class="oe_notebook_page #{classnames}" t-att-id="id"> </div> </t> <t t-name="FormRenderingSeparator"> - <div t-attf-class="oe_horizontal_separator #{classnames}"> + <div t-attf-class="oe_horizontal_separator oe_clear #{classnames}"> <t t-esc="string"/> </div> </t> @@ -888,30 +915,29 @@ </ul> </t> <t t-name="FieldChar"> - <span t-att-class="'oe_form_field '+widget.widget_class"> + <span t-att-class="'oe_form_field '+widget.widget_class" t-att-style="widget.node.attrs.style"> <t t-if="!widget.get('effective_readonly')"> <input t-att-type="widget.password ? 'password' : 'text'" t-att-id="widget.id_for_label" t-att-tabindex="widget.node.attrs.tabindex" t-att-autofocus="widget.node.attrs.autofocus" t-att-placeholder="widget.node.attrs.placeholder" + t-att-maxlength="widget.field.size" /><img class="oe_field_translate oe_input_icon" t-if="widget.field.translate" t-att-src='_s + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"/> </t> </span> </t> <t t-name="FieldEmail"> - <span class="oe_form_field oe_form_field_email oe_form_field_with_button"> - <a t-if="widget.get('effective_readonly')" href="#" class="oe_form_uri"/> + <span class="oe_form_field oe_form_field_email" t-att-style="widget.node.attrs.style"> + <a t-if="widget.get('effective_readonly')" href="#" class="oe_form_uri" target="_blank"/> <t t-if="!widget.get('effective_readonly')"> - <button class="oe_button" tabindex="-1" type="button" title="Send an e-mail with your default e-mail client"> - <img t-att-src='_s + "/web/static/src/img/icons/terp-mail-message-new.png"'/> - </button> <div> <input type="text" t-att-id="widget.id_for_label" t-att-tabindex="widget.node.attrs.tabindex" t-att-autofocus="widget.node.attrs.autofocus" t-att-placeholder="widget.node.attrs.placeholder" + t-att-maxlength="widget.field.size" /> </div> </t> @@ -921,23 +947,28 @@ <t t-jquery="span:first"> this.removeClass('oe_form_field_email').addClass('oe_form_field_url'); </t> - <t t-jquery="button.oe_button" t-operation="replace"> - <button class="oe_button" tabindex="-1" type="button" title="Open this resource"> - <img t-att-src='_s + "/web/static/src/img/icons/gtk-ok.png"'/> - </button> - </t> </t> <t t-name="FieldText"> - <div class="oe_form_field oe_form_field_text"> + <div class="oe_form_field oe_form_field_text" t-att-style="widget.node.attrs.style"> <textarea rows="6" t-att-name="widget.name" class="field_text" t-att-tabindex="widget.node.attrs.tabindex" t-att-autofocus="widget.node.attrs.autofocus" - t-att-placeholder="widget.node.attrs.placeholder" - ></textarea> - <img class="oe_field_translate oe_input_icon" t-if="widget.field.translate" - t-att-src='_s + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"/> + t-att-placeholder="! widget.get('effective_readonly') ? widget.node.attrs.placeholder : ''" + t-att-maxlength="widget.field.size" + ></textarea><img class="oe_field_translate oe_input_icon" + t-if="widget.field.translate and !widget.get('effective_readonly')" + t-att-src='_s + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0" + /> + </div> +</t> +<t t-name="FieldTextHtml"> + <div t-att-class="'oe_form_field oe_form_field_html' + (widget.get('effective_readonly') ? ' oe_form_embedded_html' : '')" + t-att-style="widget.node.attrs.style"> + <t t-if="! widget.get('effective_readonly')"> + <textarea/> + </t> </div> </t> <t t-name="web.datepicker"> @@ -953,13 +984,13 @@ </span> </t> <t t-name="FieldDate"> - <span class="oe_form_field oe_datepicker_root oe_form_field_date"/> + <span class="oe_form_field oe_datepicker_root oe_form_field_date" t-att-style="widget.node.attrs.style"/> </t> <t t-name="FieldDatetime"> - <span class="oe_form_field oe_datepicker_root oe_form_field_datetime"/> + <span class="oe_form_field oe_datepicker_root oe_form_field_datetime" t-att-style="widget.node.attrs.style"/> </t> <t t-name="FieldSelection"> - <span class="oe_form_field oe_form_field_selection"> + <span class="oe_form_field oe_form_field_selection" t-att-style="widget.node.attrs.style"> <select t-if="!widget.get('effective_readonly')" t-att-name="widget.name" t-att-tabindex="widget.node.attrs.tabindex" @@ -972,12 +1003,15 @@ </span> </t> <t t-name="FieldMany2One"> - <span class="oe_form_field oe_form_field_many2one oe_form_field_with_button"> - <a t-if="widget.get('effective_readonly')" href="#" class="oe_form_uri"/> + <span class="oe_form_field oe_form_field_many2one oe_form_field_with_button" t-att-style="widget.node.attrs.style"> + <t t-if="widget.get('effective_readonly')"> + <a t-if="! widget.options.no_open" href="#" class="oe_form_uri"/> + <span t-if="widget.options.no_open" href="#" class="oe_form_uri"/> + <span class="oe_form_m2o_follow"/> + </t> <t t-if="!widget.get('effective_readonly')"> - <button class="oe_button oe-m2o-cm-button" title="Open Resource"> - <img t-att-src='_s + "/web/static/src/img/icons/terp-folder-yellow.png"'/> - </button> + <a t-if="! widget.options.no_open" href="#" tabindex="-1" + class="oe_m2o_cm_button oe_e">/</a> <div> <input type="text" t-att-id="widget.id_for_label" @@ -985,7 +1019,7 @@ t-att-autofocus="widget.node.attrs.autofocus" t-att-placeholder="widget.node.attrs.placeholder" /> - <span class="oe-m2o-drop-down-button"> + <span class="oe_m2o_drop_down_button"> <img t-att-src='_s + "/web/static/src/img/down-arrow.png"'/> </span> </div> @@ -993,23 +1027,24 @@ </span> </t> <t t-name="FieldMany2ManyTags"> - <div class="oe_form_field oe_form_field_many2manytags"> + <div class="oe_form_field oe_tags" t-att-style="widget.node.attrs.style"> <t t-if="! widget.get('effective_readonly')"> - <textarea rows="1" style="width: 100%"></textarea> + <textarea rows="1" style="width: 100%" + t-att-placeholder="widget.node.attrs.placeholder"></textarea> </t> </div> </t> -<t t-name="FieldMany2ManyTags.box"> +<t t-name="FieldMany2ManyTag"> <t t-set="i" t-value="0"/> <t t-foreach="elements" t-as="el"> - <span class="oe_form_field_many2manytags_box" t-att-data-index="i"> + <span class="oe_tag" t-att-data-index="i"> <t t-esc="el[1]"/> </span> <t t-set="i" t-value="i + 1"/> </t> </t> <t t-name="FieldReference"> - <table class="oe_form_field oe_form_field_reference oe_form" border="0" cellpadding="0" cellspacing="0"> + <table class="oe_form_field oe_form_field_reference" border="0" cellpadding="0" cellspacing="0" t-att-style="widget.node.attrs.style"> <tr> <td t-attf-class="oe_form_frame_cell oe_form_selection"> <span t-attf-class="oe_form_view_reference_selection"/> @@ -1021,7 +1056,7 @@ </table> </t> <t t-name="FieldBoolean"> - <span class="oe_form_field oe_form_field_boolean"> + <span class="oe_form_field oe_form_field_boolean" t-att-style="widget.node.attrs.style"> <input type="checkbox" t-att-id="widget.id_for_label" t-att-name="widget.name" @@ -1031,47 +1066,33 @@ </span> </t> <t t-name="FieldProgressBar"> - <span class="oe_form_field oe_form_field_progressbar" t-opentag="true"> + <span class="oe_form_field oe_form_field_progressbar" t-att-style="widget.node.attrs.style"> <span></span> </span> </t> +<t t-name="FieldStatus"> + <ul t-att-class="'oe_form_field_status ' + (widget.options.clickable ? 'oe_form_status_clickable' : 'oe_form_status')" t-att-style="widget.node.attrs.style"/> +</t> <t t-name="FieldStatus.content"> - <ul class="oe_form_steps"> - <t t-set="size" t-value="widget.to_show.length"/> - <t t-foreach="_.range(size)" t-as="i"> - <li t-att-class="widget.to_show[i][0] === widget.selected_value ? 'oe_form_steps_active' : ''"> - <span><t t-esc="widget.to_show[i][1]"/></span> - <img t-att-src='_s + "/web/static/src/img/form_steps.png"' class="oe_form_steps_arrow" t-if="i < size - 1"/> - </li> - </t> - </ul> - <div class="oe_clear"/> + <t t-foreach="widget.selection" t-as="i"> + <li t-att-class="i[0] === widget.selected_value ? 'oe_active' : ''" t-att-data-id="i[0]"> + <span class="label"><t t-esc="i[1]"/></span> + <!-- are you mit ? --> + <span class="arrow"><span></span></span> + </li> + </t> </t> <t t-name="FieldBinaryImage"> - <span class="oe_form_field oe_form_field_image"> - <div class="oe_form_field_image_controls"> - <div class="oe-binary-file-set"> - <form class="oe-binary-form" t-att-target="widget.iframe" - method="post" enctype="multipart/form-data" action="/web/binary/upload"> - <input type="hidden" name="session_id" value=""/> - <input type="hidden" name="callback" t-att-value="widget.iframe"/> - <button class="oe_button" type="button" title="Set Image"> - <img t-att-src='_s + "/web/static/src/img/icons/STOCK_DIRECTORY.png"'/> - </button> - <input type="file" class="oe-binary-file" name="ufile" - t-att-tabindex="widget.node.attrs.tabindex" - t-att-autofocus="widget.node.attrs.autofocus" - /> - </form> - </div> - <button class="oe_button oe-binary-file-clear" type="button" title="Clear"> - <img t-att-src='_s + "/web/static/src/img/icons/STOCK_MISSING_IMAGE.png"'/> - </button> - <div class="oe-binary-progress" style="display: none"> + <span class="oe_form_field oe_form_field_image" t-att-style="widget.node.attrs.style"> + <div class="oe_form_field_image_controls oe_edit_only"> + <t t-call="HiddenInputFile"> + <t t-set="fileupload_id" t-value="widget.fileupload_id"/> + Edit + </t> + <div class="oe_form_binary_progress" style="display: none"> <img t-att-src='_s + "/web/static/src/img/throbber.gif"' width="16" height="16"/> <b>Uploading ...</b> </div> - <iframe t-att-id="widget.iframe" t-att-name="widget.iframe" style="display: none"/> </div> </span> </t> @@ -1085,7 +1106,7 @@ </t> <t t-name="FieldBinaryFile"> <t t-if="!widget.get('effective_readonly')"> - <table class="oe_form_field oe_form_field_binary" cellpadding="0" cellspacing="0" border="0"> + <table class="oe_form_field oe_form_field_binary" cellpadding="0" cellspacing="0" border="0" t-att-style="widget.node.attrs.style"> <tr> <td> <input type="text" size="1" readonly="readonly" @@ -1095,31 +1116,29 @@ class="field_binary" /> </td> - <td class="oe-binary" nowrap="true"> + <td class="oe_form_binary" nowrap="true"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td> - <div class="oe-binary-file-set" style="width: 80px; height:22px;"> - <form class="oe-binary-form" t-att-target="widget.iframe" - method="post" enctype="multipart/form-data" action="/web/binary/upload"> - <input type="hidden" name="session_id" value=""/> - <input type="hidden" name="callback" t-att-value="widget.iframe"/> - <button class="oe_button oe_field_button" type="button" title="Set Image"> - <img t-att-src='_s + "/web/static/src/img/icons/STOCK_DIRECTORY.png"'/> - <span>Select</span> - </button> - <input type="file" class="oe-binary-file" name="ufile"/> - </form> - </div> + <t t-call="HiddenInputFile"> + <t t-set="fileupload_id" t-value="widget.fileupload_id"/> + <t t-set="fileupload_style">width: 83px;</t> + <button class="oe_button oe_field_button" type="button"> + <img t-att-src='_s + "/web/static/src/img/icons/STOCK_DIRECTORY.png"'/> + <span>Select</span> + </button> + </t> </td> <td> - <button class="oe_button oe-binary-file-save" type="button" title="Save As"> - <img t-att-src='_s + "/web/static/src/img/icons/gtk-save.png"'/> - <span>Save As</span> - </button> + <a class="oe_form_binary_file_save_data"> + <button class="oe_button oe_form_binary_file_save" type="button" title="Save As"> + <img t-att-src='_s + "/web/static/src/img/icons/gtk-save.png"'/> + <span>Save As</span> + </button> + </a> </td> <td> - <button class="oe_button oe-binary-file-clear" type="button" title="Clear"> + <button class="oe_button oe_form_binary_file_clear" type="button" title="Clear"> <img t-att-src='_s + "/web/static/src/img/icons/STOCK_MISSING_IMAGE.png"'/> <span>Clear</span> </button> @@ -1127,25 +1146,38 @@ </tr> </table> </td> - <td class="oe-binary-progress" style="display: none" nowrap="true"> + <td class="oe_form_binary_progress" style="display: none" nowrap="true"> <img t-att-src='_s + "/web/static/src/img/throbber.gif"' width="16" height="16"/> <b>Uploading ...</b> - <iframe t-att-id="widget.iframe" t-att-name="widget.iframe" style="display: none"/> </td> </tr> </table> </t> <t t-if="widget.get('effective_readonly')"> - <span> + <span t-att-style="widget.node.attrs.style"> <a href="javascript:void(0)" class="oe_form_uri"/> </span> </t> </t> +<t t-name="HiddenInputFile"> + <div t-attf-class="oe_hidden_input_file #{fileupload_class or ''}" t-att-style="fileupload_style"> + <form class="oe_form_binary_form" t-att-target="fileupload_id" + method="post" enctype="multipart/form-data" t-att-action="fileupload_action || '/web/binary/upload'"> + <input type="hidden" name="session_id" value=""/> + <input type="hidden" name="callback" t-att-value="fileupload_id"/> + <t t-raw="__content__"/> + <input type="file" class="oe_form_binary_file" name="ufile"/> + </form> + <iframe t-att-id="fileupload_id" t-att-name="fileupload_id" style="display: none"/> + </div> +</t> <t t-name="WidgetButton"> <button type="button" class="oe_button oe_form_button" + t-att-style="widget.node.attrs.style" t-att-tabindex="widget.node.attrs.tabindex" - t-att-autofocus="widget.node.attrs.autofocus"> - <img t-if="widget.node.attrs.icon" t-att-src="_s + '/web/static/src/img/icons/' + widget.node.attrs.icon + '.png'" width="16" height="16"/> + t-att-autofocus="widget.node.attrs.autofocus" + t-att-accesskey="widget.node.attrs.accesskey"> + <img t-if="widget.node.attrs.icon" t-att-src="_s + widget.node.attrs.icon" width="16" height="16"/> <span t-if="widget.string"><t t-esc="widget.string"/></span> </button> </t> @@ -1181,31 +1213,52 @@ </t> </t> -<t t-name="TranslateDialog"> - <table t-if="widget.view.translatable_fields" class="oe_form oe_translation_form" border="0" cellpadding="0" cellspacing="0" width="100%"> - <tr> - <td class="oe_form_separator" width="1%" nowrap="nowrap"> - <div class="oe_horizontal_separator">Field</div> - </td> - <th t-foreach="widget.languages" align="left"> - <div class="oe_horizontal_separator"><t t-esc="name"/></div> - </th> - </tr> - <tr t-foreach="widget.view.translatable_fields" t-as="field" t-att-data-field="field.name"> - <td class="oe_form_group_cell" width="1%" nowrap="nowrap"> - <label class="oe_label"><t t-esc="field.node.attrs.string"/>:</label> - </td> - <td t-foreach="widget.languages" t-as="lg" class="oe_form_group_cell"> - <input t-if="field.type == 'char'" type="text" t-attf-name="#{lg.code}-#{field.name}" value="" data-value="" class="oe_trad_field" style="width: 100%"/> - <textarea t-if="field.type == 'text'" t-attf-name="#{lg.code}-#{field.name}" data-value="" class="oe_trad_field" style="width: 100%"></textarea> - </td> - </tr> - </table> +<t t-name="AbstractFormPopup.render"> + <div> + <table style="width:100%"> + <tr style="width:100%"> + <td style="width:100%"> + <div class="oe_popup_search" style="width:100%"></div> + </td> + </tr> + <tr style="width:100%"> + <td style="width:100%"> + <div class="oe_popup_list" style="width:100%"></div> + </td> + </tr> + </table> + <div class="oe_popup_form" style="width:100%"></div> + </div> +</t> +<t t-name="SelectCreatePopup.search.buttons"> + <t t-if="! widget.options.disable_multiple_selection"> + <button type="button" class="oe_button oe_selectcreatepopup-search-select" disabled="disabled">Select</button> + or + </t> + <a class="oe_button oe_selectcreatepopup-search-close oe_bold oe_form_button_cancel" href="javascript:void(0)">Cancel</a> +</t> +<t t-name="AbstractFormPopup.buttons"> + <t t-if="! readonly"> + <t t-if="! multi_select"> + <button type="button" class="oe_button oe_abstractformpopup-form-save oe_highlight">Save</button> + </t> + <t t-if="multi_select"> + <button type="button" class="oe_button oe_abstractformpopup-form-save oe_highlight">Save & Close</button> + <button type="button" class="oe_button oe_abstractformpopup-form-save-new oe_highlight">Save & New</button> + </t> + or + </t> + <a class="oe_button oe_abstractformpopup-form-close oe_bold oe_form_button_cancel" href="javascript:void(0)"> + <t t-if="! readonly"> + Discard + </t> + <t t-if="readonly"> + Close + </t> + </a> </t> <t t-name="One2Many.viewmanager" t-extend="ViewManager"> - <t t-jquery="span.oe_view_title_text" t-operation="replace"/> - <t t-jquery=".oe-view-manager-header"> this.attr('t-if', 'views.length != 1'); </t> @@ -1233,8 +1286,10 @@ <div t-name="SearchView" class="oe_searchview"> <div class="oe_searchview_facets"/> <div class="oe_searchview_clear"/> - <div class="oe_searchview_unfold_drawer"/> + <div class="oe_searchview_unfold_drawer" title="Advanced Search..."/> <div class="oe_searchview_drawer"/> + <button type="button" class="oe_searchview_search" + title="Search Again">Search</button> </div> <div t-name="SearchView.InputView" @@ -1242,7 +1297,7 @@ contenteditable="true"/> <!-- tabindex: makes div focusable --> <div t-name="SearchView.FacetView" - class="oe_searchview_facet" + class="oe_tag oe_tag_dark oe_searchview_facet" tabindex="0" ><span class="oe_facet_remove">x</span ><span class="oe_facet_category oe_i" t-if="widget.model.has('icon')"> @@ -1255,9 +1310,8 @@ <span t-name="SearchView.FacetView.Value" class="oe_facet_value"> <t t-esc="widget.model.get('label')"/> </span> - <t t-name="SearchView.managed-filters"> - <option class="oe-filters-title" value="">Filters</option> + <option class="oe_search_filters_title" value="">Filters</option> <optgroup label="-- Filters --"> <t t-foreach="filters" t-as="filter"> <option t-attf-value="get:#{filter_index}" @@ -1270,7 +1324,6 @@ <optgroup label="-- Actions --"> <option value="advanced_filter">Add Advanced Filter</option> <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> @@ -1281,18 +1334,8 @@ <p>(Any existing filter with the same name will be replaced)</p> </div> </t> -<t t-name="SearchView.add_to_dashboard"> - <div class="oe_form"> - <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" + <table class="oe_search_render_line" border="0" cellspacing="0" cellpadding="0" t-foreach="lines" t-as="line"> <tr> <td t-foreach="line" t-as="widget" class="oe_searchview_field"> @@ -1409,10 +1452,10 @@ </t> </t> </t> -<div t-name="SearchView.Filters" class="oe_searchview_section"> +<div t-name="SearchView.Filters" class="oe_searchview_filters oe_searchview_section"> </div> -<div t-name="SearchView.CustomFilters" class="oe_searchview_section"> +<div t-name="SearchView.CustomFilters" class="oe_searchview_custom oe_searchview_section"> <div> <h3><span class="oe_i">M</span> Custom Filters</h3> <ul class="oe_searchview_custom_list"/> @@ -1429,6 +1472,7 @@ <div> </div> </div> + <div t-name="SearchView.advanced" class="oe_searchview_advanced"> <h4>Advanced Search</h4> <form> @@ -1443,8 +1487,7 @@ <li> <select class="searchview_extended_prop_field"> <t t-foreach="widget.attrs.fields" t-as="field"> - <option t-if="typeof field.store === 'undefined' || field.store || field.fnct_search" - t-att="{'selected': field === widget.attrs.selected ? 'selected' : null}" + <option t-att="{'selected': field === widget.attrs.selected ? 'selected' : null}" t-att-value="field.name"> <t t-esc="field.string"/> </option> @@ -1474,115 +1517,11 @@ </t> </select> </t> -<t t-name="AbstractFormPopup.render"> - <div> - <table style="width:100%"> - <tr style="width:100%"> - <td style="width:100%"> - <div class="oe-select-create-popup-view-search" style="width:100%"></div> - </td> - </tr> - <tr style="width:100%"> - <td style="width:100%"> - <div class="oe-select-create-popup-view-list" style="width:100%"></div> - </td> - </tr> - </table> - <div class="oe-form-view-popup-form-placeholder oe-select-create-popup-view-form" style="width:100%"></div> - </div> -</t> -<t t-name="SelectCreatePopup.search.buttons"> - <button type="button" class="oe_button oe_selectcreatepopup-search-select" disabled="disabled">Select</button> - <button type="button" class="oe_button oe_selectcreatepopup-search-close">Cancel</button> -</t> -<t t-name="AbstractFormPopup.buttons"> - <t t-if="! multi_select"> - <button type="button" class="oe_button oe_abstractformpopup-form-save">Save</button> - </t> - <t t-if="multi_select"> - <button type="button" class="oe_button oe_abstractformpopup-form-save-new">Save & New</button> - <button type="button" class="oe_button oe_abstractformpopup-form-save">Save & Close</button> - </t> - <button type="button" class="oe_button oe_abstractformpopup-form-close">Cancel</button> -</t> -<t t-extend="ListView.row"> - <!-- adds back padding to row being rendered after edition, if necessary - (if not deletable add back padding), otherwise the row being added is - missing columns - --> - <t t-jquery="> :last" t-operation="after"> - <td t-if="edited and !options.deletable" class="oe-listview-padding"/> - </t> -</t> - -<t t-name="view_editor"> - <table class="oe_view_editor"> - <t t-call="view_editor.row"/> - </table> -</t> -<t t-name="view_editor.row"> - <tr t-att-id="'viewedit-' + rec.id" t-att-level="rec.level" t-foreach="data" t-as="rec"> - <td width="90%"> - <table class="oe_view_editor_field"> - <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 width="2%"> - <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="2%"> - <img id="side-remove" src="/web/static/src/img/icons/gtk-remove.png" style="cursor: pointer;"/> - </td> - <td width="2%"> - <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="2%"> - <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="2%"> - <img t-if="rec.att_list.length" - id="side-down" src="/web/static/src/img/icons/gtk-go-down.png" style="cursor: pointer;"/> - </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> -<table t-name="ExportTreeView" class="oe-export" +<table t-name="ExportTreeView" class="oe_export" style="background-color: #F3F3F3;"> <tr> <td colspan="3"> @@ -1687,7 +1626,7 @@ </t> <t t-name="ImportDataView"> <form name="import_data" id="import_data" action="" method="post" enctype="multipart/form-data" - class="oe-import oe-import-no-result"> + class="oe_import oe_import_no_result"> <input type="hidden" name="session_id" t-att-value="widget.session.session_id"/> <h2 class="separator horizontal">1. Import a .CSV file</h2> <p>Select a .CSV file to import. If you need a sample of file to import, @@ -1697,9 +1636,9 @@ <label for="csvfile">CSV File:</label> <input type="file" id="csvfile" size="50" name="csvfile"/> </p> - <h2 class="separator horizontal oe-import-result">2. Check your file format</h2> - <div id="result" class="oe-import-result"></div> - <fieldset class="oe-closed oe-import-result"> + <h2 class="separator horizontal oe_import_result">2. Check your file format</h2> + <div id="result" class="oe_import_result"></div> + <fieldset class="oe_closed oe_import_result"> <legend>Import Options</legend> <table> <tr> @@ -1739,7 +1678,7 @@ </tr> <tr> <td t-foreach="records[0]" t-as="column"> - <input class="sel_fields" placeholder="--- Don't Import ---"/><span class="oe-m2o-drop-down-button"> + <input class="sel_fields" placeholder="--- Don't Import ---"/><span class="oe_m2o_drop_down_button"> <img t-att-src='_s + "/web/static/src/img/down-arrow.png"' /></span> </td> </tr> @@ -1759,5 +1698,22 @@ <div t-name="Many2ManyKanban.quick_create" class="oe_kanban_quick_create"> <input t-att-placeholder="_t('Type name to search')"/> </div> - +<t t-name="Throbber"> + <div> + <div class="oe_blockui_spin" style="height: 50px"> + </div> + <br /> + <div class="oe_throbber_message" style="color:white"></div> + </div> +</t> +<t t-name="M2ODialog"> + <div> + Name: <input class="oe_form_m2o_input_name" type="text"/> + </div> +</t> +<t t-name="M2ODialog.buttons"> + <button class="oe_form_m2o_qc_button oe_button oe_highlight">Quick Add</button> + <button class="oe_form_m2o_sc_button oe_button">Add All Info...</button> + <button class="oe_form_m2o_cancel_button oe_button">Cancel</button> +</t> </templates> |
