New field "editor = order_processor"; rework printout layout

develop
Andreas Osim 2020-05-14 11:49:23 +02:00
parent 01a8e3797e
commit 5cdbfffcaa
12 changed files with 50 additions and 8 deletions

View File

@ -8,6 +8,7 @@ class Users(models.Model):
_inherit = 'res.users' _inherit = 'res.users'
clerk_name = fields.Char('Sachbearbeiter-ID', size=20, help='ID als Sachbearbeiter im PG9 (max. 20 Zeichen)') clerk_name = fields.Char('Sachbearbeiter-ID', size=20, help='ID als Sachbearbeiter im PG9 (max. 20 Zeichen)')
editor_name = fields.Char('Auftragsbearbeiter-ID', size=20, help='ID als Auftragsbearbeiter im PG9 (max. 20 Zeichen)')
@api.model @api.model
def create(self, vals): def create(self, vals):

View File

@ -71,7 +71,13 @@ class SaleOrder(models.Model):
weight_total = fields.Float(string='Gesamtgewicht', compute='_compute_weight_total') weight_total = fields.Float(string='Gesamtgewicht', compute='_compute_weight_total')
confirmation_nr = fields.Char('Freigabenummer',track_visibility='onchange') confirmation_nr = fields.Char('Freigabenummer',track_visibility='onchange')
order_type = fields.Selection(ORDER_TYPES, string='Auftragsart', default='M') order_type = fields.Selection(ORDER_TYPES, string='Auftragsart', default='M')
clerk_id = fields.Many2one('res.users', string='Sachbearbeiter', domain=[('clerk_name', '!=', '')],track_visibility='onchange')
clerk_id = fields.Many2one('res.users', string='Sachbearbeiter',
domain=[('clerk_name', '!=', '')],track_visibility='onchange')
editor_id = fields.Many2one('res.users', string='Auftragsbearbeiter',
default=lambda self: self.env.user if self.env.user.editor_name else '',
domain=[('editor_name', '!=', '')],track_visibility='onchange')
desired_delivery_date = fields.Date(string='Wunschlieferdatum') desired_delivery_date = fields.Date(string='Wunschlieferdatum')
delivery_date_warning = fields.Boolean(compute='_compute_dlv_date_warn', store=False) delivery_date_warning = fields.Boolean(compute='_compute_dlv_date_warn', store=False)
warn_vat_date = fields.Boolean(compute='_get_vat_warn_date', store=False, default=False) warn_vat_date = fields.Boolean(compute='_get_vat_warn_date', store=False, default=False)
@ -601,6 +607,9 @@ class SaleOrder(models.Model):
new_vals['assembly_state'] = 'approved' new_vals['assembly_state'] = 'approved'
new_vals['message_post'] = 'PG9 autoreleased' new_vals['message_post'] = 'PG9 autoreleased'
if self.editor_id == '' and self.env.user.editor_name:
self.editor_id = self.env.user.editor_name
self.write(new_vals) self.write(new_vals)
return super(SaleOrder, self).action_confirm() return super(SaleOrder, self).action_confirm()

View File

@ -16,6 +16,14 @@
<field name="name">Ändern des PG-Status erlauben</field> <field name="name">Ändern des PG-Status erlauben</field>
<field name="comment">Ändern des PG-Status erlauben</field> <field name="comment">Ändern des PG-Status erlauben</field>
</record> </record>
<record id="group_is_order_processor" model="res.groups">
<field name="name">Ist Auftragsbearbeiter</field>
<field name="comment">Ist Auftragsbearbeiter</field>
</record>
<record id="group_is_clerk" model="res.groups">
<field name="name">Ist Sachbearbeiter</field>
<field name="comment">Ist Sachbearbeiter</field>
</record>
<record id="group_allow_change__portal_managed_pricelist" model="res.groups"> <record id="group_allow_change__portal_managed_pricelist" model="res.groups">
<field name="name">Ändern des Flags 'Preisliste im Portal verwaltet' erlauben</field> <field name="name">Ändern des Flags 'Preisliste im Portal verwaltet' erlauben</field>
<field name="comment">Ändern des Flags 'Preisliste im Portal verwaltet' erlauben</field> <field name="comment">Ändern des Flags 'Preisliste im Portal verwaltet' erlauben</field>

View File

@ -7,6 +7,7 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='partner_id']" position="after"> <xpath expr="//field[@name='partner_id']" position="after">
<field name="clerk_name"/> <field name="clerk_name"/>
<field name="editor_name"/>
</xpath> </xpath>
</field> </field>
</record> </record>

View File

@ -24,6 +24,11 @@
style="padding-left:30px;padding-right:30px;background-color:red;"/> style="padding-left:30px;padding-right:30px;background-color:red;"/>
<div class="oe_clear"/> <div class="oe_clear"/>
</field> </field>
<field name="partner_shipping_id" position="after">
<div style="height:5px;">
</div>
<field name="editor_id" options="{'no_create': True, 'no_open': True}"/>
</field>
<field name="delivery_date" position="before"> <field name="delivery_date" position="before">
<field name="delivery_date_warning" position="before" attrs="{'readonly':True, 'invisible':True}"/> <field name="delivery_date_warning" position="before" attrs="{'readonly':True, 'invisible':True}"/>
<field name="desired_delivery_date" position="before" class="oe_highlight_blink urgent" attrs="{'readonly':True, 'invisible':['|',('desired_delivery_date','=',False),('delivery_date_warning','=',False)]}"/> <field name="desired_delivery_date" position="before" class="oe_highlight_blink urgent" attrs="{'readonly':True, 'invisible':['|',('desired_delivery_date','=',False),('delivery_date_warning','=',False)]}"/>
@ -251,6 +256,7 @@
<filter string="Auftragsart" domain="[]" context="{'group_by':'order_type'}"/> <filter string="Auftragsart" domain="[]" context="{'group_by':'order_type'}"/>
<filter string="Vertriebskanal" domain="[]" context="{'group_by':'team_id'}"/> <filter string="Vertriebskanal" domain="[]" context="{'group_by':'team_id'}"/>
<filter string="Sachbearbeiter" domain="[]" context="{'group_by' : 'clerk_id'}" /> <filter string="Sachbearbeiter" domain="[]" context="{'group_by' : 'clerk_id'}" />
<filter string="Auftragsbearbeiter" domain="[]" context="{'group_by' : 'editor_id'}" />
</filter> </filter>
</field> </field>
</record> </record>

View File

@ -7,8 +7,8 @@
<field name="page_height">0</field> <field name="page_height">0</field>
<field name="page_width">0</field> <field name="page_width">0</field>
<field name="orientation">Portrait</field> <field name="orientation">Portrait</field>
<field name="margin_top">40</field> <field name="margin_top">35</field>
<field name="margin_bottom">20</field> <field name="margin_bottom">15</field>
<field name="margin_left">10</field> <field name="margin_left">10</field>
<field name="margin_right">0</field> <field name="margin_right">0</field>
<field name="header_line" eval="False"/> <field name="header_line" eval="False"/>

View File

@ -86,12 +86,21 @@ thead.table-header {
color: white; color: white;
} }
/*
tbody.sale-tbody, tbody.invoice-tbody, tbody.stock-tbody { tbody.sale-tbody, tbody.invoice-tbody, tbody.stock-tbody {
background-color: #E6E7E9; background-color: #E6E7E9;
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
border-bottom: 2px solid #A72523; border-bottom: 2px solid #A72523;
} }
*/
tbody.sale-tbody, tbody.invoice-tbody, tbody.stock-tbody {
background-color: #FFFFFF;
margin-top: 0;
margin-bottom: 0;
border-bottom: 2px solid #A72523;
}
tbody.production-tbody { tbody.production-tbody {
background-color: #FFFFFF; background-color: #FFFFFF;
@ -100,11 +109,19 @@ tbody.production-tbody {
border-bottom: 2px solid #000000; border-bottom: 2px solid #000000;
} }
/*
tbody.totals-tbody { tbody.totals-tbody {
background-color: #E6E7E9; background-color: #E6E7E9;
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
} }
*/
tbody.totals-tbody {
background-color: #FFFFFF;
margin-top: 0;
margin-bottom: 0;
}
tr.border_lower_black { tr.border_lower_black {
border-bottom: 2px solid #000000; border-bottom: 2px solid #000000;

View File

@ -54,7 +54,7 @@
<span class="col-xs-4" style="padding: 0px" t-field="o.partner_id.ref"/> <span class="col-xs-4" style="padding: 0px" t-field="o.partner_id.ref"/>
</div> </div>
<strong> <strong>
<span class="col-xs-2">Ansprechpartner:</span> <span class="col-xs-2">Auftragsbearbeiter:</span>
</strong> </strong>
<span class="col-xs-3" t-field="o.user_id"/> <span class="col-xs-3" t-field="o.user_id"/>
<strong> <strong>

View File

@ -38,7 +38,7 @@
t-options='{"format": "dd.MM.yyyy"}'/> t-options='{"format": "dd.MM.yyyy"}'/>
</div> </div>
<div class="col-xs-12" style="padding-right:2px;" t-if="user.partner_id"> <div class="col-xs-12" style="padding-right:2px;" t-if="user.partner_id">
<span class="col-xs-6 text-left">Ansprechpartner:</span> <span class="col-xs-6 text-left">Auftragsbearbeiter:</span>
<span class="col-xs-6" t-field="user.partner_id"/> <span class="col-xs-6" t-field="user.partner_id"/>
</div> </div>
<div class="col-xs-12" style="padding-right:2px;" <div class="col-xs-12" style="padding-right:2px;"

View File

@ -33,7 +33,7 @@
<span class="col-xs-6" t-field="o.partner_ref"/> <span class="col-xs-6" t-field="o.partner_ref"/>
</div> </div>
<div class="col-xs-12" style="padding-right:2px;" t-if="user.partner_id"> <div class="col-xs-12" style="padding-right:2px;" t-if="user.partner_id">
<span class="col-xs-6 text-left">Ansprechpartner:</span> <span class="col-xs-6 text-left">Auftragsbearbeiter:</span>
<span class="col-xs-6" t-field="user.partner_id"/> <span class="col-xs-6" t-field="user.partner_id"/>
</div> </div>
<div class="col-xs-12" style="padding-right:2px;" <div class="col-xs-12" style="padding-right:2px;"

View File

@ -70,7 +70,7 @@
<span class="col-xs-4" style="padding: 0px;width: 42%;" t-field="o.partner_id.ref"/> <span class="col-xs-4" style="padding: 0px;width: 42%;" t-field="o.partner_id.ref"/>
</div> </div>
<strong> <strong>
<span class="col-xs-2">Ansprechpartner:</span> <span class="col-xs-2">Auftragsbearbeiter:</span>
</strong> </strong>
<span class="col-xs-3" t-field="o.user_id"/> <span class="col-xs-3" t-field="o.user_id"/>
<strong> <strong>

View File

@ -46,7 +46,7 @@
<span class="col-xs-4" style="padding: 0px;width: 42%;" t-field="o.partner_id.ref"/> <span class="col-xs-4" style="padding: 0px;width: 42%;" t-field="o.partner_id.ref"/>
</div> </div>
<strong> <strong>
<span class="col-xs-2">Ansprechpartner:</span> <span class="col-xs-2">Auftragsbearbeiter:</span>
</strong> </strong>
<span class="col-xs-3" t-field="o.user_id"/> <span class="col-xs-3" t-field="o.user_id"/>
<strong> <strong>