@@ -630,7 +630,7 @@ class account_bank_statement_line(osv.osv):
|
||||
'statement_id': fields.many2one('account.bank.statement', 'Statement',
|
||||
select=True, required=True, ondelete='cascade'),
|
||||
'reconcile_id': fields.many2one('account.bank.statement.reconcile',
|
||||
'Reconcile', states={'confirm':[('readonly',True)]}),
|
||||
'Reconcile'),
|
||||
'move_ids': fields.many2many('account.move',
|
||||
'account_bank_statement_line_move_rel', 'move_id','statement_id',
|
||||
'Moves'),
|
||||
|
||||
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-03-15 03:12+0000\n"
|
||||
"PO-Revision-Date: 2010-05-20 07:09+0000\n"
|
||||
"Last-Translator: Songpon Phusing <p.songpon@gmail.com>\n"
|
||||
"Language-Team: Thai <th@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: 2010-04-17 04:08+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-21 03:38+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
@@ -51,7 +51,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: model:account.account.type,name:account.account_type_asset
|
||||
msgid "Asset"
|
||||
msgstr ""
|
||||
msgstr "สินทรัพย์"
|
||||
|
||||
#. module: account
|
||||
#: constraint:ir.actions.act_window:0
|
||||
@@ -106,7 +106,7 @@ msgstr ""
|
||||
#: model:ir.actions.wizard,name:account.wizard_vat_declaration
|
||||
#: model:ir.ui.menu,name:account.menu_wizard_vat_declaration
|
||||
msgid "Print Taxes Report"
|
||||
msgstr ""
|
||||
msgstr "พิมพ์รายงานภาษี"
|
||||
|
||||
#. module: account
|
||||
#: field:account.account,parent_id:0
|
||||
@@ -2133,7 +2133,8 @@ msgid "Analytic Entry"
|
||||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
#: view:res.company:0 field:res.company,overdue_msg:0
|
||||
#: view:res.company:0
|
||||
#: field:res.company,overdue_msg:0
|
||||
msgid "Overdue Payments Message"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-20 05:23+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-21 03:38+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_chart
|
||||
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-20 05:23+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-21 03:37+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_setup
|
||||
|
||||
@@ -103,7 +103,7 @@ class crm_lead(osv.osv, crm_case):
|
||||
'email_cc': fields.text('Watchers Emails', size=252 , help="These \
|
||||
people will receive a copy of the future communication between partner \
|
||||
and users by email"),
|
||||
'description': fields.text('Description'),
|
||||
'description': fields.text('Notes'),
|
||||
'write_date': fields.datetime('Update Date' , readonly=True),
|
||||
|
||||
# Lead fields
|
||||
@@ -137,7 +137,7 @@ and users by email"),
|
||||
\nIf the case is in progress the state is set to \'Open\'.\
|
||||
\nWhen the case is over, the state is set to \'Done\'.\
|
||||
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
|
||||
}
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'active': lambda *a: 1,
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Routing Work Centers">
|
||||
<field name="sequence"/>
|
||||
<field name="workcenter_id" select="1"/>
|
||||
<field name="workcenter_id"/>
|
||||
<field name="cycle_nbr"/>
|
||||
<field name="hour_nbr"/>
|
||||
</tree>
|
||||
|
||||
@@ -113,8 +113,9 @@
|
||||
<field name="act_to" ref="prod_act_cancel"/>
|
||||
<field name="signal">button_cancel</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Procurement -->
|
||||
|
||||
<record id="act_produce" model="workflow.activity">
|
||||
<field name="wkf_id" ref="mrp_procurement.wkf_procurement"/>
|
||||
<field name="name">produce</field>
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Procurement -->
|
||||
|
||||
<record id="wkf_procurement" model="workflow">
|
||||
<field name="name">mrp.procurement.basic</field>
|
||||
<field name="osv">mrp.procurement</field>
|
||||
|
||||
@@ -8,41 +8,45 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-12-08 11:46+0000\n"
|
||||
"PO-Revision-Date: 2010-01-26 11:01+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2010-05-20 14:21+0000\n"
|
||||
"Last-Translator: Christophe Chauvet - http://www.syleam.fr/ <Unknown>\n"
|
||||
"Language-Team: French <fr@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: 2010-04-17 04:21+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-21 03:38+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: multi_company
|
||||
#: help:multi_company.default,object_id:0
|
||||
msgid "Object affect by this rules"
|
||||
msgstr ""
|
||||
msgstr "Objet affecté par cette règle"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Le nom de l'objet doit commencer par x_ et ne doit pas contenir de "
|
||||
"caractères spéciaux !"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:product.template:0
|
||||
msgid ""
|
||||
"Error: The default UOM and the purchase UOM must be in the same category."
|
||||
msgstr ""
|
||||
"Erreur: l'unité de mesure par défaut et l'unité de mesure d'achat doivent "
|
||||
"faire partie de la même catégorie"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:res.partner:0
|
||||
msgid "The VAT doesn't seem to be correct."
|
||||
msgstr ""
|
||||
msgstr "La TVA ne semble pas correcte"
|
||||
|
||||
#. module: multi_company
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Nom de l'objet invalide dans l'action défini"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:res.company,overdue_msg:multi_company.res_company_odoo
|
||||
@@ -59,18 +63,18 @@ msgstr ""
|
||||
#. module: multi_company
|
||||
#: field:multi_company.default,company_dest_id:0
|
||||
msgid "Default Company"
|
||||
msgstr ""
|
||||
msgstr "Société par défaut"
|
||||
|
||||
#. module: multi_company
|
||||
#: field:multi_company.default,object_id:0
|
||||
msgid "Object"
|
||||
msgstr ""
|
||||
msgstr "Objet"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.module.module,shortdesc:multi_company.module_meta_information
|
||||
#: view:multi_company.default:0
|
||||
msgid "Multi Company"
|
||||
msgstr ""
|
||||
msgstr "Multi société"
|
||||
|
||||
#. module: multi_company
|
||||
#: model:ir.module.module,description:multi_company.module_meta_information
|
||||
|
||||
@@ -423,10 +423,10 @@
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="20">
|
||||
<filter string="Users" name="user_id" icon="terp-project" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Project" icon="terp-project" domain="[]" context="{'group_by':'project_id'}" default = "1"/>
|
||||
<filter string="Stage" icon="terp-project" domain="[]" context="{'group_by':'type'}"/>
|
||||
<filter string="State" icon="terp-project" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="Users" name="group_user_id" icon="terp-project" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Project" name="group_project_id" icon="terp-project" domain="[]" context="{'group_by':'project_id'}" default = "1"/>
|
||||
<filter string="Stage" name="group_stage_id" icon="terp-project" domain="[]" context="{'group_by':'type'}"/>
|
||||
<filter string="State" name="group_state" icon="terp-project" domain="[]" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Deadline" icon="terp-project" domain="[]" context="{'group_by':'date_deadline'}"/>
|
||||
<filter string="Start Date" icon="terp-project" domain="[]" context="{'group_by':'date_start'}"/>
|
||||
|
||||
@@ -93,22 +93,17 @@ class purchase_requisition_line(osv.osv):
|
||||
@param product_id: Changed product_id
|
||||
@return: Dictionary of changed values
|
||||
"""
|
||||
value = {}
|
||||
|
||||
value = {'product_uom_id': ''}
|
||||
if product_id:
|
||||
prod = self.pool.get('product.product').browse(cr, uid, [product_id])[0]
|
||||
value = {'product_uom_id': prod.uom_id.id}
|
||||
if product_uom_id != prod.uom_id.id:
|
||||
value = {'product_uom_id': prod.uom_id.id}
|
||||
return {'value': value}
|
||||
|
||||
_defaults = {
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id,
|
||||
}
|
||||
|
||||
purchase_requisition_line()
|
||||
|
||||
|
||||
class purchase_order(osv.osv):
|
||||
_inherit = "purchase.order"
|
||||
_columns = {
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-03-25 14:13+0000\n"
|
||||
"Last-Translator: Numérigraphe <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-05-20 06:22+0000\n"
|
||||
"Last-Translator: Olivier (Open ERP) <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: 2010-04-17 03:56+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-21 03:37+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: stock
|
||||
@@ -677,7 +677,7 @@ msgstr "Date d'envoi prévue"
|
||||
#. module: stock
|
||||
#: rml:stock.picking.list:0
|
||||
msgid "Shipping Address :"
|
||||
msgstr ""
|
||||
msgstr "Adresse de livraison"
|
||||
|
||||
#. module: stock
|
||||
#: view:stock.tracking:0
|
||||
@@ -1703,7 +1703,7 @@ msgstr "Magasin"
|
||||
#: selection:stock.move,state:0
|
||||
#: selection:stock.picking,state:0
|
||||
msgid "Done"
|
||||
msgstr "Terminer"
|
||||
msgstr "Terminé"
|
||||
|
||||
#. module: stock
|
||||
#: model:stock.location,name:stock.stock_location_locations_virtual
|
||||
|
||||
+17
-19
@@ -351,20 +351,18 @@ class stock_tracking(osv.osv):
|
||||
_name = "stock.tracking"
|
||||
_description = "Stock Tracking Lots"
|
||||
|
||||
def get_create_tracking_lot(self, cr, uid, ids, context):
|
||||
tracking_id = context.get('tracking_id', False)
|
||||
tracking_id_list = self.search(cr, uid, [('name', '=', tracking_id)],
|
||||
def get_create_tracking_lot(self, cr, uid, ids, tracking_lot):
|
||||
tracking_lot_list = self.search(cr, uid, [('name', '=', tracking_lot)],
|
||||
limit=1)
|
||||
if tracking_id_list:
|
||||
tracking_id = tracking_id_list[0]
|
||||
tracking_obj = self.browse(cr, uid, tracking_id)
|
||||
if tracking_lot_list:
|
||||
tracking_lot = tracking_lot_list[0]
|
||||
tracking_obj = self.browse(cr, uid, tracking_lot)
|
||||
if not tracking_obj:
|
||||
tracking_lot_vals = {
|
||||
'name': tracking_id
|
||||
'name': tracking_lot
|
||||
}
|
||||
tracking_id = self.create(cr, uid, tracking_lot_vals,
|
||||
context=context)
|
||||
return tracking_id
|
||||
tracking_lot = self.create(cr, uid, tracking_lot_vals)
|
||||
return tracking_lot
|
||||
def checksum(sscc):
|
||||
salt = '31' * 8 + '3'
|
||||
sum = 0
|
||||
@@ -1650,15 +1648,15 @@ class stock_move(osv.osv):
|
||||
'line_id': lines,
|
||||
'ref': ref,
|
||||
})
|
||||
tracking_id = False
|
||||
tracking_lot = False
|
||||
if context:
|
||||
tracking_id = context.get('tracking_id', False)
|
||||
if tracking_id:
|
||||
tracking_lot = context.get('tracking_lot', False)
|
||||
if tracking_lot:
|
||||
rec_id = context and context.get('active_id', False)
|
||||
tracking = self.pool.get('stock.tracking')
|
||||
tracking_id = tracking.get_create_tracking_lot(cr, uid,[rec_id], context=context )
|
||||
tracking_lot = tracking.get_create_tracking_lot(cr, uid,[rec_id], tracking_lot)
|
||||
|
||||
self.write(cr, uid, ids, {'state': 'done', 'date_planned': time.strftime('%Y-%m-%d %H:%M:%S'), 'tracking_id': tracking_id or False})
|
||||
self.write(cr, uid, ids, {'state': 'done', 'date_planned': time.strftime('%Y-%m-%d %H:%M:%S'), 'tracking_id': tracking_lot or False})
|
||||
picking_obj = self.pool.get('stock.picking')
|
||||
for pick in picking_obj.browse(cr, uid, picking_ids):
|
||||
if all(move.state == 'done' for move in pick.move_lines):
|
||||
@@ -1878,7 +1876,7 @@ class stock_move(osv.osv):
|
||||
partner_id = partial_datas.get('partner_id', False)
|
||||
address_id = partial_datas.get('address_id', False)
|
||||
delivery_date = partial_datas.get('delivery_date', False)
|
||||
tracking_id = context.get('tracking_id', False)
|
||||
tracking_lot = context.get('tracking_lot', False)
|
||||
|
||||
new_moves = []
|
||||
|
||||
@@ -1897,7 +1895,7 @@ class stock_move(osv.osv):
|
||||
if move.product_qty == product_qty:
|
||||
self.write(cr, uid, move.id,
|
||||
{
|
||||
'tracking_id': tracking_id
|
||||
'tracking_id': tracking_lot
|
||||
})
|
||||
complete.append(move)
|
||||
elif move.product_qty > product_qty:
|
||||
@@ -1943,7 +1941,7 @@ class stock_move(osv.osv):
|
||||
'state': 'assigned',
|
||||
'move_dest_id': False,
|
||||
'price_unit': move.price_unit,
|
||||
'tracking_id': tracking_id,
|
||||
'tracking_id': tracking_lot,
|
||||
})
|
||||
complete.append(self.browse(cr, uid, new_move))
|
||||
self.write(cr, uid, move.id,
|
||||
@@ -1958,7 +1956,7 @@ class stock_move(osv.osv):
|
||||
{
|
||||
'product_qty': move.product_qty,
|
||||
'product_uos_qty': move.product_qty,
|
||||
'tracking_id': tracking_id
|
||||
'tracking_id': tracking_lot
|
||||
})
|
||||
complete.append(move)
|
||||
|
||||
|
||||
+25
-25
@@ -192,9 +192,9 @@
|
||||
<field name="field_parent">child_ids</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="grey:not active" string="Tracking Number">
|
||||
<field name="name" select="1"/>
|
||||
<field name="serial" select="1"/>
|
||||
<field name="date" select="1"/>
|
||||
<field name="name" />
|
||||
<field name="serial" />
|
||||
<field name="date" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -308,17 +308,17 @@
|
||||
<field name="field_parent">move_history_ids</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="grey:state in ('cancel')" string="Moves">
|
||||
<field name="product_id" select="1"/>
|
||||
<field name="product_qty" select="1"/>
|
||||
<field name="product_uom" select="1" string="UOM"/>
|
||||
<field name="prodlot_id" select="1" groups="base.group_extended"/>
|
||||
<field name="product_id" />
|
||||
<field name="product_qty" />
|
||||
<field name="product_uom" string="UOM"/>
|
||||
<field name="prodlot_id" groups="base.group_extended"/>
|
||||
<field name="product_packaging" domain="[('product_id','=',product_id)]" groups="base.group_extended"/>
|
||||
<field name="picking_id"/>
|
||||
<field name="location_id" select="1"/>
|
||||
<field name="location_dest_id" select="1"/>
|
||||
<field name="date" select="1"/>
|
||||
<field name="date_planned" select="1" string="Date"/>
|
||||
<field name="date_expected" select="1" string="Date Expected"/>
|
||||
<field name="location_id" />
|
||||
<field name="location_dest_id" />
|
||||
<field name="date"/>
|
||||
<field name="date_planned" string="Date"/>
|
||||
<field name="date_expected" string="Date Expected"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
@@ -331,17 +331,17 @@
|
||||
<field name="field_parent">move_history_ids2</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="grey:state in ('cancel')" string="Moves">
|
||||
<field name="product_id" select="1"/>
|
||||
<field name="product_qty" select="1"/>
|
||||
<field name="product_uom" select="1" string="UOM"/>
|
||||
<field name="prodlot_id" select="1" groups="base.group_extended"/>
|
||||
<field name="product_id" />
|
||||
<field name="product_qty" />
|
||||
<field name="product_uom" string="UOM"/>
|
||||
<field name="prodlot_id" groups="base.group_extended"/>
|
||||
<field name="product_packaging" domain="[('product_id','=',product_id)]" groups="base.group_extended"/>
|
||||
<field name="picking_id"/>
|
||||
<field name="location_id" select="1"/>
|
||||
<field name="location_dest_id" select="1"/>
|
||||
<field name="date" select="1"/>
|
||||
<field name="date_planned" select="1" string="Date"/>
|
||||
<field name="date_expected" select="1" string="Date Expected"/>
|
||||
<field name="location_id" />
|
||||
<field name="location_dest_id" />
|
||||
<field name="date" />
|
||||
<field name="date_planned" string="Date"/>
|
||||
<field name="date_expected" string="Date Expected"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
@@ -625,7 +625,7 @@
|
||||
<field name="location_id"/>
|
||||
<field name="location_dest_id"/>
|
||||
<field name="date_planned"/>
|
||||
<field name="date_expected" select="1" string="Date Expected"/>
|
||||
<field name="date_expected" string="Date Expected"/>
|
||||
<field name="state"/>
|
||||
<button
|
||||
name="%(stock.track_line)d"
|
||||
@@ -652,7 +652,7 @@
|
||||
<field colspan="4" invisible="1" name="name"/>
|
||||
<field invisible="1" name="date"/>
|
||||
<field name="date_planned"/>
|
||||
<field name="date_expected" select="1" string="Date Expected"/>
|
||||
<field name="date_expected" string="Date Expected"/>
|
||||
<field name="address_id" context="{'contact_display':'partner'}"/>
|
||||
<field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>
|
||||
<field name="prodlot_id" groups="base.group_extended"
|
||||
@@ -777,7 +777,7 @@
|
||||
<field name="location_id"/>
|
||||
<field name="location_dest_id"/>
|
||||
<field name="date_planned"/>
|
||||
<field name="date_expected" select="1" string="Date Expected"/>
|
||||
<field name="date_expected" string="Date Expected"/>
|
||||
<field name="state"/>
|
||||
<button
|
||||
name="%(stock.track_line)d"
|
||||
@@ -1528,7 +1528,7 @@
|
||||
</group>
|
||||
<newline/>
|
||||
<group col='8' colspan='14' expand="1" string="Tracking Lots">
|
||||
<field name="tracking_id" context="{'tracking_id': self}" />
|
||||
<field name="tracking_id" context="{'tracking_lot': self}" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="4" col="8">
|
||||
|
||||
@@ -187,11 +187,11 @@ class stock_partial_move(osv.osv_memory):
|
||||
|
||||
def do_partial(self, cr, uid, ids, context):
|
||||
rec_id = context and context.get('active_id', False)
|
||||
tracking_id = context.get('tracking_id', False)
|
||||
if tracking_id:
|
||||
tracking_lot = context.get('tracking_lot', False)
|
||||
if tracking_lot:
|
||||
tracking = self.pool.get('stock.tracking')
|
||||
tracking_id = tracking.get_create_tracking_lot(cr, uid,[rec_id], context=context )
|
||||
context ['tracking_id'] = tracking_id
|
||||
tracking_lot = tracking.get_create_tracking_lot(cr, uid,[rec_id], tracking_lot)
|
||||
context ['tracking_lot'] = tracking_lot
|
||||
move_obj = self.pool.get('stock.move')
|
||||
move_ids = context.get('active_ids', False)
|
||||
partial = self.browse(cr, uid, ids[0], context)
|
||||
|
||||
Reference in New Issue
Block a user