Jigar Amin - OpenERP 2012-07-30 18:04:17 +05:30
commit c25ddd2ba1
19 changed files with 155 additions and 96 deletions

View File

@ -96,6 +96,6 @@
'installable': True,
'auto_install': True,
'certificate': '0076807797149',
"css": [ 'static/src/css/modules.css' ],
'css': ['static/src/css/modules.css'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -286,6 +286,7 @@ CREATE TABLE ir_module_module (
write_date timestamp without time zone,
write_uid integer references res_users on delete set null,
website character varying(256),
summary character varying(256),
name character varying(128) NOT NULL,
author character varying(128),
url character varying(128),

View File

@ -1,10 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<menuitem id="menu_reporting" name="Reporting" sequence="90" groups="base.group_user"/>
<!-- Top menu item -->
<menuitem name="Reporting"
id="menu_reporting"
groups="base.group_user"
sequence="170"/>
<menuitem id="menu_reporting_dashboard" name="Dashboards" parent="menu_reporting" sequence="0"/>
<menuitem id="menu_reporting_config" name="Configuration" parent="menu_reporting" sequence="100" groups="base.group_system"/>
<menuitem id="menu_administration" name="Settings" sequence="100"/>
<!-- Top menu item -->
<menuitem name="Settings"
id="menu_administration"
sequence="500"/>
<menuitem id="menu_management" name="Modules" parent="menu_administration" sequence="0"/>
<menuitem id="menu_config" name="Configuration" parent="menu_administration" sequence="1"/>
<menuitem id="menu_administration_shortcut" parent="menu_administration" name="Custom Shortcuts" sequence="50"/>
@ -12,11 +21,13 @@
<menuitem id="menu_translation" name="Translations" parent="menu_administration" sequence="7"/>
<menuitem id="menu_translation_app" name="Application Terms" parent="menu_translation" sequence="4" groups="base.group_no_one"/>
<menuitem id="menu_translation_export" name="Import / Export" parent="menu_translation" sequence="3" groups="base.group_no_one"/>
<menuitem id="menu_custom" name="Technical" parent="menu_administration" sequence="110" groups="base.group_no_one"/>
<menuitem id="next_id_2" name="User Interface" parent="menu_custom"/>
<menuitem id="menu_email" name="Email" parent="menu_custom" sequence="1"/>
<menuitem id="menu_security" name="Security" parent="menu_custom" sequence="25"/>
<menuitem id="menu_ir_property" name="Parameters" parent="menu_custom" sequence="24"/>
<menuitem id="next_id_4" name="Low Level Objects" parent="menu_custom" sequence="30"/>
</data>
</openerp>

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-07-08 22:23+0000\n"
"PO-Revision-Date: 2012-07-28 00:51+0000\n"
"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:40+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-07-29 04:36+0000\n"
"X-Generator: Launchpad (build 15694)\n"
#. module: base
#: model:res.country,name:base.sh
@ -459,7 +459,7 @@ msgstr "ir.ui.view_sc"
#: field:res.widget.user,widget_id:0
#: field:res.widget.wizard,widgets_list:0
msgid "Widget"
msgstr "ウィジット"
msgstr "ウィジット"
#. module: base
#: view:ir.model.access:0
@ -1002,7 +1002,7 @@ msgstr "オマーン"
#. module: base
#: model:ir.module.module,shortdesc:base.module_mrp
msgid "MRP"
msgstr "MRP(資材所要量計画)"
msgstr "MRP"
#. module: base
#: report:ir.module.reference.graph:0
@ -2514,7 +2514,7 @@ msgstr ""
#. module: base
#: model:ir.actions.act_window,name:base.action_res_widget_wizard
msgid "Homepage Widgets Management"
msgstr "ホームページウィジット管理"
msgstr "ホームページウィジット管理"
#. module: base
#: field:res.company,rml_header1:0
@ -2782,7 +2782,7 @@ msgstr "インポート / エクスポート"
#. module: base
#: model:ir.actions.todo.category,name:base.category_tools_customization_config
msgid "Tools / Customization"
msgstr "ツール / カスタマイゼーション"
msgstr "ツール / カスタム化"
#. module: base
#: field:ir.model.data,res_id:0
@ -2895,7 +2895,7 @@ msgstr "マネジャ"
#. module: base
#: model:ir.ui.menu,name:base.menu_custom
msgid "Customization"
msgstr "カスタマイゼーション"
msgstr "カスタム化"
#. module: base
#: model:res.country,name:base.py
@ -6423,7 +6423,7 @@ msgstr "多対1項目の属性削除"
#. module: base
#: model:ir.module.category,name:base.module_category_accounting_and_finance
msgid "Accounting & Finance"
msgstr "会計と金融"
msgstr "会計と財務"
#. module: base
#: field:ir.actions.server,write_id:0
@ -7703,7 +7703,7 @@ msgstr "販売員"
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_accountant
msgid "Accounting and Finance"
msgstr "会計と金融"
msgstr "会計と財務"
#. module: base
#: code:addons/base/module/module.py:429
@ -7797,7 +7797,7 @@ msgstr ""
#. module: base
#: view:res.widget.wizard:0
msgid "Widget Wizard"
msgstr "ウィジットウィザード"
msgstr "ウィジットウィザード"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_hn
@ -11238,7 +11238,7 @@ msgid ""
"(default: 465)"
msgstr ""
"接続の暗号化方式を選択:\n"
"・ なし: SMTPセッションはクリアテキストで行われ。\n"
"・ なし: SMTPセッションはクリアテキストで行われます。\n"
"・ TLSSTARTTLSTLS暗号化はSMTPセッションの開始において要求されます推奨。\n"
"・ SSL/TLSSMTPセッションは専用のポートデフォルト465によってSSL/TLSで暗号化されます。"
@ -12068,7 +12068,7 @@ msgstr ""
"このモジュールはパートナのアドレスの中にGoogleマップ項目を追加します。\n"
"====================================================\n"
"\n"
"これを使うと、URLウィジットからGoogleマップを直接開くことができます。"
"これを使うと、URLウィジットからGoogleマップを直接開くことができます。"
#. module: base
#: field:workflow.activity,action:0
@ -12413,7 +12413,7 @@ msgstr "あなたが作成 / 書き込みたいオブジェクト。もし、そ
#: selection:ir.module.module,state:0
#: selection:ir.module.module.dependency,state:0
msgid "Not Installed"
msgstr "インストールされていません。"
msgstr "インストール"
#. module: base
#: view:workflow.activity:0
@ -14297,7 +14297,7 @@ msgstr "連絡先を隠すためにはアクティブな項目のチェックを
#. module: base
#: model:ir.model,name:base.model_res_widget_wizard
msgid "Add a widget for User"
msgstr "ユーザのウィジットを追加"
msgstr "ユーザのウィジットを追加"
#. module: base
#: model:res.country,name:base.dk
@ -15305,7 +15305,7 @@ msgstr "イラン"
#: model:ir.actions.act_window,name:base.res_widget_user_act_window
#: model:ir.ui.menu,name:base.menu_res_widget_user_act_window
msgid "Widgets per User"
msgstr "ユーザ当りのウィジット"
msgstr "ユーザ当りのウィジット"
#. module: base
#: model:ir.actions.act_window,name:base.action_publisher_warranty_contract_form
@ -15579,7 +15579,7 @@ msgstr "情報"
#. module: base
#: view:res.widget.user:0
msgid "User Widgets"
msgstr "ユーザウィジット"
msgstr "ユーザウィジット"
#. module: base
#: view:base.module.update:0
@ -17621,7 +17621,7 @@ msgstr "機能"
#. module: base
#: view:res.widget:0
msgid "Search Widget"
msgstr "ウィジットの検索"
msgstr "ウィジットの検索"
#. module: base
#: model:ir.module.category,description:base.module_category_customer_relationship_management
@ -17742,7 +17742,7 @@ msgstr "受発注のドキュメントの内容に応じて、自動的に正し
#: model:ir.actions.act_window,name:base.res_widget_act_window
#: model:ir.ui.menu,name:base.menu_res_widget_act_window
msgid "Homepage Widgets"
msgstr "ホームページウィジット"
msgstr "ホームページウィジット"
#. module: base
#: help:res.company,rml_footer2:0
@ -17815,23 +17815,23 @@ msgid ""
" "
msgstr ""
"\n"
"このモジュールは何の開発もなし新しいモジュールの作成ができます。\n"
"このモジュールは何の開発もなし新しいモジュールの作成ができます。\n"
"======================================================================\n"
"\n"
"これは記録セッションの中でオブジェクトの全ての操作を記録します。そして、\n"
".ZIPモジュールを生成します。それによって、OpenERPクライアントから直接\n"
"独自モジュールを作成することができます。\n"
"\n"
"このバージョンは作成と既存のレコードの更新ために動作します。それは依存関係と、\n"
"全てのウィジットのタイプのためリンク(多対1、多対多など)を再計算します。\n"
"このバージョンは作成と既存のレコードの更新ために動作します。それは依存関係と、\n"
"全てのウィジットのタイプのためリンク(多対1、多対多など)を再計算します。\n"
"また、ワークフローとデモ / 更新データもサポートします。\n"
"\n"
"カスタム設定とデモ / テストデータのために、簡単に再利用と公表可能なモジュールを\n"
"作成するために役立つはずです。\n"
"\n"
"利用方法:\n"
"モジュールウィザードの アドミニストレーション/カスタマイゼーション/モジュール \n"
"作成/エクスポート カスタマイゼーション を実行します。\n"
"モジュールウィザードの アドミニストレーション/カスタム化/モジュール \n"
"作成/エクスポート カスタム化 を実行します。\n"
"記録の日時の基準、記録されるオブジェクト、記録モジュールを選択します。\n"
" "

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 16:29+0000\n"
"Last-Translator: Antony Lesuisse (OpenERP) <al@openerp.com>\n"
"PO-Revision-Date: 2012-07-26 16:30+0000\n"
"Last-Translator: Rinat Karimov <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:42+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-07-27 05:22+0000\n"
"X-Generator: Launchpad (build 15694)\n"
#. module: base
#: model:res.country,name:base.sh
@ -2732,7 +2732,7 @@ msgstr "Очистить ID"
#. module: base
#: view:res.groups:0
msgid "Inherited"
msgstr ""
msgstr "Унаследованный"
#. module: base
#: field:ir.model.fields,serialization_field_id:0
@ -6614,7 +6614,7 @@ msgstr "Совет"
#. module: base
#: view:res.company:0
msgid "Header/Footer of Reports"
msgstr ""
msgstr "Заголовок/подвал отчетов"
#. module: base
#: code:addons/base/res/res_users.py:746

View File

@ -482,6 +482,7 @@ class module(osv.osv):
'application': terp.get('application', False),
'auto_install': terp.get('auto_install', False),
'icon': terp.get('icon', False),
'summary': terp.get('summary', ''),
}
# update the list of available packages

View File

@ -132,6 +132,11 @@
<record model="res.groups" id="group_multi_company">
<field name="category_id" ref="module_category_usability"/>
</record>
<record model="res.groups" id="group_multi_currency">
<field name="category_id" ref="module_category_usability"/>
</record>
<record model="res.groups" id="group_no_one">
<field name="category_id" ref="module_category_usability"/>
</record>

View File

@ -66,6 +66,7 @@
<field name="icon"/>
<field name="name"/>
<field name="state"/>
<field name="summary"/>
<templates>
<t t-name="kanban-box">
<div class="oe_module_vignette oe_kanban_auto_height">
@ -74,7 +75,8 @@
<div class="oe_module_desc">
<h4><a type="edit"><field name="shortdesc"/></a></h4>
<p class="oe_module_name">
<field name="name"/><br/>
<t t-if="record.summary.raw_value"><field name="summary"/><br/></t>
<i><field name="name" groups="base.group_no_one"/></i>
</p>
<button type="object" name="button_immediate_install" states="uninstalled">Install</button>
<button t-if="installed" disabled="disabled">Installed</button>

View File

@ -41,7 +41,7 @@
<field name="help">Display and manage the list of all countries that can be assigned to your partner records. You can create or delete countries to make sure the ones you are working on will be maintained.</field>
</record>
<menuitem id="menu_localisation" name="Localisation" parent="menu_config_address_book" sequence="1"/>
<menuitem id="menu_localisation" name="Localisation" parent="menu_config_address_book" sequence="1" groups="base.group_no_one"/>
<menuitem action="action_country" id="menu_country_partner" parent="menu_localisation" sequence="0" groups="base.group_no_one"/>

View File

@ -78,7 +78,7 @@
<field name="search_view_id" ref="view_currency_search"/>
</record>
<menuitem action="action_currency_form" id="menu_action_currency_form" parent="menu_localisation" sequence="3"/>
<menuitem action="action_currency_form" id="menu_action_currency_form" parent="menu_localisation" sequence="3" groups="base.group_multi_currency"/>
<!--
Currency Rate Type

View File

@ -19,9 +19,10 @@
#
##############################################################################
import os
import math
import os
from osv import osv, fields
import re
import tools
from tools.translate import _
import logging
@ -103,12 +104,15 @@ class res_partner_category(osv.osv):
class res_partner_title(osv.osv):
_name = 'res.partner.title'
_order = 'name'
_columns = {
'name': fields.char('Title', required=True, size=46, translate=True),
'shortcut': fields.char('Abbreviation', required=True, size=16, translate=True),
'shortcut': fields.char('Abbreviation', size=16, translate=True),
'domain': fields.selection([('partner','Partner'),('contact','Contact')], 'Domain', required=True, size=24)
}
_order = 'name'
_defaults = {
'domain': 'contact',
}
def _lang_get(self, cr, uid, context=None):
lang_pool = self.pool.get('res.lang')
@ -301,6 +305,37 @@ class res_partner(osv.osv):
res.append((record.id, name))
return res
def name_create(self, cr, uid, name, context=None):
""" Override of orm's name_create method for partners. The purpose is
to handle some basic formats to create partners using the
name_create.
Supported syntax:
- 'raoul@grosbedon.fr': create a partner with name raoul@grosbedon.fr
and sets its email to raoul@grosbedon.fr
- 'Raoul Grosbedon <raoul@grosbedon.fr>': create a partner with name
Raoul Grosbedon, and set its email to raoul@grosbedon.fr
- anything else: fall back on the default name_create
Regex :
- ([a-zA-Z0-9._%-]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9._]{1,8}): raoul@grosbedon.fr
- ([\w\s.\\-]+)[\<]([a-zA-Z0-9._%-]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9._]{1,8})[\>]:
Raoul Grosbedon, raoul@grosbedon.fr
"""
contact_regex = re.compile('([\w\s.\\-]+)[\<]([a-zA-Z0-9._%-]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9._]{1,8})[\>]')
email_regex = re.compile('([a-zA-Z0-9._%-]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9._]{1,8})')
contact_regex_res = contact_regex.findall(name)
email_regex_res = email_regex.findall(name)
if contact_regex_res:
name = contact_regex_res[0][0].rstrip(' ') # remove extra spaces on the right
email = contact_regex_res[0][1]
rec_id = self.create(cr, uid, {self._rec_name: name, 'email': email}, context);
return self.name_get(cr, uid, [rec_id], context)[0]
elif email_regex:
email = '%s' % (email_regex_res[0])
rec_id = self.create(cr, uid, {self._rec_name: email, 'email': email}, context);
return self.name_get(cr, uid, [rec_id], context)[0]
else:
return super(res_partner, self).create(cr, uid, name, context)
def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
if not args:
args = []

View File

@ -1,16 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<menuitem icon="terp-partner" id="menu_base_partner" name="Sales" sequence="0" groups="base.group_sale_salesman"/>
<!-- Top menu item -->
<menuitem name="Sales"
id="menu_base_partner"
groups="base.group_sale_salesman"
sequence="30"/>
<menuitem id="base.menu_sales" parent="base.menu_base_partner" name="Sales" sequence="1" />
<menuitem id="menu_base_config" parent="menu_base_partner" name="Configuration" sequence="30" groups="group_system"/>
<menuitem id="menu_config_address_book" parent="menu_base_config" name="Address Book" sequence="40" groups="group_system"/>
<!--
=======================
Partner Titles
=======================
-->
<!-- Partner Titles -->
<record id="view_partner_title_tree" model="ir.ui.view">
<field name="name">res.partner.title.tree</field>
<field name="model">res.partner.title</field>
@ -31,7 +33,6 @@
<group col="4">
<field name="name"/>
<field name="shortcut"/>
<field name="domain"/>
</group>
</form>
</field>
@ -70,11 +71,8 @@
</record>
<menuitem action="action_partner_title_contact" id="menu_partner_title_contact" name="Contact Titles" parent="menu_config_address_book" sequence="3" groups="base.group_no_one"/>
<!--
=======================
Partner
=======================
-->
<!-- Partner -->
<record id="view_partner_tree" model="ir.ui.view">
<field name="name">res.partner.tree</field>
<field name="model">res.partner</field>
@ -104,11 +102,11 @@
<field name="photo" widget='image' class="oe_avatar oe_left"/>
<div class="oe_title">
<div class="oe_edit_only">
<label for="name" string="Customer Name"/>
<label for="name" string="Customer Name"/>
(<field name="is_company" on_change="onchange_type(is_company)" class="oe_inline"/> <label for="is_company" string="Is a Company?"/>)
</div>
<h1>
<field name="name"/>
<field name="name" default_focus="1"/>
</h1>
<field name="category_id" widget="many2many_tags" placeholder="Select Tags"/>
</div>
@ -119,7 +117,7 @@
<field name="parent_id"
domain="[('is_company', '=', True)]" context="{'default_is_company': True}"
attrs="{'invisible': [('is_company','=', True)]}"
on_change="onchange_address(use_parent_address, parent_id)"/>,
on_change="onchange_address(use_parent_address, parent_id)"/>,
<label for="type" attrs="{'invisible': [('parent_id','=', False)]}"/>
<div attrs="{'invisible': [('parent_id','=', False)]}">
<field class="oe_inline"
@ -150,12 +148,12 @@
<field name="fax"/>
<field name="email" widget="email"/>
<field name="title" domain="[('domain', '=', 'contact')]"
class="oe_no_button" attrs="{'invisible': [('is_company','=', True)]}"/>
options='{"no_open": true}' attrs="{'invisible': [('is_company','=', True)]}" />
</group>
</group>
<notebook colspan="4">
<page string="Contacts">
<page string="Contacts" attrs="{'invisible': [('is_company','=',False)]}">
<field name="child_ids" context="{'default_parent_id': active_id}" mode="kanban">
<kanban>
<field name="color"/>
@ -196,7 +194,7 @@
<a t-if="record.email.raw_value" title="Mail" t-att-href="'mailto:'+record.email.value" style="text-decoration: none;" >
<img src="/web/static/src/img/icons/terp-mail-message-new.png" border="0" width="16" height="16"/>
</a>
</td>
</tr>
</table>
@ -214,18 +212,24 @@
<group>
<field name="user_id" />
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<group>
<field name="customer"/>
<field name="supplier" invisible="1"/>
</group>
<group>
<field name="ref"/>
<field name="lang"/>
<field name="date"/>
</group>
<group>
<field name="customer"/>
<field name="supplier"/>
<field name="active"/>
</group>
</group>
</page>
<page string="History" invisible="True"></page>
<!-- The History page becomes visible as soon as there is something to display inside -->
<page string="History" name="page_history" invisible="True">
</page>
<page string="Internal Notes">
<field name="comment" placeholder="Internal notes about this customer..."/>
</page>
@ -252,7 +256,7 @@
<separator/>
<filter string="Customers" name="customer" icon="terp-personal" domain="[('customer','=',1)]" help="Customer Partners"/>
<separator/>
<filter string="Suppliers" name="supplier" icon="terp-personal" domain="[('supplier','=',1)]" help="Supplier Partners"/>
<filter string="Suppliers" name="supplier" icon="terp-personal" domain="[('supplier','=',1)]" help="Supplier Partners"/>
<group expand="0" string="Group By...">
<filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
<filter string="Company" context="{'group_by': 'parent_id'}"/>
@ -284,6 +288,7 @@
<field name="country_id"/>
<field name="mobile"/>
<field name="state_id"/>
<field name="category_id"/>
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_vignette">
@ -291,20 +296,20 @@
<img t-att-src="kanban_image('res.partner', 'photo', record.id.value)" class="oe_kanban_image"/>
</a>
<div class="oe_kanban_details">
<h4 class="oe_partner_heading"><a type="edit"><field name="name"/></a>
</h4>
<ul>
<li t-if="record.parent_id.raw_value and !record.function.raw_value"><field name="parent_id"/></li>
<li t-if="!record.parent_id.raw_value and record.function.raw_value"><field name="function"/></li>
<li t-if="record.parent_id.raw_value and record.function.raw_value"><field name="function"/> at <field name="parent_id"/></li>
<li t-if="record.city.raw_value and !record.country.raw_value"><field name="city"/></li>
<li t-if="!record.city.raw_value and record.country.raw_value"><field name="country"/></li>
<li t-if="record.city.raw_value and record.country.raw_value"><field name="city"/>, <field name="country"/></li>
<li t-if="record.mobile.raw_value"><field name="mobile"/></li>
<li t-if="record.phone.raw_value">Tel: <field name="phone"/></li>
<li t-if="record.mobile.raw_value">Mobile: <field name="mobile"/></li>
<li t-if="record.email.raw_value"><a t-attf-href="mailto:#{record.email.raw_value}"><field name="email"/></a></li>
</ul>
<h4 class="oe_partner_heading"><a type="edit"><field name="name"/></a></h4>
<div class="oe_kanban_partner_categories"/>
<div class="oe_kanban_partner_links"/>
<ul>
<li t-if="record.parent_id.raw_value and !record.function.raw_value"><field name="parent_id"/></li>
<li t-if="!record.parent_id.raw_value and record.function.raw_value"><field name="function"/></li>
<li t-if="record.parent_id.raw_value and record.function.raw_value"><field name="function"/> at <field name="parent_id"/></li>
<li t-if="record.city.raw_value and !record.country.raw_value"><field name="city"/></li>
<li t-if="!record.city.raw_value and record.country.raw_value"><field name="country"/></li>
<li t-if="record.city.raw_value and record.country.raw_value"><field name="city"/>, <field name="country"/></li>
<li t-if="record.phone.raw_value">Tel: <field name="phone"/></li>
<li t-if="record.mobile.raw_value">Mobile: <field name="mobile"/></li>
<li t-if="record.email.raw_value"><a t-attf-href="mailto:#{record.email.raw_value}"><field name="email"/></a></li>
</ul>
</div>
</div>
@ -424,11 +429,8 @@
<field name="view_type">form</field>
<field name="view_id" ref="view_payterm_form"/>
</record>
<!--
======================
Categories
======================
-->
<!-- Categories -->
<record id="view_partner_category_form" model="ir.ui.view">
<field name="name">Partner Categories</field>
<field name="model">res.partner.category</field>
@ -507,4 +509,3 @@
</data>
</openerp>

View File

@ -58,7 +58,7 @@
<field name="comment"/>
</page>
</notebook>
</sheet>
</sheet>
</form>
</field>
</record>
@ -199,7 +199,7 @@
<field name="name" readonly="1" class="oe_inline"/>
(<field name="login" readonly="1" class="oe_inline"/>)
</h1>
<group col="4">
<group name="preferences" col="4">
<field name="context_lang" readonly="0"/>
<field name="company_id" readonly="0"
groups="base.group_multi_company" on_change="on_change_company_id(company_id)"/>

View File

@ -23,6 +23,10 @@
<record model="res.groups" id="group_multi_company">
<field name="name">Multi Companies</field>
</record>
<record model="res.groups" id="group_multi_currency">
<field name="name">Multi Currencies</field>
</record>
<record model="res.groups" id="group_no_one">
<field name="name">Technical Features</field>

View File

@ -19,10 +19,8 @@
<rng:element name="value">
<rng:optional><rng:attribute name="model" /></rng:optional>
<rng:optional><rng:attribute name="search" /></rng:optional>
<rng:optional>
<rng:attribute name="eval"/>
</rng:optional>
<rng:empty />
<rng:optional><rng:attribute name="eval" /></rng:optional>
<rng:optional><rng:text/></rng:optional>
</rng:element>
</rng:define>

View File

@ -77,8 +77,8 @@ def initialize(cr):
cr.execute('INSERT INTO ir_module_module \
(author, website, name, shortdesc, description, \
category_id, auto_install, state, certificate, web, license, application, icon, sequence) \
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING id', (
category_id, auto_install, state, certificate, web, license, application, icon, sequence, summary) \
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING id', (
info['author'],
info['website'], i, info['name'],
info['description'], category_id,
@ -86,7 +86,7 @@ def initialize(cr):
info['web'],
info['license'],
info['application'], info['icon'],
info['sequence']))
info['sequence'], info['summary']))
id = cr.fetchone()[0]
cr.execute('INSERT INTO ir_model_data \
(name,model,module, res_id, noupdate) VALUES (%s,%s,%s,%s,%s)', (

View File

@ -341,6 +341,7 @@ def load_information_from_description_file(module):
'web': False,
'website': '',
'sequence': 100,
'summary': '',
}
info.update(itertools.izip(
'depends data demo test init_xml update_xml demo_xml'.split(),

View File

@ -49,7 +49,7 @@ import simplejson
_logger = logging.getLogger(__name__)
def _symbol_set(symb):
if symb == None or symb == False:
if symb is None or symb == False:
return None
elif isinstance(symb, unicode):
return symb.encode('utf-8')
@ -181,8 +181,8 @@ class reference(_column):
class char(_column):
_type = 'char'
def __init__(self, string, size, **args):
_column.__init__(self, string=string, size=size, **args)
def __init__(self, string="unknown", size=None, **args):
_column.__init__(self, string=string, size=size or None, **args)
self._symbol_set = (self._symbol_c, self._symbol_set_char)
# takes a string (encoded in utf8) and returns a string (encoded in utf8)
@ -191,7 +191,7 @@ class char(_column):
# * we need to remove the "symb==False" from the next line BUT
# for now too many things rely on this broken behavior
# * the symb==None test should be common to all data types
if symb == None or symb == False:
if symb is None or symb == False:
return None
# we need to convert the string to a unicode object to be able

View File

@ -758,7 +758,7 @@ class BaseModel(object):
'model_id': model_id,
'model': self._name,
'name': k,
'field_description': f.string.replace("'", " "),
'field_description': f.string,
'ttype': f._type,
'relation': f._obj or '',
'view_load': (f.view_load and 1) or 0,
@ -767,7 +767,7 @@ class BaseModel(object):
'required': (f.required and 1) or 0,
'selectable': (f.selectable and 1) or 0,
'translate': (f.translate and 1) or 0,
'relation_field': (f._type=='one2many' and isinstance(f, fields.one2many)) and f._fields_id or '',
'relation_field': f._fields_id if isinstance(f, fields.one2many) else '',
'serialization_field_id': None,
}
if getattr(f, 'serialization_field', None):