@@ -1746,7 +1746,12 @@ class account_tax(osv.osv):
|
||||
tin = self.compute_inv(cr, uid, tin, price_unit, quantity, address_id=address_id, product=product, partner=partner)
|
||||
for r in tin:
|
||||
totalex -= r['amount']
|
||||
tex = self._compute(cr, uid, tex, totalex/quantity, quantity, address_id=address_id, product=product, partner=partner)
|
||||
totlex_qty=0.0
|
||||
try:
|
||||
totlex_qty=totalex/quantity
|
||||
except:
|
||||
pass
|
||||
tex = self._compute(cr, uid, tex, totlex_qty, quantity, address_id=address_id, product=product, partner=partner)
|
||||
for r in tex:
|
||||
totalin += r['amount']
|
||||
return {
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
<field name="number" readonly="1"/>
|
||||
<field name="type" invisible="1"/>
|
||||
<field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)" width="50"/>
|
||||
<button name="%(action_account_change_currency)d" type="action" icon="gtk-apply" string="Change"/>
|
||||
<button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change"/>
|
||||
<newline/>
|
||||
<field name="partner_id" domain="[('supplier','=', 1)]" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank,company_id)" context="{'default_customer': 0}"/>
|
||||
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
|
||||
@@ -202,7 +202,7 @@
|
||||
<field name="state"/>
|
||||
<field name="residual"/>
|
||||
<group col="3" colspan="4">
|
||||
<button name="invoice_open" states="draft,proforma2" string="Validate" icon="terp-camera_test"/>
|
||||
<button name="invoice_open" states="draft,proforma2" string="Approve" icon="terp-camera_test"/>
|
||||
<button name="%(action_account_invoice_pay)d" type='action' string='Pay Invoice' states='open' icon="gtk-ok"/>
|
||||
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="terp-gtk-stop"/>
|
||||
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="terp-stock_effects-object-colorize"/>
|
||||
|
||||
@@ -1059,7 +1059,7 @@
|
||||
<field name="to_check" groups="base.group_extended"/>
|
||||
<field name="amount"/>
|
||||
<field name="state"/>
|
||||
<button name="button_validate" states="draft" string="Validate" type="object" icon="terp-camera_test"/>
|
||||
<button name="button_validate" states="draft" string="Approve" type="object" icon="terp-camera_test"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -1127,7 +1127,7 @@
|
||||
<field name="narration" colspan="4" nolabel="1"/>
|
||||
<field name="state" select="1"/>
|
||||
<group col="2" colspan="2">
|
||||
<button name="button_validate" states="draft" string="Validate" type="object" icon="terp-camera_test"/>
|
||||
<button name="button_validate" states="draft" string="Approve" type="object" icon="terp-camera_test"/>
|
||||
<button name="button_cancel" states="posted" string="Cancel" type="object" icon="terp-gtk-stop"/>
|
||||
</group>
|
||||
</page>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<field name="period_id"/>
|
||||
<group colspan="4" col="6">
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="terp-camera_test" string="Validate" name="validate_move" type="object"/>
|
||||
<button icon="terp-camera_test" string="Approve" name="validate_move" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
@@ -47,7 +47,7 @@
|
||||
<form string="Validate Moves">
|
||||
<separator string="Validate Ledger Postings" colspan="4"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="validate_move_lines" string="Validate" type="object" icon="gtk-go-forward" default_focus="1"/>
|
||||
<button name="validate_move_lines" string="Approve" type="object" icon="gtk-go-forward" default_focus="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
<field name="state" select="1"/>
|
||||
<group col="4" colspan="2">
|
||||
<button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-apply" />
|
||||
<button string="Validate" name="validate" states="confirm" type="workflow" icon="gtk-ok"/>
|
||||
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-ok"/>
|
||||
<button string="Done" name="done" states="validate" type="workflow" icon="gtk-jump-to" />
|
||||
<button string="Cancel" name="cancel" states="confirm,validate" type="workflow" icon="gtk-cancel"/>
|
||||
<!--<button string="Set to Draft" name="action_set_to_draft" states="cancel" type="object"/>-->
|
||||
@@ -181,7 +181,7 @@
|
||||
<search string="Budget">
|
||||
<group col="20" colspan="4">
|
||||
<filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help="Draft Budgets" default="1"/>
|
||||
<filter string="To Validate" icon="terp-gtk-go-back-rtl" domain="[('state','=','validate')]" help="To Validate Budgets" />
|
||||
<filter string="To Approve" icon="terp-gtk-go-back-rtl" domain="[('state','=','validate')]" help="To Approve Budgets" />
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1" />
|
||||
|
||||
@@ -207,7 +207,7 @@
|
||||
</record>
|
||||
|
||||
<record id="action_payment_order_open" model="ir.actions.act_window">
|
||||
<field name="name">Payment Orders to Validate</field>
|
||||
<field name="name">Payment Orders to Approve</field>
|
||||
<field name="res_model">payment.order</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
|
||||
@@ -116,10 +116,10 @@ class account_voucher(osv.osv):
|
||||
('journal_pur_voucher','Journal Purchase'),
|
||||
('journal_voucher','Journal Voucher'),
|
||||
],'Entry Type', select=True , size=128, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'date':fields.date('Date', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'date':fields.date('Date', readonly=True, states={'draft':[('readonly',False)]}, help="Effective date for accounting entries"),
|
||||
'journal_id':fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'account_id':fields.many2one('account.account', 'Account', required=True, readonly=True, states={'draft':[('readonly',False)]}, domain=[('type','<>','view')]),
|
||||
'payment_ids':fields.one2many('account.voucher.line','voucher_id','Voucher Lines', readonly=False, states={'proforma':[('readonly',True)]}),
|
||||
'payment_ids':fields.one2many('account.voucher.line','voucher_id','Voucher Lines', readonly=False, states={'draft':[('readonly',True)]}),
|
||||
'period_id': fields.many2one('account.period', 'Period', required=True, readonly=True, states={'posted':[('readonly',True)]}),
|
||||
'narration':fields.text('Narration', readonly=True, states={'draft':[('readonly',False)]}, required=False),
|
||||
'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
@@ -137,9 +137,8 @@ class account_voucher(osv.osv):
|
||||
\n* The \'Posted\' state is used when user create voucher,a voucher number is generated and voucher entries are created in account \
|
||||
\n* The \'Cancelled\' state is used when user cancel voucher.'),
|
||||
'amount':fields.float('Amount', readonly=True),
|
||||
'reference': fields.char('Voucher Reference', size=64),
|
||||
'reference_type': fields.selection(_get_reference_type, 'Reference Type',
|
||||
required=True),
|
||||
'reference': fields.char('Reference', size=64, readonly=True, states={'draft':[('readonly',False)]}, help="Bank cheque number or payorder number"),
|
||||
'reference_type': fields.selection(_get_reference_type, 'Reference Type', required=True),
|
||||
'number': fields.related('move_id', 'name', type="char", readonly=True, string='Number'),
|
||||
'move_id':fields.many2one('account.move', 'Account Entry'),
|
||||
'move_ids':fields.many2many('account.move.line', 'voucher_id', 'account_id', 'rel_account_move', 'Real Entry'),
|
||||
@@ -280,7 +279,8 @@ class account_voucher(osv.osv):
|
||||
'journal_id': journal.id,
|
||||
'type' : inv.type,
|
||||
'narration' : inv.narration and inv.narration or inv.name,
|
||||
'date':inv.date
|
||||
'date':inv.date,
|
||||
'ref':inv.reference
|
||||
}
|
||||
|
||||
if inv.period_id:
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Journal Entries">
|
||||
<field name="payment_ids" colspan="4" nolabel="1" height="250">
|
||||
<field name="payment_ids" colspan="4" nolabel="1" height="200">
|
||||
<tree string="Voucher Lines" editable="top">
|
||||
<field name="partner_id" on_change="onchange_partner(partner_id,type,parent.type, parent.currency_id)"/>
|
||||
<field name="account_id"/>
|
||||
@@ -46,14 +46,21 @@
|
||||
<field name="ref"/>
|
||||
</tree>
|
||||
</field>
|
||||
<separator string="Narration" colspan="4"/>
|
||||
<field name="narration" colspan="4" nolabel="1" height="50"/>
|
||||
<group col="2" colspan="3">
|
||||
<separator string="Narration" colspan="2"/>
|
||||
<field name="narration" colspan="2" nolabel="1"/>
|
||||
</group>
|
||||
<group col="2" colspan="1">
|
||||
<separator string="Other Informtion" colspan="2"/>
|
||||
<field name="reference" select="1"/>
|
||||
<field name="date" select="1"/>
|
||||
<field name="currency_id" select="1"/>
|
||||
|
||||
</group>
|
||||
</page>
|
||||
<page string="Other Info">
|
||||
<page string="Accounting Entries">
|
||||
<field name="company_id" select="1" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="currency_id" select="1" />
|
||||
<field name="period_id"/>
|
||||
<field name="date" select="1"/>
|
||||
<separator string="General Entries" colspan="4"/>
|
||||
<field name="move_ids" colspan="4" nolabel="1" readonly="1"/>
|
||||
</page>
|
||||
@@ -62,7 +69,7 @@
|
||||
<field name="state"/>
|
||||
<button name="open_voucher" string="Pro-forma" states="draft" icon="terp-check"/>
|
||||
<button name="proforma_voucher" string="Create" states="proforma" icon="terp-document-new"/>
|
||||
<button name="recheck_voucher" string="Validate" states="recheck" icon="terp-check"/>
|
||||
<button name="recheck_voucher" string="Approve" states="recheck" icon="terp-check"/>
|
||||
<button name="audit_complete" string="Audit Pass" states="posted" icon="terp-check"/>
|
||||
<button name="cancel_voucher" string="Cancel" states="proforma,recheck,posted" icon="gtk-cancel"/>
|
||||
<button name="cancel_to_draft" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
|
||||
|
||||
@@ -63,7 +63,8 @@ class account_voucher(osv.osv):
|
||||
'journal_id': journal.id,
|
||||
'type' : inv.type,
|
||||
'narration' : inv.narration and inv.narration or inv.name,
|
||||
'date':inv.date
|
||||
'date':inv.date,
|
||||
'ref':inv.reference
|
||||
}
|
||||
|
||||
if inv.period_id:
|
||||
|
||||
@@ -25,11 +25,11 @@
|
||||
'version': '0.1',
|
||||
'category': 'Generic Modules/Base',
|
||||
'description': """
|
||||
This module is used along with openerp OpenOffice plugin.
|
||||
This module is used along with OpenERP OpenOffice plugin.
|
||||
You have to first install the plugin which is available at
|
||||
http://www.openerp.com
|
||||
|
||||
This module adds wizards to import/export .SXW report that
|
||||
This module adds wizards to Import/Export .sxw report that
|
||||
you can modify in OpenOffice.Once you have modified it you can
|
||||
upload the report using the same wizard.
|
||||
""",
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<field eval="[(6,0,[ref('base.user_root')])]" name="users"/>
|
||||
<field eval=""""OpenOfficeReportDesigner"""" name="name"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_model_access_openofficereportdesigner0" model="ir.model.access">
|
||||
<field name="model_id" ref="base.model_ir_actions_report_xml"/>
|
||||
<field eval="1" name="perm_read"/>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,11 +15,11 @@
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import fields,osv
|
||||
from osv import osv
|
||||
from wizard.tiny_sxw2rml import sxw2rml
|
||||
from StringIO import StringIO
|
||||
from report import interface
|
||||
@@ -27,49 +27,53 @@ import base64
|
||||
import pooler
|
||||
import tools
|
||||
|
||||
|
||||
class report_xml(osv.osv):
|
||||
_inherit = 'ir.actions.report.xml'
|
||||
|
||||
def sxwtorml(self,cr, uid, file_sxw,file_type):
|
||||
def sxwtorml(self, cr, uid, file_sxw, file_type):
|
||||
'''
|
||||
The use of this function is to get rml file from sxw file.
|
||||
'''
|
||||
sxwval = StringIO(base64.decodestring(file_sxw))
|
||||
if file_type=='sxw':
|
||||
fp = tools.file_open('normalized_oo2rml.xsl',
|
||||
fp = tools.file_open('normalized_oo2rml.xsl',
|
||||
subdir='addons/base_report_designer/wizard/tiny_sxw2rml')
|
||||
if file_type=='odt':
|
||||
fp = tools.file_open('normalized_odt2rml.xsl',
|
||||
fp = tools.file_open('normalized_odt2rml.xsl',
|
||||
subdir='addons/base_report_designer/wizard/tiny_sxw2rml')
|
||||
|
||||
|
||||
return {'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read()))}
|
||||
|
||||
def upload_report(self, cr, uid, report_id, file_sxw,file_type, context):
|
||||
def upload_report(self, cr, uid, report_id, file_sxw, file_type, context):
|
||||
'''
|
||||
Untested function
|
||||
'''
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
sxwval = StringIO(base64.decodestring(file_sxw))
|
||||
if file_type=='sxw':
|
||||
fp = tools.file_open('normalized_oo2rml.xsl',
|
||||
fp = tools.file_open('normalized_oo2rml.xsl',
|
||||
subdir='addons/base_report_designer/wizard/tiny_sxw2rml')
|
||||
if file_type=='odt':
|
||||
fp = tools.file_open('normalized_odt2rml.xsl',
|
||||
fp = tools.file_open('normalized_odt2rml.xsl',
|
||||
subdir='addons/base_report_designer/wizard/tiny_sxw2rml')
|
||||
report = pool.get('ir.actions.report.xml').write(cr, uid, [report_id], {
|
||||
'report_sxw_content': base64.decodestring(file_sxw),
|
||||
'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read())),
|
||||
'report_sxw_content': base64.decodestring(file_sxw),
|
||||
'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read())),
|
||||
})
|
||||
db = pooler.get_db_only(cr.dbname)
|
||||
interface.register_all(db)
|
||||
return True
|
||||
|
||||
def report_get(self, cr, uid, report_id, context={}):
|
||||
report = self.browse(cr, uid, report_id, context)
|
||||
return {
|
||||
'file_type' : report.report_type,
|
||||
'report_sxw_content': report.report_sxw_content and base64.encodestring(report.report_sxw_content) or False,
|
||||
'file_type' : report.report_type,
|
||||
'report_sxw_content': report.report_sxw_content and base64.encodestring(report.report_sxw_content) or False,
|
||||
'report_rml_content': report.report_rml_content and base64.encodestring(report.report_rml_content) or False
|
||||
}
|
||||
|
||||
report_xml()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
@@ -1,31 +1,22 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<data>
|
||||
|
||||
<wizard
|
||||
string="Modify an existing report"
|
||||
model="ir.actions.report.xml"
|
||||
name="base_report_designer.modify"
|
||||
id="wizard_report_designer_modify"/>
|
||||
<wizard string="Modify an existing report"
|
||||
model="ir.actions.report.xml" name="base_report_designer.modify"
|
||||
id="wizard_report_designer_modify" />
|
||||
|
||||
<menuitem icon="terp-graph" id="base.reporting_menu" name="Reporting" sequence="30"/>
|
||||
<menuitem
|
||||
id="base.next_id_50"
|
||||
name="Configuration"
|
||||
parent="base.reporting_menu"
|
||||
groups="base.group_system"
|
||||
sequence="3"/>
|
||||
<menuitem
|
||||
parent="base.next_id_50"
|
||||
name="Report Designer"
|
||||
action="wizard_report_designer_modify"
|
||||
type="wizard"
|
||||
id="menu_wizard_report_designer_modify"
|
||||
sequence="70"/>
|
||||
<menuitem icon="terp-graph" id="base.reporting_menu"
|
||||
name="Reporting" sequence="30" />
|
||||
|
||||
<menuitem id="base.next_id_50" name="Configuration"
|
||||
parent="base.reporting_menu" groups="base.group_system" sequence="3" />
|
||||
|
||||
<menuitem parent="base.next_id_50" name="Report Designer"
|
||||
action="wizard_report_designer_modify" type="wizard"
|
||||
id="menu_wizard_report_designer_modify" sequence="70" />
|
||||
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ class crm_opportunity(osv.osv):
|
||||
domain="[('partner_id','=',partner_id)]"),
|
||||
|
||||
# Opportunity fields
|
||||
'probability': fields.float('Probability (%)'),
|
||||
'probability': fields.float('Probability (%)',group_operator="avg"),
|
||||
'planned_revenue': fields.float('Expected Revenue'),
|
||||
'ref': fields.reference('Reference', selection=crm._links_get, size=128),
|
||||
'ref2': fields.reference('Reference 2', selection=crm._links_get, size=128),
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<field name="partner_id"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="stage_id" widget="selection" domain="[('section_id','=',section_id), ('object_id.model', '=', 'crm.lead')]" />
|
||||
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]" />
|
||||
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
|
||||
@@ -211,7 +211,7 @@
|
||||
<field name="act_window_id" ref="action_report_crm_claim"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Claims" id="menu_report_crm_claim_tree"
|
||||
<menuitem name="Claims Analysis" id="menu_report_crm_claim_tree"
|
||||
groups="base.group_extended"
|
||||
action="action_report_crm_claim" parent="base.next_id_64" sequence="6"/>
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
<field name="act_window_id" ref="action_report_crm_fundraising"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Fundraising"
|
||||
<menuitem name="Fundraising Analysis"
|
||||
action="action_report_crm_fundraising"
|
||||
groups="base.group_extended"
|
||||
id="menu_report_crm_fundraising_tree" parent="base.next_id_64" sequence="20"/>
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
<field name="act_window_id" ref="action_report_crm_helpdesk"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Helpdesk" action="action_report_crm_helpdesk"
|
||||
<menuitem name="Helpdesk Analysis" action="action_report_crm_helpdesk"
|
||||
groups="base.group_extended"
|
||||
id="menu_report_crm_helpdesks_tree" parent="base.next_id_64" sequence="7"/>
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
<group>
|
||||
<filter icon="terp-document-new" domain="[('state','=','draft')]" string="Draft" help="Draft Expense"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-gtk-go-back-rtl" domain="[('state','=','confirm')]" string="To Validate"
|
||||
<filter icon="terp-gtk-go-back-rtl" domain="[('state','=','confirm')]" string="To Approve"
|
||||
help="Confirmed Expense"/>
|
||||
<filter icon="terp-gtk-go-back-rtl" domain="[('state','=','accepted')]" string="To Pay"
|
||||
help="Expenses to Invoice"/>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<search string="Search Leave">
|
||||
<group col='8' colspan='4'>
|
||||
<filter icon="terp-gtk-go-back-rtl" domain="[('state','=','draft')]" string="To Confirm"/>
|
||||
<filter icon="terp-gtk-go-back-rtl" domain="[('state','=','confirm')]" string="To Validate"/>
|
||||
<filter icon="terp-gtk-go-back-rtl" domain="[('state','=','confirm')]" string="To Approve"/>
|
||||
<filter icon="terp-camera_test" domain="[('state','=','validate')]" string="Validated"
|
||||
default="context.get('report', False)"/>
|
||||
<separator orientation="vertical"/>
|
||||
@@ -69,8 +69,8 @@
|
||||
<field name="state" colspan="2"/>
|
||||
<group colspan="2">
|
||||
<button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes"/>
|
||||
<button string="Validate" name="validate" states="confirm" type="workflow" icon="gtk-apply"/>
|
||||
<button string="Approve" name="second_validate" states="validate1" type="workflow" icon="gtk-apply"/>
|
||||
<button string="To Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply"/>
|
||||
<button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply"/>
|
||||
<button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" icon="gtk-no"/>
|
||||
<button string="Cancel" name="cancel" states="validate,refuse" type="workflow" icon="gtk-cancel"/>
|
||||
<button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert"/>
|
||||
@@ -113,8 +113,8 @@
|
||||
<field name="state" colspan="2"/>
|
||||
<group colspan="2">
|
||||
<button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes"/>
|
||||
<button string="Validate" name="validate" states="confirm" type="workflow" icon="gtk-apply"/>
|
||||
<button string="Approve" name="second_validate" states="validate1" type="workflow" icon="gtk-apply"/>
|
||||
<button string="To Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply"/>
|
||||
<button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply"/>
|
||||
<button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" icon="gtk-no"/>
|
||||
<button string="Cancel" name="cancel" states="validate,refuse" type="workflow" icon="gtk-cancel"/>
|
||||
<button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert"/>
|
||||
@@ -168,7 +168,7 @@
|
||||
<field name="state" colspan="2"/>
|
||||
<group colspan="2">
|
||||
<button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes"/>
|
||||
<button string="Validate" name="validate" states="confirm" type="workflow" icon="gtk-apply"/>
|
||||
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply"/>
|
||||
<button string="Refuse" name="refuse" states="confirm" type="workflow" icon="gtk-no"/>
|
||||
<button string="Cancel" name="cancel" states="validate,refuse,validate1" type="workflow" icon="gtk-cancel"/>
|
||||
<button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert"/>
|
||||
|
||||
@@ -505,7 +505,7 @@
|
||||
<button string="Compute Sheet" icon="terp-stock_format-scientific" name="compute_sheet" states="new"/>
|
||||
<button string="Recompute Sheet" icon="terp-stock_format-scientific" name="compute_sheet" type="object" states="draft"/>
|
||||
<button string="Verify Sheet" icon="terp-camera_test" name="verify_sheet" states="draft"/>
|
||||
<button string="Validate Sheet" icon="terp-camera_test" name="final_verify_sheet" states="hr_check"/>
|
||||
<button string="Approve Sheet" icon="terp-camera_test" name="final_verify_sheet" states="hr_check"/>
|
||||
<button string="Pay Salary" icon="terp-dolar_ok!" name="process_sheet" states="confirm"/>
|
||||
<button string="Cancel" icon="terp-dialog-close" name="cancel_sheet" states="draft,hr_check,confirm"/>
|
||||
<button string="Set to Draft" icon="terp-stock_effects-object-colorize" name="set_to_draft" states="cancel"/>
|
||||
|
||||
@@ -195,7 +195,7 @@
|
||||
<search string="Search Timesheet">
|
||||
<group col="10" colspan="4">
|
||||
<filter icon="terp-document-new" string="In Draft" domain="[('state','in',('draft', 'new'))]" help="Unvalidated Timesheets"/>
|
||||
<filter icon="terp-gtk-go-back-rtl" string="To Validate" domain="[('state','=','confirm')]" help="Confirmed Timesheets"/>
|
||||
<filter icon="terp-gtk-go-back-rtl" string="To Approve" domain="[('state','=','confirm')]" help="Confirmed Timesheets"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="date_from"/>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<group col="2" colspan="4">
|
||||
<button icon='gtk-close' special="cancel"
|
||||
string="Close" />
|
||||
<button name="change_prod_qty" string="Validate"
|
||||
<button name="change_prod_qty" string="Approve"
|
||||
colspan="1" type="object" icon="gtk-ok" />
|
||||
</group>
|
||||
</form>
|
||||
|
||||
@@ -457,7 +457,7 @@ class task(osv.osv):
|
||||
'ref_doc1': 'project.task,%d'% (task.id,),
|
||||
'ref_doc2': 'project.project,%d'% (project.id,),
|
||||
})
|
||||
elif project.warn_manager and cntx.get('mail_send',False):
|
||||
elif project.warn_manager and cntx.get('mail_send',True):
|
||||
mail_send = True
|
||||
message = _('Task ') + " '" + task.name + "' "+ _("is Done.")
|
||||
self.log(cr, uid, task.id, message)
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<newline/>
|
||||
<group colspan="4" col="6">
|
||||
<button icon="gtk-cancel" special="cancel" string="_Cancel"/>
|
||||
<button icon="gtk-ok" name="validate" string="Validate" type="object"/>
|
||||
<button icon="gtk-ok" name="validate" string="Approve" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -93,8 +93,8 @@ class project_phase(osv.osv):
|
||||
|
||||
_columns = {
|
||||
'name': fields.char("Name", size=64, required=True),
|
||||
'date_start': fields.datetime('Start Date', help="Starting Date of the phase"),
|
||||
'date_end': fields.datetime('End Date', help="Ending Date of the phase"),
|
||||
'date_start': fields.date('Start Date', help="Starting Date of the phase"),
|
||||
'date_end': fields.date('End Date', help="Ending Date of the phase"),
|
||||
'constraint_date_start': fields.datetime('Start Date', help='force the phase to start after this date'),
|
||||
'constraint_date_end': fields.datetime('End Date', help='force the phase to finish before this date'),
|
||||
'project_id': fields.many2one('project.project', 'Project', required=True),
|
||||
@@ -114,7 +114,7 @@ class project_phase(osv.osv):
|
||||
'responsible_id': lambda obj,cr,uid,context: uid,
|
||||
'state': 'draft',
|
||||
'sequence': 10,
|
||||
'product_uom': lambda self,cr,uid,c: self.pool.get('product.uom').search(cr, uid, [('name', '=', 'day')], context=c)[0]
|
||||
'product_uom': lambda self,cr,uid,c: self.pool.get('product.uom').search(cr, uid, [('name', '=', _('Day'))], context=c)[0]
|
||||
}
|
||||
_order = "name"
|
||||
_constraints = [
|
||||
|
||||
Executable
+25
@@ -0,0 +1,25 @@
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import sale_layout
|
||||
import report
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
Executable
+48
@@ -0,0 +1,48 @@
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
{
|
||||
"name" : "Sale Order Layout Improvement",
|
||||
"version" : "1.0",
|
||||
"depends" : ["base", "sale"],
|
||||
"author" : "Tiny",
|
||||
"description": """
|
||||
This module provides some features to improve the layout of the Sale Order.
|
||||
|
||||
It gives you the possibility to
|
||||
* order all the lines of an sale order
|
||||
* add titles, comment lines, sub total lines
|
||||
* draw horizontal lines and put page breaks
|
||||
|
||||
""",
|
||||
"website" : "http://www.openerp.com",
|
||||
"category" : "Generic Modules/Sales & Purchases",
|
||||
"init_xml" : [],
|
||||
"demo_xml" : [],
|
||||
"update_xml" : [
|
||||
# "security/ir.model.access.csv",
|
||||
"sale_layout_view.xml",
|
||||
"sale_layout_report.xml",
|
||||
],
|
||||
"active": False,
|
||||
"installable": True
|
||||
}
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
Executable
+291
@@ -0,0 +1,291 @@
|
||||
# translation of fr_FR.po to Français
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_layout
|
||||
#
|
||||
# Numerigraphe <informatique@numerigraphe.com>, 2009.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fr_FR\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-11-26 08:45+0000\n"
|
||||
"PO-Revision-Date: 2010-01-19 05:23+0000\n"
|
||||
"Last-Translator: Numérigraphe <Unknown>\n"
|
||||
"Language-Team: Français\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-05-21 03:45+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Sub Total"
|
||||
msgstr "Sous-total"
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
|
||||
#. module: sale_layout
|
||||
#: model:ir.module.module,shortdesc:sale_layout.module_meta_information
|
||||
msgid "sale_layout"
|
||||
msgstr "sale_layout"
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Disc. (%)"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Note"
|
||||
msgstr "Remarque"
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Unit Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Order N°"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: field:sale.order,abstract_line_ids:0
|
||||
msgid "Order Lines"
|
||||
msgstr "Lignes de commande"
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Disc.(%)"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: field:sale.order.line,layout_type:0
|
||||
msgid "Layout Type"
|
||||
msgstr "Mise en page"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
#: view:sale.order.line:0
|
||||
msgid "Seq."
|
||||
msgstr "Séq."
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Product"
|
||||
msgstr "Produit"
|
||||
|
||||
#. module: sale_layout
|
||||
#: model:ir.module.module,description:sale_layout.module_meta_information
|
||||
msgid ""
|
||||
"\n"
|
||||
" This module provides some features to improve the layout of the Sale "
|
||||
"Order.\n"
|
||||
"\n"
|
||||
" It gives you the possibility to\n"
|
||||
" * order all the lines of an sale order\n"
|
||||
" * add titles, comment lines, sub total lines\n"
|
||||
" * draw horizontal lines and put page breaks \n"
|
||||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Ce module ajoute des options pour améliorer la mise en page des "
|
||||
"commandes de vente.\n"
|
||||
"\n"
|
||||
" Il vous permet :\n"
|
||||
" * de réordonner toutes les lignes d'une commande\n"
|
||||
" * d'ajouter des titres, des lignes de remarques, des sous-totaux\n"
|
||||
" * de tracer des lignes horizontales et de faire des sauts de page "
|
||||
"\n"
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Manual Description"
|
||||
msgstr "Description manuelle"
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Our Salesman"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Automatic Declaration"
|
||||
msgstr "Déclaration automatique"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Invoice Lines"
|
||||
msgstr "Lignes de facture"
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Quotation N°"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "VAT"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Make Invoice"
|
||||
msgstr "Créer facture"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Properties"
|
||||
msgstr "Propriétés"
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Invoice address :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "XML non valide pour l'architecture de la vue"
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Page Break"
|
||||
msgstr "Saut de page"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Notes"
|
||||
msgstr "Notes"
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Date Ordered"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Shipping address :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Taxes"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Net Total :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Tel. :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Total :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Payment Terms"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "History"
|
||||
msgstr "Historique"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Sale Order Lines"
|
||||
msgstr "Lignes de commande"
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Separator Line"
|
||||
msgstr "Ligne de séparation"
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Your Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Sales order lines"
|
||||
msgstr "Lignes de commande"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Qty"
|
||||
msgstr "Qté"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "States"
|
||||
msgstr "États"
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "TVA :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: model:ir.actions.report.xml,name:sale_layout.sale_order_1
|
||||
msgid "Order with Layout"
|
||||
msgstr "Commande avec mise en page"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Extra Info"
|
||||
msgstr "Info supplémentaires"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "UoM"
|
||||
msgstr "UDM"
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Fax :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Order Line"
|
||||
msgstr "Commande client"
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Taxes :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Stock Moves"
|
||||
msgstr "Mouvements de stocks"
|
||||
Executable
+276
@@ -0,0 +1,276 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_layout
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.6\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-11-26 08:45:52+0000\n"
|
||||
"PO-Revision-Date: 2009-11-26 08:45:52+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Sub Total"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: model:ir.module.module,shortdesc:sale_layout.module_meta_information
|
||||
msgid "sale_layout"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Disc. (%)"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Unit Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Order N°"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: field:sale.order,abstract_line_ids:0
|
||||
msgid "Order Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Disc.(%)"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: field:sale.order.line,layout_type:0
|
||||
msgid "Layout Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
#: view:sale.order.line:0
|
||||
msgid "Seq."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: model:ir.module.module,description:sale_layout.module_meta_information
|
||||
msgid "\n"
|
||||
" This module provides some features to improve the layout of the Sale Order.\n"
|
||||
"\n"
|
||||
" It gives you the possibility to\n"
|
||||
" * order all the lines of an sale order\n"
|
||||
" * add titles, comment lines, sub total lines\n"
|
||||
" * draw horizontal lines and put page breaks \n"
|
||||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Manual Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Our Salesman"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Automatic Declaration"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Invoice Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Quotation N°"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "VAT"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Make Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Properties"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Invoice address :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Page Break"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Date Ordered"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Shipping address :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Taxes"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Net Total :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Tel. :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Total :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Payment Terms"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "History"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Sale Order Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Separator Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Your Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Sales order lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Qty"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "States"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "TVA :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: model:ir.actions.report.xml,name:sale_layout.sale_order_1
|
||||
msgid "Order with Layout"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Extra Info"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "UoM"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Fax :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Order Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Taxes :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Stock Moves"
|
||||
msgstr ""
|
||||
|
||||
Executable
+179
@@ -0,0 +1,179 @@
|
||||
# translation of fr_FR.po to Français
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_layout
|
||||
#
|
||||
# Numerigraphe <informatique@numerigraphe.com>, 2009.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fr_FR\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-03-25 10:13:19+0000\n"
|
||||
"PO-Revision-Date: 2009-03-25 11:25+0100\n"
|
||||
"Last-Translator: Numerigraphe <informatique@numerigraphe.com>\n"
|
||||
"Language-Team: Français\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: \n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Sub Total"
|
||||
msgstr "Sous-total"
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Sale Order Lines"
|
||||
msgstr "Lignes de commande"
|
||||
|
||||
#. module: sale_layout
|
||||
#: field:sale.order,abstract_line_ids:0
|
||||
msgid "Order Lines"
|
||||
msgstr "Lignes de commande"
|
||||
|
||||
#. module: sale_layout
|
||||
#: model:ir.module.module,description:sale_layout.module_name_translation
|
||||
msgid ""
|
||||
"\n"
|
||||
" This module provides some features to improve the layout of the Sale Order.\n"
|
||||
"\n"
|
||||
" It gives you the possibility to\n"
|
||||
" * order all the lines of an sale order\n"
|
||||
" * add titles, comment lines, sub total lines\n"
|
||||
" * draw horizontal lines and put page breaks \n"
|
||||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Ce module ajoute des options pour améliorer la mise en page des commandes de vente.\n"
|
||||
"\n"
|
||||
" Il vous permet :\n"
|
||||
" * de réordonner toutes les lignes d'une commande\n"
|
||||
" * d'ajouter des titres, des lignes de remarques, des sous-totaux\n"
|
||||
" * de tracer des lignes horizontales et de faire des sauts de page \n"
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#. module: sale_layout
|
||||
#: field:sale.order.line,layout_type:0
|
||||
msgid "Layout Type"
|
||||
msgstr "Mise en page"
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Product"
|
||||
msgstr "Produit"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Manual Description"
|
||||
msgstr "Description manuelle"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Automatic Declaration"
|
||||
msgstr "Déclaration automatique"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Invoice Lines"
|
||||
msgstr "Lignes de facture"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Make Invoice"
|
||||
msgstr "Créer facture"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Properties"
|
||||
msgstr "Propriétés"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "UoM"
|
||||
msgstr "UDM"
|
||||
|
||||
#. module: sale_layout
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "XML non valide pour l'architecture de la vue"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
#: view:sale.order.line:0
|
||||
msgid "Seq."
|
||||
msgstr "Séq."
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Notes"
|
||||
msgstr "Notes"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "History"
|
||||
msgstr "Historique"
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Note"
|
||||
msgstr "Remarque"
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Separator Line"
|
||||
msgstr "Ligne de séparation"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Sales order lines"
|
||||
msgstr "Lignes de commande"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Qty"
|
||||
msgstr "Qté"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "States"
|
||||
msgstr "États"
|
||||
|
||||
#. module: sale_layout
|
||||
#: model:ir.actions.report.xml,name:sale_layout.sale_order_1
|
||||
msgid "Order with Layout"
|
||||
msgstr "Commande avec mise en page"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Extra Info"
|
||||
msgstr "Info supplémentaires"
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Page Break"
|
||||
msgstr "Saut de page"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Order Line"
|
||||
msgstr "Commande client"
|
||||
|
||||
#. module: sale_layout
|
||||
#: model:ir.module.module,shortdesc:sale_layout.module_name_translation
|
||||
msgid "sale_layout"
|
||||
msgstr "sale_layout"
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Stock Moves"
|
||||
msgstr "Mouvements de stocks"
|
||||
|
||||
Executable
+276
@@ -0,0 +1,276 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_layout
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.6\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-11-26 08:45:52+0000\n"
|
||||
"PO-Revision-Date: 2009-11-26 08:45:52+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Sub Total"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: model:ir.module.module,shortdesc:sale_layout.module_meta_information
|
||||
msgid "sale_layout"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Disc. (%)"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Unit Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Order N°"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: field:sale.order,abstract_line_ids:0
|
||||
msgid "Order Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Disc.(%)"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: field:sale.order.line,layout_type:0
|
||||
msgid "Layout Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
#: view:sale.order.line:0
|
||||
msgid "Seq."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: model:ir.module.module,description:sale_layout.module_meta_information
|
||||
msgid "\n"
|
||||
" This module provides some features to improve the layout of the Sale Order.\n"
|
||||
"\n"
|
||||
" It gives you the possibility to\n"
|
||||
" * order all the lines of an sale order\n"
|
||||
" * add titles, comment lines, sub total lines\n"
|
||||
" * draw horizontal lines and put page breaks \n"
|
||||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Manual Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Our Salesman"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Automatic Declaration"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Invoice Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Quotation N°"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "VAT"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Make Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Properties"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Invoice address :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Page Break"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Date Ordered"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Shipping address :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Taxes"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Net Total :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Tel. :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Total :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Payment Terms"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "History"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Sale Order Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: selection:sale.order.line,layout_type:0
|
||||
msgid "Separator Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Your Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Sales order lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Qty"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "States"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "TVA :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: model:ir.actions.report.xml,name:sale_layout.sale_order_1
|
||||
msgid "Order with Layout"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Extra Info"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "UoM"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Fax :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Order Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: rml:sale.order.layout:0
|
||||
msgid "Taxes :"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_layout
|
||||
#: view:sale.order:0
|
||||
msgid "Stock Moves"
|
||||
msgstr ""
|
||||
|
||||
Executable
+24
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import report_sale_layout
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
Executable
+378
@@ -0,0 +1,378 @@
|
||||
<?xml version="1.0"?>
|
||||
<document filename="test.pdf">
|
||||
<template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
|
||||
<pageTemplate id="first">
|
||||
<frame id="first" x1="15.0" y1="42.0" width="539" height="758"/>
|
||||
</pageTemplate>
|
||||
</template>
|
||||
<stylesheet>
|
||||
<blockTableStyle id="Standard_Outline">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="AddressTable">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table1">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="OrderTable">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="HeadingTable">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="5,-1" stop="5,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Order_Desc_Table">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="6,-1" stop="6,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Total_Table">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#ffffff" start="0,1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#ffffff" start="0,2" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="1,2" stop="1,2"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="2,2" stop="2,2"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="3,2" stop="3,2"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Partner_Note_Table">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<initialize>
|
||||
<paraStyle name="all" alignment="justify"/>
|
||||
</initialize>
|
||||
<paraStyle name="P1" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P2" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P3" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P4" rightIndent="0.0" leftIndent="14.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P5" rightIndent="0.0" leftIndent="11.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P6" rightIndent="0.0" leftIndent="-2.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P7" rightIndent="0.0" leftIndent="11.0" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="Standard" fontName="Times-Roman"/>
|
||||
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Heading" fontName="Helvetica" fontSize="8.0" leading="10" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Table Contents" fontName="Times-Roman"/>
|
||||
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
|
||||
<paraStyle name="Caption" fontName="Times-Roman" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Index" fontName="Times-Roman"/>
|
||||
<paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Footer" fontName="Times-Roman"/>
|
||||
<paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
|
||||
<paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_1" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_9_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Italic" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="Preformatted Text" fontName="Times-Roman" fontSize="10.0" leading="13" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
</stylesheet>
|
||||
<images/>
|
||||
<story>
|
||||
<para style="terp_default_8">[[ repeatIn(objects,'o') ]]</para>
|
||||
<para style="terp_default_8">[[ setLang(o.partner_id.lang) ]]</para>
|
||||
<blockTable colWidths="265.0,51.0,225.0" style="AddressTable">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Shipping address :</para>
|
||||
<para style="terp_default_9">[[ o.partner_id.title or '' ]][[ o.partner_id.name ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_shipping_id.title or '' ]][[ o.partner_shipping_id.name ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_shipping_id.street ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_shipping_id.street2 or '' ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_shipping_id.city or '' ]] [[ o.partner_shipping_id.zip or '' ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name or '' ]][[ o.partner_shipping_id.country_id and o.partner_shipping_id.country_id.name or '' ]]</para>
|
||||
<para style="terp_default_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<para style="terp_default_Bold_9">Invoice address :</para>
|
||||
<para style="terp_default_9">[[ o.partner_invoice_id.street ]][[ o.partner_invoice_id.street2 and (', %s' % o.partner_invoice_id.street2 or '') ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_invoice_id.city or '' ]] [[ o.partner_invoice_id.zip or '' ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_invoice_id.country_id and ('%s' % (o.partner_invoice_id.country_id and o.partner_invoice_id.country_id.name or '')) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9">[[ o.partner_id.title or '' ]][[ o.partner_id.name ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_order_id.title or '' ]][[ o.partner_order_id.name ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_order_id.street ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_order_id.street2 or '' ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_order_id.city or '' ]] [[ o.partner_order_id.zip or '' ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_order_id.state_id and o.partner_order_id.state_id.name or '' ]][[ o.partner_order_id.country_id and o.partner_order_id.country_id.name or '' ]]</para>
|
||||
<para style="terp_default_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<para style="terp_default_9">Tel. : [[ o.partner_order_id.phone or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_9">Fax : [[ o.partner_order_id.fax or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_9">TVA : [[ o.partner_id.vat or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="terp_default_8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<para style="terp_header">[[ o.state<>'draft' and removeParentNode('para') ]] Quotation N° [[ o.name ]]</para>
|
||||
<para style="terp_header">[[ o.state=='draft' and removeParentNode('para') ]] Order N° [[ o.name ]]</para>
|
||||
<para style="terp_default_8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<blockTable colWidths="132.0,134.0,135.0,135.0" style="Table1">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_tblheader_General_Centre">Your Reference </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_General_Centre">Date Ordered </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_General_Centre">Our Salesman </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_General_Centre">Payment Terms</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="132.0,134.0,135.0,135.0" style="OrderTable">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Centre_8">[[ o.name ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_8">[[ o.date_order ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_8">[[ o.user_id.name ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_8">[[ o.payment_term.name ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="terp_default_8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<blockTable colWidths="208.0,99.0,64.0,59.0,43.0,65.0" repeatRows="1" style="HeadingTable">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details">Description</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Centre">VAT</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Centre">Quantity</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Right">Unit Price</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Right">Disc.(%)</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Right">Price</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<section>
|
||||
<para style="terp_default_1">[[ repeatIn(o.order_line,'line') ]]</para>
|
||||
<blockTable colWidths="207.0,99.0,43.0,21.0,59.0,43.0,65.0" style="Order_Desc_Table">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9">[[ line.name ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_9">[[ ', '.join(map(lambda x: x.name, line.tax_id)) or '0.00' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ line.product_uos and line.product_uos_qty or line.product_uom_qty or '0.00']]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ line.product_uos and line.product_uos.name or line.product_uom.name ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ line.price_unit or '0.00' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ line.discount and str(line.discount) or '0.00' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ line.price_subtotal or '0.00' ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="P7">[[ format(line.notes or removeParentNode('tr')) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
</section>
|
||||
<blockTable colWidths="384.0,67.0,64.0,22.0" style="Total_Table">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P6">Net Total :</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ o.amount_untaxed or '0.00' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P2">[[ o.pricelist_id.currency_id.name ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P5">Taxes :</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9">[[ o.amount_tax or '0.00' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P2">[[ o.pricelist_id.currency_id.name ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P4">Total :</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Right_9_Bold">[[ o.amount_total or '0.00' ]] </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P3">[[ o.pricelist_id.currency_id.name ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="terp_default_8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<blockTable colWidths="533.0" style="Partner_Note_Table">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9">[[ format(o.note or '') ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9">[[ format((o.partner_id.property_payment_term and o.partner_id.property_payment_term.note) or '') ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="P1">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</story>
|
||||
</document>
|
||||
+140
@@ -0,0 +1,140 @@
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import time
|
||||
import pooler
|
||||
from report import report_sxw
|
||||
|
||||
|
||||
rml_parents = {
|
||||
'tr':1,
|
||||
'li':1,
|
||||
'story': 0,
|
||||
'section': 0
|
||||
}
|
||||
class sale_order_1(report_sxw.rml_parse):
|
||||
def __init__(self, cr, uid, name, context):
|
||||
super(sale_order_1, self).__init__(cr, uid, name, context)
|
||||
self.localcontext.update({
|
||||
'time': time,
|
||||
'sale_order_lines': self.sale_order_lines,
|
||||
# 'repeat_In':self.repeat_In,
|
||||
})
|
||||
self.context = context
|
||||
|
||||
#
|
||||
|
||||
def sale_order_lines(self,sale_order):
|
||||
result =[]
|
||||
sub_total={}
|
||||
info=[]
|
||||
order_lines=[]
|
||||
res={}
|
||||
list_in_seq=[]
|
||||
ids = self.pool.get('sale.order.line').search(self.cr, self.uid, [('order_id', '=', sale_order.id)])
|
||||
for id in range(0,len(ids)):
|
||||
order = self.pool.get('sale.order.line').browse(self.cr, self.uid,ids[id], self.context.copy())
|
||||
order_lines.append(order)
|
||||
|
||||
i=1
|
||||
j=0
|
||||
sum_flag={}
|
||||
sum_flag[j]=-1
|
||||
for entry in order_lines:
|
||||
res={}
|
||||
|
||||
if entry.layout_type=='article':
|
||||
res['tax_id']=', '.join(map(lambda x: x.name, entry.tax_id)) or ''
|
||||
res['name']=entry.name
|
||||
res['product_uom_qty']="%.2f"%(entry.product_uos and entry.product_uos_qty or entry.product_uom_qty or 0.00)
|
||||
res['product_uom']=entry.product_uos and entry.product_uos.name or entry.product_uom.name
|
||||
res['price_unit']="%.2f"%(entry.price_unit or 0.00)
|
||||
res['discount']="%.2f"%(entry.discount and entry.discount or 0.00)
|
||||
res['price_subtotal']="%.2f"%(entry.price_subtotal and entry.price_subtotal or 0.00)
|
||||
sub_total[i]= entry.price_subtotal and entry.price_subtotal
|
||||
i=i+1
|
||||
res['note']=entry.notes or ''
|
||||
res['currency']=sale_order.pricelist_id.currency_id.name
|
||||
res['layout_type']=entry.layout_type
|
||||
|
||||
else:
|
||||
|
||||
res['product_uom_qty']=''
|
||||
res['price_unit']=''
|
||||
res['discount']=''
|
||||
res['tax_id']=''
|
||||
res['layout_type']=entry.layout_type
|
||||
res['note']=entry.notes or ''
|
||||
res['product_uom']=''
|
||||
|
||||
if entry.layout_type=='subtotal':
|
||||
res['name']=entry.name
|
||||
sum=0
|
||||
sum_id=0
|
||||
if sum_flag[j]==-1:
|
||||
temp=1
|
||||
else:
|
||||
temp=sum_flag[j]
|
||||
|
||||
for sum_id in range(temp,len(sub_total)+1):
|
||||
sum+=sub_total[sum_id]
|
||||
sum_flag[j+1]= sum_id +1
|
||||
|
||||
j=j+1
|
||||
res['price_subtotal']="%.2f"%(sum)
|
||||
res['currency']=sale_order.pricelist_id.currency_id.name
|
||||
res['quantity']=''
|
||||
res['price_unit']=''
|
||||
res['discount']=''
|
||||
res['tax_id']=''
|
||||
res['product_uom']=''
|
||||
elif entry.layout_type=='title':
|
||||
res['name']=entry.name
|
||||
res['price_subtotal']=''
|
||||
res['currency']=''
|
||||
elif entry.layout_type=='text':
|
||||
res['name']=entry.name
|
||||
res['price_subtotal']=''
|
||||
res['currency']=''
|
||||
elif entry.layout_type=='line':
|
||||
res['product_uom_qty']='__________'
|
||||
res['price_unit']='______________'
|
||||
res['discount']='___________'
|
||||
res['tax_id']='_________________'
|
||||
res['product_uom']='_____'
|
||||
res['name']='_______________________________________'
|
||||
res['price_subtotal']='_________'
|
||||
res['currency']='_______'
|
||||
elif entry.layout_type=='break':
|
||||
res['layout_type']=entry.layout_type
|
||||
res['name']=entry.name
|
||||
res['price_subtotal']=''
|
||||
res['currency']=''
|
||||
else:
|
||||
res['name']=entry.name
|
||||
res['price_subtotal']=''
|
||||
res['currency']=sale_order.pricelist_id.currency_id.name
|
||||
|
||||
result.append(res)
|
||||
return result
|
||||
report_sxw.report_sxw('report.sale.order.layout', 'sale.order', 'addons/sale_layout/report/report_sale_layout.rml', parser=sale_order_1)
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
+352
@@ -0,0 +1,352 @@
|
||||
<?xml version="1.0"?>
|
||||
<document filename="test.pdf">
|
||||
<template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
|
||||
<pageTemplate id="first">
|
||||
<frame id="first" x1="34.0" y1="28.0" width="527" height="786"/>
|
||||
</pageTemplate>
|
||||
</template>
|
||||
<stylesheet>
|
||||
<blockTableStyle id="Standard_Outline">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Tableau2">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table5">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table6">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table7">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="5,-1" stop="5,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table1">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table2">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table3">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table4">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#000000" start="5,-1" stop="5,-1"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table8">
|
||||
<blockAlignment value="LEFT"/>
|
||||
<blockValign value="TOP"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,0" stop="0,0"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="3,0" stop="3,0"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#ffffff" start="0,1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBEFORE" colorName="#ffffff" start="0,2" stop="0,-1"/>
|
||||
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="1,2" stop="1,2"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="2,2" stop="2,2"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="3,2" stop="3,2"/>
|
||||
</blockTableStyle>
|
||||
<initialize>
|
||||
<paraStyle name="all" alignment="justify"/>
|
||||
</initialize>
|
||||
<paraStyle name="P1" rightIndent="0.0" leftIndent="14.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P2" rightIndent="0.0" leftIndent="-2.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P3" rightIndent="0.0" leftIndent="11.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P4" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P5" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P6" fontName="Helvetica" fontSize="5.0" leading="7" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P7" fontName="Helvetica"/>
|
||||
<paraStyle name="P8" fontName="Helvetica" fontSize="9.0" leading="13" alignment="LEFT"/>
|
||||
<paraStyle name="P9" fontName="Helvetica-Bold" fontSize="20.0" leading="25" alignment="LEFT"/>
|
||||
<paraStyle name="P10" fontName="Helvetica-BoldOblique" fontSize="20.0" leading="25" alignment="LEFT"/>
|
||||
<paraStyle name="P11" fontName="Helvetica" fontSize="11.0" leading="14"/>
|
||||
<paraStyle name="P12" fontName="Helvetica" fontSize="11.0" leading="14"/>
|
||||
<paraStyle name="P13" fontName="Helvetica" fontSize="11.0" leading="14" alignment="LEFT"/>
|
||||
<paraStyle name="P14" fontName="Helvetica-BoldOblique" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P15" fontName="Helvetica-BoldOblique" fontSize="14.0" leading="17" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P16" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="P17" fontName="Helvetica" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="P18" fontName="Helvetica-BoldOblique" fontSize="11.0" leading="14" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="P19" fontName="Helvetica-BoldOblique" fontSize="11.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="P20" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="P21" fontName="Helvetica" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="P22" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="P23" fontName="Helvetica" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="P24" fontName="Helvetica-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="P25" fontName="Helvetica-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="P26" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P27" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P28" rightIndent="0.0" leftIndent="-2.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P29" rightIndent="0.0" leftIndent="11.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P30" rightIndent="0.0" leftIndent="14.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P31" fontName="Helvetica-Bold" fontSize="9.0" leading="13" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="P32" fontName="Helvetica-Bold" fontSize="5.0" leading="7" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P33" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="P34" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="Standard" fontName="Helvetica"/>
|
||||
<paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Table Contents" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Table Heading" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Caption" fontName="Helvetica" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="Index" fontName="Helvetica"/>
|
||||
<paraStyle name="Heading" fontName="Helvetica" fontSize="8.0" leading="10" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
|
||||
<paraStyle name="terp_default_1" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Italic" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
<paraStyle name="terp_default_Right_9_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
|
||||
</stylesheet>
|
||||
<images/>
|
||||
<story>
|
||||
<para style="terp_default_8">[[repeatIn(objects,'o')]]</para>
|
||||
<para style="P14">[[ setLang(o.partner_id.lang) ]]</para>
|
||||
<para style="P8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<blockTable colWidths="254.0,62.0,211.0" style="Tableau2">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">Shipping address :</para>
|
||||
<para style="terp_default_9">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_shipping_id.title or '' ]] [[ o.partner_shipping_id.name ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_shipping_id.street ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_shipping_id.street2 or '' ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_shipping_id.city or '' ]] [[ o.partner_shipping_id.zip or '' ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name or '' ]] [[ o.partner_shipping_id.country_id and o.partner_shipping_id.country_id.name or '' ]]</para>
|
||||
<para style="terp_default_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<para style="terp_default_Bold_9">Invoice address :</para>
|
||||
<para style="terp_default_9">[[ o.partner_invoice_id.street ]] [[ o.partner_invoice_id.street2 and (', %s' % o.partner_invoice_id.street2 or '') ]]</para>
|
||||
<para style="P27">[[ o.partner_invoice_id.zip or '' ]] [[ o.partner_invoice_id.city or '' ]] [[ o.partner_invoice_id.country_id and (', %s' % (o.partner_invoice_id.country_id and o.partner_invoice_id.country_id.name or '')) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P17">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_order_id.title or '' ]] [[ o.partner_order_id.name ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_order_id.street ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_order_id.street2 or '' ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_order_id.zip or '' ]] [[ o.partner_order_id.city or '' ]]</para>
|
||||
<para style="terp_default_9">[[ o.partner_order_id.state_id and o.partner_order_id.state_id.name or '' ]] [[ o.partner_order_id.country_id and o.partner_order_id.country_id.name or '' ]]</para>
|
||||
<para style="terp_default_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<para style="terp_default_9">Tel. : [[ o.partner_order_id.phone or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_9">Fax : [[ o.partner_order_id.fax or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_9">TVA : [[ o.partner_id.vat or removeParentNode('para') ]]</para>
|
||||
<para style="P26">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="P8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<para style="terp_header">[[ o.state<>'draft' and removeParentNode('para') ]] Quotation N° [[ o.name ]]</para>
|
||||
<para style="terp_header">[[ o.state=='draft' and removeParentNode('para') ]] Order N° [[ o.name ]]</para>
|
||||
<para style="P15">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<blockTable colWidths="132.0,134.0,135.0,135.0" style="Table5">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_tblheader_General_Centre">Your Reference </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_General_Centre">Date Ordered </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_General_Centre">Our Salesman </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_General_Centre">Payment Terms</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="132.0,134.0,135.0,135.0" style="Table6">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Centre_8">[[ o.name ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_8">[[ o.date_order ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_8">[[ o.user_id.name ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_8">[[ o.payment_term.name ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="P7">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<blockTable colWidths="216.0,62.0,62.0,62.0,51.0,74.0" style="Table7">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details">Description</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Centre">VAT</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Centre">Quantity</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Right">Unit Price</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Right">Disc.(%)</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details_Right">Price</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<section>
|
||||
<para style="P32">[[ repeatIn(sale_order_lines(o),'a') ]]</para>
|
||||
<blockTable colWidths="0.0,216.0,66,46,24,66,55,54" style="Table1">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="P8">[[ a['layout_type']=='text' and removeParentNode('blockTable')]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="Table Contents"><font>[[ (a['layout_type']=='title' or a['layout_type']=='subtotal') and ( setTag('para','para',{'fontName':'Helvetica-bold'})) or removeParentNode('font') ]]</font>[[ a['name'] ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="Table Contents"><font>[[ a['layout_type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]]</font><font>[[ a['tax_id'] ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="Table Contents"><font>[[ a['layout_type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]]</font><font>[[ a['product_uom_qty'] ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="Table Contents"><font>[[ a['layout_type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]]</font><font>[[ a['product_uom'] ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="Table Contents"><font>[[ a['layout_type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]] </font><font>[[ a['price_unit'] ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="Table Contents"><font>[[ a['layout_type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]]</font><font>[[ a['discount'] ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="Table Contents"><font>[[ a['layout_type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]]</font><font>[[ a['price_subtotal'] ]]</font></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="453.0,74.0" style="Table2">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="P7">[[ a['layout_type']=='text' and a['name'] or removeParentNode('blockTable') ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P7"></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="66.0,461.0" style="Table3">
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<para style="P7"><font>[[ a['note']=='' and removeParentNode('blockTable') ]]</font><font>[[ repeatIn(( a['note'] and a['note'].splitlines()) or [], 'note') ]]</font></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P7">[[ a['note'] and note or removeParentNode('blockTable') ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<pageBreak>[[ a['layout_type']!='break' and removeParentNode('pageBreak')]]</pageBreak>
|
||||
<blockTable colWidths="216.0,62.0,62.0,62.0,51.0,74.0" style="Table4">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="P31">Description [[ a['layout_type']!='break' and removeParentNode('blockTable')]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P31">Taxes</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P31">Quantity</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P31">Unit Price</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P31">Disc. (%)</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P31">Price</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
</section>
|
||||
|
||||
</story>
|
||||
</document>
|
||||
Executable
+160
@@ -0,0 +1,160 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
|
||||
# $Id$
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from osv import fields,osv
|
||||
from tools import config
|
||||
import decimal_precision as dp
|
||||
from tools.translate import _
|
||||
class sale_order_line(osv.osv):
|
||||
|
||||
def _amount_line(self, cr, uid, ids, field_name, arg, context=None):
|
||||
tax_obj = self.pool.get('account.tax')
|
||||
cur_obj = self.pool.get('res.currency')
|
||||
res = {}
|
||||
context = context or {}
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
if line.layout_type=='article':
|
||||
return super(sale_order_line, self)._amount_line(cr, uid, ids, field_name, arg, context)
|
||||
return res
|
||||
def invoice_line_create(self, cr, uid, ids, context={}):
|
||||
new_ids = []
|
||||
list_seq = []
|
||||
for line in self.browse(cr, uid, ids, context):
|
||||
if line.layout_type == 'article':
|
||||
new_ids.append(line.id)
|
||||
list_seq.append(line.sequence)
|
||||
invoice_line_ids = super(sale_order_line, self).invoice_line_create(cr, uid, new_ids, context)
|
||||
pool_inv_line = self.pool.get('account.invoice.line')
|
||||
seq = 0
|
||||
for obj_inv_line in pool_inv_line.browse(cr, uid, invoice_line_ids, context=context):
|
||||
pool_inv_line.write(cr, uid, [obj_inv_line.id], {'sequence': list_seq[seq]}, context=context)
|
||||
seq += 1
|
||||
return invoice_line_ids
|
||||
|
||||
def onchange_sale_order_line_view(self, cr, uid, id, type, context={}, *args):
|
||||
temp ={}
|
||||
temp['value']= {}
|
||||
if (not type):
|
||||
return {}
|
||||
if type != 'article':
|
||||
temp = {'value': {
|
||||
'product_id': False,
|
||||
'uos_id': False,
|
||||
'account_id': False,
|
||||
'price_unit': 0.0,
|
||||
'price_subtotal': 0.0,
|
||||
'quantity': 0,
|
||||
'discount': 0.0,
|
||||
'invoice_line_tax_id': False,
|
||||
'account_analytic_id': False,
|
||||
'product_uom_qty':0.0,
|
||||
},
|
||||
}
|
||||
if type == 'line':
|
||||
temp['value']['name'] = ' '
|
||||
if type == 'break':
|
||||
temp['value']['name'] = ' '
|
||||
if type == 'subtotal':
|
||||
temp['value']['name'] = 'Sub Total'
|
||||
return temp
|
||||
return {}
|
||||
|
||||
def create(self, cr, user, vals, context=None):
|
||||
if vals.has_key('layout_type'):
|
||||
if vals['layout_type'] == 'line':
|
||||
vals['name'] = ' '
|
||||
if vals['layout_type'] == 'break':
|
||||
vals['name'] = ' '
|
||||
if vals['layout_type'] != 'article':
|
||||
vals['product_uom_qty']= 0
|
||||
return super(sale_order_line, self).create(cr, user, vals, context)
|
||||
|
||||
def write(self, cr, user, ids, vals, context=None):
|
||||
if vals.has_key('layout_type'):
|
||||
if vals['layout_type'] == 'line':
|
||||
vals['name'] = ' '
|
||||
if vals['layout_type'] == 'break':
|
||||
vals['name'] = ' '
|
||||
return super(sale_order_line, self).write(cr, user, ids, vals, context)
|
||||
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
if default is None:
|
||||
default = {}
|
||||
default['layout_type'] = self.browse(cr, uid, id).layout_type
|
||||
return super(sale_order_line, self).copy(cr, uid, id, default, context)
|
||||
|
||||
|
||||
_name = "sale.order.line"
|
||||
_order = "order_id, sequence asc"
|
||||
_description = "Sale Order line"
|
||||
_inherit = "sale.order.line"
|
||||
_columns = {
|
||||
'layout_type': fields.selection([
|
||||
('article','Product'),
|
||||
('title','Title'),
|
||||
('text','Note'),
|
||||
('subtotal','Sub Total'),
|
||||
('line','Separator Line'),
|
||||
('break','Page Break'),]
|
||||
,'Layout Type', select=True, required=True),
|
||||
'sequence': fields.integer('Sequence Number'),
|
||||
'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Sale Price'), readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'product_uom_qty': fields.float('Quantity (UoM)', digits=(16,2)),
|
||||
'product_uom': fields.many2one('product.uom', 'Product UoM'),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'layout_type': lambda *a: 'article',
|
||||
}
|
||||
sale_order_line()
|
||||
|
||||
|
||||
class one2many_mod2(fields.one2many):
|
||||
def get(self, cr, obj, ids, name, user=None, offset=0, context=None, values=None):
|
||||
if not context:
|
||||
context = {}
|
||||
if not values:
|
||||
values = {}
|
||||
res = {}
|
||||
for id in ids:
|
||||
res[id] = []
|
||||
ids2 = obj.pool.get(self._obj).search(cr, user, [(self._fields_id,'in',ids),('layout_type','=','article')], limit=self._limit)
|
||||
for r in obj.pool.get(self._obj)._read_flat(cr, user, ids2, [self._fields_id], context=context, load='_classic_write'):
|
||||
res[r[self._fields_id]].append( r['id'] )
|
||||
return res
|
||||
|
||||
|
||||
class sale_order(osv.osv):
|
||||
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
if default is None:
|
||||
default = {}
|
||||
default['order_line'] = False
|
||||
return super(sale_order, self).copy(cr, uid, id, default, context)
|
||||
|
||||
_inherit = "sale.order"
|
||||
_columns = {
|
||||
'abstract_line_ids': fields.one2many('sale.order.line', 'order_id', 'Order Lines',readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'order_line': one2many_mod2('sale.order.line', 'order_id', 'Order Lines',readonly=True, states={'draft':[('readonly',False)]}),
|
||||
}
|
||||
sale_order()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<report id="sale_order_1"
|
||||
string="Order with Layout"
|
||||
model="sale.order"
|
||||
name="sale.order.layout"
|
||||
rml="sale_layout/report/report_sale_layout.rml"
|
||||
auto="False"/>
|
||||
</data>
|
||||
</openerp>
|
||||
Executable
+117
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record model="ir.ui.view" id="view_order_line_form2_inherit_1">
|
||||
<field name="name">sale.order.line.form2.inherit_1</field>
|
||||
<field name="model">sale.order.line</field>
|
||||
<field name="inherit_id" ref="sale.view_order_line_form2"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page/field[@name='name']" position="before">
|
||||
<field name="layout_type" select="1" on_change="onchange_sale_order_line_view(layout_type)" />
|
||||
<field name="sequence"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_order_line_tree_inherit_1">
|
||||
<field name="name">sale.order.line.tree.inherit_1</field>
|
||||
<field name="model">sale.order.line</field>
|
||||
<field name="inherit_id" ref="sale.view_order_line_tree"/>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/tree/field[@name='name']" position="before">
|
||||
<field name="sequence" string="Seq."/>
|
||||
<field name="layout_type"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_order_form_inherit_1">
|
||||
<field name="name">sale.order.form.inherit_1</field>
|
||||
<field name="model">sale.order</field>
|
||||
<field name="inherit_id" ref="sale.view_order_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page/field[@name='order_line']" position="replace">
|
||||
<field name="abstract_line_ids" colspan="4" nolabel="1" widget="one2many_list">
|
||||
<form string="Sale Order Lines">
|
||||
<notebook>
|
||||
<page string="Order Line">
|
||||
<separator colspan="4" string="Automatic Declaration"/>
|
||||
<field colspan="4"
|
||||
context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
|
||||
name="product_id"
|
||||
attrs="{'readonly':[('layout_type','!=','article')]}"
|
||||
on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], True, parent.date_order, product_packaging, parent.fiscal_position)"
|
||||
select="1"/>
|
||||
<field
|
||||
context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
|
||||
name="product_uom_qty"
|
||||
attrs="{'readonly':[('layout_type','!=','article')]}"
|
||||
on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order, product_packaging, parent.fiscal_position)"
|
||||
select="1"/>
|
||||
<field name="product_uom"
|
||||
required="0"
|
||||
attrs="{'readonly':[('layout_type','!=','article')], 'required':[('layout_type','not in',['title','text','subtotal','line','break'])]}"
|
||||
on_change="product_uom_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order)"/>
|
||||
<field
|
||||
name="product_packaging"
|
||||
attrs="{'readonly':[('layout_type','!=','article')]}"
|
||||
context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
|
||||
on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order, product_packaging, parent.fiscal_position)"
|
||||
domain="[('product_id','=',product_id)]"
|
||||
groups="base.group_extended"/>
|
||||
<separator colspan="4" string="Manual Description" />
|
||||
<field name="layout_type" on_change="onchange_sale_order_line_view(layout_type)"/>
|
||||
<field name="sequence" string="Seq."/>
|
||||
<field colspan="4" name="name" select="2" attrs="{'readonly':[('layout_type','in',('line','break'))] }"/>
|
||||
<field name="price_unit" select="2" attrs="{'readonly':[('layout_type','!=','article')],'required':[('layout_type','not in',['title','text','subtotal','line','break'])]}"/>
|
||||
<field name="discount" attrs="{'readonly':[('layout_type','!=','article')]}"/>
|
||||
<field name="type" attrs="{'readonly':[('layout_type','!=','article')]}"/>
|
||||
<field name="delay" select="2" attrs="{'readonly':[('layout_type','!=','article')]}"/>
|
||||
<field colspan="4" name="tax_id" domain="[('parent_id','=',False)]" attrs="{'readonly':[('layout_type','!=','article')]}"/>
|
||||
<separator colspan="4" string="States"/>
|
||||
<field name="state" select="2"/>
|
||||
<group col="3" colspan="2">
|
||||
<field name="invoiced" select="2"/>
|
||||
<button colspan="1" name="%(sale.action_view_sale_order_line_make_invoice)d" states="confirmed" string="Make Invoice" type="action"/>
|
||||
</group>
|
||||
</page>
|
||||
<page groups="base.group_extended" string="Extra Info">
|
||||
<field groups="product.group_uos" name="product_uos_qty" on_change="uos_change(product_uos, product_uos_qty, product_id)"/>
|
||||
<field groups="product.group_uos" name="product_uos"/>
|
||||
<field name="address_allotment_id" select="2"/>
|
||||
<separator colspan="4" string="Properties"/>
|
||||
<field colspan="4" name="property_ids" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Notes">
|
||||
<field colspan="4" name="notes" nolabel="1"/>
|
||||
</page>
|
||||
<page string="History" groups="base.group_extended">
|
||||
<separator colspan="4" string="Invoice Lines"/>
|
||||
<field colspan="4" name="invoice_lines" nolabel="1"/>
|
||||
<separator colspan="4" string="Stock Moves"/>
|
||||
<field colspan="4" name="move_ids" nolabel="1" widget="many2many"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
<tree string="Sales order lines">
|
||||
<field colspan="4" name="name"/>
|
||||
<field name="product_uom_qty" string="Qty"/>
|
||||
<field name="product_uom" string="UoM"/>
|
||||
<field name="discount"/>
|
||||
<field name="price_unit"/>
|
||||
<!-- field name="price_net"/-->
|
||||
<field name="price_subtotal"/>
|
||||
<field name="sequence"/>
|
||||
</tree>
|
||||
</field>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -604,7 +604,7 @@
|
||||
<field name="invoice_state"/>
|
||||
<field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
|
||||
<field name="state"/>
|
||||
<button name="%(action_partial_picking)d" states="assigned" string="Validate" type="action" icon="gtk-go-forward" help="Validate Picking"/>
|
||||
<button name="%(action_partial_picking)d" states="assigned" string="Approve" type="action" icon="gtk-go-forward" help="Approve Picking"/>
|
||||
<button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel" help="Cancel" confirm="This operation will cancel the picking. Do you want to continue?"/>
|
||||
</tree>
|
||||
</field>
|
||||
@@ -714,7 +714,7 @@
|
||||
<button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>
|
||||
<button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>
|
||||
<button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
|
||||
<button name="%(action_partial_picking)d" states="assigned" string="Validate" type="action" icon="gtk-apply"/>
|
||||
<button name="%(action_partial_picking)d" states="assigned" string="Approve" type="action" icon="gtk-apply"/>
|
||||
<button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</page>
|
||||
@@ -774,7 +774,7 @@
|
||||
<field name="min_date"/>
|
||||
<field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
|
||||
<field name="state"/>
|
||||
<button name="%(action_partial_picking)d" states="assigned" string="Validate" type="action" icon="gtk-go-forward" help="Validate Delivery"/>
|
||||
<button name="%(action_partial_picking)d" states="assigned" string="Approve" type="action" icon="gtk-go-forward" help="Approve Delivery"/>
|
||||
<button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel" help="Cancel" confirm="This operation will cancel the delivery. Do you want to continue?"/>
|
||||
</tree>
|
||||
</field>
|
||||
@@ -978,7 +978,7 @@
|
||||
<field name="invoice_state"/>
|
||||
<field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
|
||||
<field name="state"/>
|
||||
<button name="%(action_partial_picking)d" states="assigned" string="Validate" type="action" icon="gtk-go-forward" help="Validate Picking"/>
|
||||
<button name="%(action_partial_picking)d" states="assigned" string="Approve" type="action" icon="gtk-go-forward" help="Approve Picking"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -1175,7 +1175,7 @@
|
||||
<field name="invoice_state" groups="base.group_extended"/>
|
||||
<field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
|
||||
<field name="state"/>
|
||||
<button name="%(action_partial_picking)d" states="assigned" string="Validate" type="action" icon="gtk-ok" help="Receive products"/>
|
||||
<button name="%(action_partial_picking)d" states="assigned" string="Approve" type="action" icon="gtk-ok" help="Receive products"/>
|
||||
<button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel" help="Cancel" confirm="This operation will cancel the shipment. Do you want to continue?" />
|
||||
</tree>
|
||||
</field>
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
<field name="product_qty" />
|
||||
<field name="state"/>
|
||||
<label string = ""/>
|
||||
<button name="action_validate" icon="gtk-apply" string="Validate" states="draft" type="object" colspan = "1"/>
|
||||
<button name="action_validate" icon="gtk-apply" string="Approve" states="draft" type="object" colspan = "1"/>
|
||||
|
||||
</group>
|
||||
</group>
|
||||
|
||||
Reference in New Issue
Block a user