bzr revid: vir@tinyerp.com-20100927085603-l0okye9a257kyj28
This commit is contained in:
Vir (Open ERP) 2010-09-27 14:26:03 +05:30
commit ac199bb94e
41 changed files with 485 additions and 409 deletions

View File

@ -54,6 +54,17 @@
</field> </field>
</group> </group>
<newline/> <newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="currency_id" widget="selection"/>
<field name="general_account_id" widget="selection"/>
<field name="product_uom_id" widget="selection"/>
<field name="journal_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="account_id"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</group>
<newline/>
<group expand="1" string="Group By..."> <group expand="1" string="Group By...">
<filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/> <filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/>
<filter string="Currency" icon="terp-dolar" context="{'group_by':'currency_id'}"/> <filter string="Currency" icon="terp-dolar" context="{'group_by':'currency_id'}"/>
@ -70,17 +81,6 @@
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="currency_id" widget="selection"/>
<field name="general_account_id" widget="selection"/>
<field name="product_uom_id" widget="selection"/>
<field name="journal_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="account_id"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -56,7 +56,7 @@
<group colspan="10" col="12"> <group colspan="10" col="12">
<filter icon="terp-go-year" string="This F.Year" <filter icon="terp-go-year" string="This F.Year"
name="thisyear" name="thisyear"
domain="[('period_id','in','current_year')]" domain="[('period_id','in','current_year')]"
help="Journal Entries with period in current year"/> help="Journal Entries with period in current year"/>
<filter icon="terp-go-month" string="This Period" <filter icon="terp-go-month" string="This Period"
name="period" name="period"
@ -73,6 +73,19 @@
<field name="journal_id" widget="selection"/> <field name="journal_id" widget="selection"/>
<field name="period_id"/> <field name="period_id"/>
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="fiscalyear_id"/>
<separator orientation="vertical"/>
<field name="product_id"/>
<field name="partner_id"/>
<separator orientation="vertical" groups="base.group_multi_company"/>
<field name="company_id" groups="base.group_multi_company"/>
<newline/>
<field name="date_created"/>
<field name="date"/>
<field name="date_maturity"/>
</group>
<newline/> <newline/>
<group expand="1" string="Group By..."> <group expand="1" string="Group By...">
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}"/> <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}"/>
@ -92,19 +105,6 @@
<filter string="Period" icon="terp-go-month" name="group_period" context="{'group_by':'period_id'}"/> <filter string="Period" icon="terp-go-month" name="group_period" context="{'group_by':'period_id'}"/>
<filter string="Fiscal Year" icon="terp-go-year" context="{'group_by':'fiscalyear_id'}"/> <filter string="Fiscal Year" icon="terp-go-year" context="{'group_by':'fiscalyear_id'}"/>
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="fiscalyear_id"/>
<separator orientation="vertical"/>
<field name="product_id"/>
<field name="partner_id"/>
<separator orientation="vertical" groups="base.group_multi_company"/>
<field name="company_id" groups="base.group_multi_company"/>
<newline/>
<field name="date_created"/>
<field name="date"/>
<field name="date_maturity"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -97,6 +97,17 @@
<field name="categ_id" /> <field name="categ_id" />
</group> </group>
<newline/> <newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="product_id"/>
<separator orientation="vertical"/>
<field name="journal_id" widget="selection"/>
<field name="account_id"/>
<separator orientation="vertical"/>
<field name="date_due"/>
<separator orientation="vertical" groups="base.group_multi_company"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<newline/>
<group expand="1" string="Group By..."> <group expand="1" string="Group By...">
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id','residual_visible':True}"/> <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id','residual_visible':True}"/>
<filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/> <filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>
@ -118,17 +129,6 @@
<filter string="Month" name="month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of Invoice Date"/> <filter string="Month" name="month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of Invoice Date"/>
<filter string="Year" name="year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of Invoice Date"/> <filter string="Year" name="year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of Invoice Date"/>
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="product_id"/>
<separator orientation="vertical"/>
<field name="journal_id" widget="selection"/>
<field name="account_id"/>
<separator orientation="vertical"/>
<field name="date_due"/>
<separator orientation="vertical" groups="base.group_multi_company"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -126,8 +126,8 @@ class account_analytic_account(osv.osv):
where account_analytic_line.account_id IN %s \ where account_analytic_line.account_id IN %s \
and account_analytic_line.invoice_id is not null \ and account_analytic_line.invoice_id is not null \
GROUP BY account_analytic_line.account_id",(parent_ids,)) GROUP BY account_analytic_line.account_id",(parent_ids,))
for account_id, sum in cr.fetchall(): for account_id, lid in cr.fetchall():
res[account_id] = sum res[account_id][f] = lid
for account in accounts: for account in accounts:
for child in account.child_ids: for child in account.child_ids:
if res[account.id][f] < res.get(child.id, {}).get(f, ''): if res[account.id][f] < res.get(child.id, {}).get(f, ''):
@ -141,8 +141,8 @@ class account_analytic_account(osv.osv):
where account_id IN %s \ where account_id IN %s \
and invoice_id is null \ and invoice_id is null \
GROUP BY account_analytic_line.account_id" ,(parent_ids,)) GROUP BY account_analytic_line.account_id" ,(parent_ids,))
for account_id, sum in cr.fetchall(): for account_id, lwd in cr.fetchall():
res[account_id][f] = sum res[account_id][f] = lwd
for account in accounts: for account in accounts:
for child in account.child_ids: for child in account.child_ids:
if res[account.id][f] < res.get(child.id, {}).get(f, ''): if res[account.id][f] < res.get(child.id, {}).get(f, ''):
@ -160,8 +160,8 @@ class account_analytic_account(osv.osv):
and invoice_id is null \ and invoice_id is null \
AND to_invoice IS NOT NULL \ AND to_invoice IS NOT NULL \
GROUP BY account_analytic_line.account_id;",(parent_ids,)) GROUP BY account_analytic_line.account_id;",(parent_ids,))
for account_id, sum in cr.fetchall(): for account_id, sua in cr.fetchall():
res[account_id][f] = round(sum, dp) res[account_id][f] = round(sua, dp)
for account in accounts: for account in accounts:
for child in account.child_ids: for child in account.child_ids:
if account.id != child.id: if account.id != child.id:
@ -180,8 +180,8 @@ class account_analytic_account(osv.osv):
and account_analytic_journal.type='general' \ and account_analytic_journal.type='general' \
GROUP BY account_analytic_line.account_id",(parent_ids,)) GROUP BY account_analytic_line.account_id",(parent_ids,))
ff = cr.fetchall() ff = cr.fetchall()
for account_id, sum in ff: for account_id, hq in ff:
res[account_id][f] = round(sum, dp) res[account_id][f] = round(hq, dp)
for account in accounts: for account in accounts:
for child in account.child_ids: for child in account.child_ids:
if account.id != child.id: if account.id != child.id:

View File

@ -37,7 +37,7 @@ class auction_artists(osv.osv):
_columns = { _columns = {
'name': fields.char('Artist/Author Name', size=64, required=True), 'name': fields.char('Artist/Author Name', size=64, required=True),
'pseudo': fields.char('Pseudo', size=64), 'pseudo': fields.char('Pseudo', size=64),
'birth_death_dates':fields.char('Birth / Death dates', size=64), 'birth_death_dates':fields.char('Lifespan', size=64),
'biography': fields.text('Biography'), 'biography': fields.text('Biography'),
} }
auction_artists() auction_artists()
@ -69,23 +69,50 @@ class auction_dates(osv.osv):
reads = self.read(cr, uid, ids, ['name', 'auction1'], context) reads = self.read(cr, uid, ids, ['name', 'auction1'], context)
name = [(r['id'], '['+r['auction1']+'] '+ r['name']) for r in reads] name = [(r['id'], '['+r['auction1']+'] '+ r['name']) for r in reads]
return name return name
def _get_buyer_invoice(self, cr, uid, ids, name, arg, context={}):
lots_obj = self.pool.get('auction.lots')
result = {}
for data in self.browse(cr, uid, ids):
inv_ids = []
lots_ids = lots_obj.search(cr, uid, [('auction_id','=',data.id),('ach_inv_id','!=',False)])
for lot in lots_obj.browse(cr, uid, lots_ids):
if lot.ach_inv_id:
inv_ids.append(lot.ach_inv_id.id)
result[data.id] = inv_ids
return result
def _get_seller_invoice(self, cr, uid, ids, name, arg, context={}):
lots_obj = self.pool.get('auction.lots')
lots_ids = lots_obj.search(cr, uid, [('auction_id','in',ids)])
result = {}
for data in self.browse(cr, uid, ids):
inv_ids = []
lots_ids = lots_obj.search(cr, uid, [('auction_id','=',data.id),('sel_inv_id','!=',False)])
for lot in lots_obj.browse(cr, uid, lots_ids):
if lot.sel_inv_id:
inv_ids.append(lot.sel_inv_id.id)
result[data.id] = inv_ids
return result
_columns = { _columns = {
'name': fields.char('Auction Name', size=64, required=True), 'name': fields.char('Auction Name', size=64, required=True),
'expo1': fields.date('First Exposition Day', required=True, help="Beginning Exposition Date For Auction"), 'expo1': fields.date('First Exposition Day', required=True, help="Beginning exposition date for auction"),
'expo2': fields.date('Last Exposition Day', required=True, help="Last Exposition Date For Auction"), 'expo2': fields.date('Last Exposition Day', required=True, help="Last exposition date for auction"),
'auction1': fields.date('First Auction Day', required=True, help="Start Date Of Auction"), 'auction1': fields.date('First Auction Day', required=True, help="Start date of auction"),
'auction2': fields.date('Last Auction Day', required=True, help="End Date Of Auction"), 'auction2': fields.date('Last Auction Day', required=True, help="End date of auction"),
'journal_id': fields.many2one('account.journal', 'Buyer Journal', required=True, help="Account Journal For Buyer"), 'journal_id': fields.many2one('account.journal', 'Buyer Journal', required=True, help="Account journal for buyer"),
'journal_seller_id': fields.many2one('account.journal', 'Seller Journal', required=True, help="Account Journal For Seller"), 'journal_seller_id': fields.many2one('account.journal', 'Seller Journal', required=True, help="Account journal for seller"),
'buyer_costs': fields.many2many('account.tax', 'auction_buyer_taxes_rel', 'auction_id', 'tax_id', 'Buyer Costs', help="Account Tax For Buyer"), 'buyer_costs': fields.many2many('account.tax', 'auction_buyer_taxes_rel', 'auction_id', 'tax_id', 'Buyer Costs', help="Account tax for buyer"),
'seller_costs': fields.many2many('account.tax', 'auction_seller_taxes_rel', 'auction_id', 'tax_id', 'Seller Costs', help="Account Tax For Seller"), 'seller_costs': fields.many2many('account.tax', 'auction_seller_taxes_rel', 'auction_id', 'tax_id', 'Seller Costs', help="Account tax for seller"),
'acc_income': fields.many2one('account.account', 'Income Account', required=True), 'acc_income': fields.many2one('account.account', 'Income Account', required=True),
'acc_expense': fields.many2one('account.account', 'Expense Account', required=True), 'acc_expense': fields.many2one('account.account', 'Expense Account', required=True),
'adj_total': fields.function(_adjudication_get, method=True, string='Total Adjudication', store=True), 'adj_total': fields.function(_adjudication_get, method=True, string='Total Adjudication', store=True),
'state': fields.selection((('draft', 'Draft'), ('closed', 'Closed')), 'State', select=1, readonly=True, 'state': fields.selection((('draft', 'Draft'), ('closed', 'Closed')), 'State', select=1, readonly=True,
help='When auction starts the state is \'Draft\'.\n At the end of auction, the state becomes \'Closed\'.'), help='When auction starts the state is \'Draft\'.\n At the end of auction, the state becomes \'Closed\'.'),
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic Account', required=True), 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic Account', required=True),
'buyer_invoice_history': fields.function(_get_buyer_invoice, relation='account.invoice', method=True, string="Buyer Invoice", type='many2many'),
'seller_invoice_history': fields.function(_get_seller_invoice, relation='account.invoice', method=True, string="Seller Invoice", type='many2many'),
} }
_defaults = { _defaults = {
@ -355,15 +382,15 @@ class auction_lots(osv.osv):
_columns = { _columns = {
'bid_lines':fields.one2many('auction.bid_line', 'lot_id', 'Bids'), 'bid_lines':fields.one2many('auction.bid_line', 'lot_id', 'Bids'),
'auction_id': fields.many2one('auction.dates', 'Auction', select=1, help="Auction For Object"), 'auction_id': fields.many2one('auction.dates', 'Auction', select=1, help="Auction for object"),
'bord_vnd_id': fields.many2one('auction.deposit', 'Depositer Inventory', required=True, help="Provide Deposit Information: seller, Withdrawned Method, Object, Deposit Costs"), 'bord_vnd_id': fields.many2one('auction.deposit', 'Depositer Inventory', required=True, help="Provide deposit information: seller, Withdrawned Method, Object, Deposit Costs"),
'name': fields.char('Title', size=64, required=True, help='Auction Object Name'), 'name': fields.char('Title', size=64, required=True, help='Auction object name'),
'name2': fields.char('Short Description (2)', size=64), 'name2': fields.char('Short Description (2)', size=64),
'lot_type': fields.selection(_type_get, 'Object category', size=64), 'lot_type': fields.selection(_type_get, 'Object category', size=64),
'author_right': fields.many2one('account.tax', 'Author rights', help="Account Tax For Author Commission"), 'author_right': fields.many2one('account.tax', 'Author rights', help="Account tax for author commission"),
'lot_est1': fields.float('Minimum Estimation', help="Minimum Estimate Price"), 'lot_est1': fields.float('Minimum Estimation', help="Minimum Estimate Price"),
'lot_est2': fields.float('Maximum Estimation', help="Maximum Estimate Price"), 'lot_est2': fields.float('Maximum Estimation', help="Maximum Estimate Price"),
'lot_num': fields.integer('List Number', required=True, select=1, help="List Number In Depositer Inventory"), 'lot_num': fields.integer('List Number', required=True, select=1, help="List number in depositer inventory"),
'create_uid': fields.many2one('res.users', 'Created by', readonly=True), 'create_uid': fields.many2one('res.users', 'Created by', readonly=True),
'history_ids':fields.one2many('auction.lot.history', 'lot_id', 'Auction history'), 'history_ids':fields.one2many('auction.lot.history', 'lot_id', 'Auction history'),
'lot_local':fields.char('Location', size=64, help="Auction Location"), 'lot_local':fields.char('Location', size=64, help="Auction Location"),
@ -380,15 +407,15 @@ class auction_lots(osv.osv):
'ach_login': fields.char('Buyer Username', size=64), 'ach_login': fields.char('Buyer Username', size=64),
'ach_uid': fields.many2one('res.partner', 'Buyer'), 'ach_uid': fields.many2one('res.partner', 'Buyer'),
'seller_id': fields.related('bord_vnd_id','partner_id', type='many2one', relation='res.partner', string='Seller', readonly=True), 'seller_id': fields.related('bord_vnd_id','partner_id', type='many2one', relation='res.partner', string='Seller', readonly=True),
'ach_emp': fields.boolean('Taken Away', readonly=True, help="When state is Taken Away, This field is Marked as True"), 'ach_emp': fields.boolean('Taken Away', readonly=True, help="When state is Taken Away, this field is marked as True"),
'is_ok': fields.boolean('Buyer\'s payment', help="When Buyer Pay For Bank statement', This field is Marked"), 'is_ok': fields.boolean('Buyer\'s payment', help="When buyer pay for bank statement', this field is marked"),
'ach_inv_id': fields.many2one('account.invoice', 'Buyer Invoice', readonly=True, states={'draft':[('readonly', False)]}), 'ach_inv_id': fields.many2one('account.invoice', 'Buyer Invoice', readonly=True, states={'draft':[('readonly', False)]}),
'sel_inv_id': fields.many2one('account.invoice', 'Seller Invoice', readonly=True, states={'draft':[('readonly', False)]}), 'sel_inv_id': fields.many2one('account.invoice', 'Seller Invoice', readonly=True, states={'draft':[('readonly', False)]}),
'vnd_lim': fields.float('Seller limit'), 'vnd_lim': fields.float('Seller limit'),
'vnd_lim_net': fields.boolean('Net limit ?', readonly=True), 'vnd_lim_net': fields.boolean('Net limit ?', readonly=True),
'image': fields.binary('Image', help="Object Image"), 'image': fields.binary('Image', help="Object Image"),
'paid_vnd':fields.function(_getprice, string='Seller Paid', method=True, type='boolean', store=True, multi="paid_vnd", help="When state of Seller Invoice is 'Paid', This field is selected as True."), 'paid_vnd':fields.function(_getprice, string='Seller Paid', method=True, type='boolean', store=True, multi="paid_vnd", help="When state of Seller Invoice is 'Paid', this field is selected as True."),
'paid_ach':fields.function(_getprice, string='Buyer Invoice Reconciled', method=True, type='boolean', store=True, multi="paid_ach", help="When state of Buyer Invoice is 'Paid', This field is selected as True."), 'paid_ach':fields.function(_getprice, string='Buyer Invoice Reconciled', method=True, type='boolean', store=True, multi="paid_ach", help="When state of Buyer Invoice is 'Paid', this field is selected as True."),
'state': fields.selection(( 'state': fields.selection((
('draft', 'Draft'), ('draft', 'Draft'),
('unsold', 'Unsold'), ('unsold', 'Unsold'),
@ -404,7 +431,7 @@ class auction_lots(osv.osv):
'gross_revenue':fields.function(_getprice, method=True, string='Gross revenue', store=True, multi="gross_revenue", help="Buyer Price - Seller Price"), 'gross_revenue':fields.function(_getprice, method=True, string='Gross revenue', store=True, multi="gross_revenue", help="Buyer Price - Seller Price"),
'gross_margin':fields.function(_getprice, method=True, string='Gross Margin (%)', store=True, multi="gross_margin", help="(Gross Revenue*100.0)/ Object Price"), 'gross_margin':fields.function(_getprice, method=True, string='Gross Margin (%)', store=True, multi="gross_margin", help="(Gross Revenue*100.0)/ Object Price"),
'costs':fields.function(_getprice, method=True, string='Indirect costs', store=True, multi="costs", help="Deposit cost"), 'costs':fields.function(_getprice, method=True, string='Indirect costs', store=True, multi="costs", help="Deposit cost"),
'statement_id': fields.many2many('account.bank.statement.line', 'auction_statement_line_rel', 'auction_id', 'statement', 'Payment', help="Bank statement Line For Given Buyer"), 'statement_id': fields.many2many('account.bank.statement.line', 'auction_statement_line_rel', 'auction_id', 'statement', 'Payment', help="Bank statement line for given buyer"),
'net_revenue':fields.function(_getprice, method=True, string='Net revenue', store=True, multi="net_revenue", help="Buyer Price - Seller Price - Indirect Cost"), 'net_revenue':fields.function(_getprice, method=True, string='Net revenue', store=True, multi="net_revenue", help="Buyer Price - Seller Price - Indirect Cost"),
'net_margin':fields.function(_getprice, method=True, string='Net Margin (%)', store=True, multi="net_margin", help="(Net Revenue * 100)/ Object Price"), 'net_margin':fields.function(_getprice, method=True, string='Net Margin (%)', store=True, multi="net_margin", help="(Net Revenue * 100)/ Object Price"),
} }
@ -761,7 +788,7 @@ class auction_bid(osv.osv):
_order = 'id desc' _order = 'id desc'
_columns = { _columns = {
'partner_id': fields.many2one('res.partner', 'Buyer Name', required=True), 'partner_id': fields.many2one('res.partner', 'Buyer Name', required=True),
'contact_tel':fields.char('Contact', size=64), 'contact_tel':fields.char('Contact Number', size=64),
'name': fields.char('Bid ID', size=64, required=True), 'name': fields.char('Bid ID', size=64, required=True),
'auction_id': fields.many2one('auction.dates', 'Auction Date', required=True), 'auction_id': fields.many2one('auction.dates', 'Auction Date', required=True),
'bid_lines': fields.one2many('auction.bid_line', 'bid_id', 'Bid'), 'bid_lines': fields.one2many('auction.bid_line', 'bid_id', 'Bid'),

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<openerp> <openerp>
<data> <data>
<menuitem name="Auction Management" id="auction_menu_root" icon="terp-purchase" sequence="26" groups="base.group_system"/> <menuitem name="Auction" id="auction_menu_root" icon="terp-purchase" sequence="26" groups="base.group_system"/>
<menuitem name="Configuration" parent="auction_menu_root" id="auction_config_menu" sequence="7"/> <menuitem name="Configuration" parent="auction_menu_root" id="auction_config_menu" sequence="7"/>
<menuitem name="Tools Bar Codes" id="auction_outils_menu" parent="auction_menu_root" sequence="5" /> <menuitem name="Tools Bar Codes" id="auction_outils_menu" parent="auction_menu_root" sequence="5" />
<menuitem name="Deliveries Management" action="action_auction_taken" id="menu_wizard_emporte" parent="auction_outils_menu"/> <menuitem name="Deliveries Management" action="action_auction_taken" id="menu_wizard_emporte" parent="auction_outils_menu"/>
@ -14,9 +14,8 @@
<field name="type">tree</field> <field name="type">tree</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Artists"> <tree string="Artists">
<field name="name"/> <field name="name"/>
<field name="birth_death_dates"/> <field name="birth_death_dates"/>
<field name="biography"/>
</tree> </tree>
</field> </field>
</record> </record>
@ -26,12 +25,15 @@
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Artists"> <form string="Artists">
<field colspan="4" name="name" select="1"/> <separator string="Author/Artist" colspan="4"/>
<field colspan="4" name="pseudo" select="1"/> <group colspan="4" col="6">
<newline/> <field name="name" colspan="4" string="Name"/>
<field colspan="4" name="birth_death_dates"/> <newline/>
<newline/> <field name="pseudo"/>
<field colspan="4" name="biography"/> <field name="birth_death_dates"/>
</group>
<separator string="Biography" colspan="4"/>
<field name="biography" nolabel="1" colspan="4"/>
</form> </form>
</field> </field>
</record> </record>
@ -105,27 +107,39 @@
<field name="name" colspan="2" select="1"/> <field name="name" colspan="2" select="1"/>
<notebook colspan="4"> <notebook colspan="4">
<page string="Auction Dates"> <page string="Auction Dates">
<separator string="Exposition Dates" colspan="4"/> <group colspan="4" col="4">
<field name="expo1"/> <group colspan="2" col="2">
<field name="expo2"/> <separator string="Exposition Dates" colspan="4"/>
<separator string="Auction Dates" colspan="4"/> <field name="expo1"/>
<field name="auction1" select="1"/> <field name="expo2"/>
<field name="auction2" select="1"/> </group>
<group colspan="2" col="2">
<separator string="Auction Dates" colspan="4"/>
<field name="auction1" select="1"/>
<field name="auction2" select="1"/>
</group>
</group>
<separator string="" colspan="4"/> <separator string="" colspan="4"/>
<field name="state"/> <field name="state"/>
<button name="close" states="draft" string="Create Invoices" type="object" colspan="2" icon="gtk-yes"/> <button name="close" states="draft" string="Create Invoices" type="object" colspan="2" icon="gtk-yes"/>
</page> </page>
<page string="Accounting" > <page string="Accounting" >
<separator string="Accounting" colspan="4"/> <group colspan="4" col="4">
<field name="acc_expense" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/> <group colspan="2" col="2">
<field name="acc_income" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/> <separator string="Accounting" colspan="4"/>
<separator string="Analytic" colspan="4"/> <field name="acc_expense" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
<field name="journal_id"/> <field name="acc_income" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
<field name="journal_seller_id"/> </group>
<field name="account_analytic_id" groups="base.group_extended"/> <group colspan="2" col="2">
<separator string="Analytic" colspan="4"/>
<field name="journal_id"/>
<field name="journal_seller_id"/>
<field name="account_analytic_id" groups="base.group_extended"/>
</group>
</group>
</page> </page>
<page string="Commissions"> <page string="Commissions">
<group col="4" colspan="4"> <group col="4" colspan="4" expand="1">
<group col="2" colspan="4"> <group col="2" colspan="4">
<separator string="Buyer Commissions" colspan="4"/> <separator string="Buyer Commissions" colspan="4"/>
<field name="buyer_costs" domain="[('parent_id','=',False),('domain','=','auction'),('type_tax_use','&lt;&gt;','sale')]" nolabel="1" colspan="4"/> <field name="buyer_costs" domain="[('parent_id','=',False),('domain','=','auction'),('type_tax_use','&lt;&gt;','sale')]" nolabel="1" colspan="4"/>
@ -136,6 +150,44 @@
</group> </group>
</group> </group>
</page> </page>
<page string="History">
<group colspan="4" col="4">
<group colspan="2" col="2">
<separator string="Buyer Invoices" colspan="2"/>
<field name="buyer_invoice_history" nolabel="1" widget="one2many_list"
height="400">
<tree colors="blue:state in ('draft');black:state in ('proforma','proforma2','open');gray:state in ('cancel')" string="Invoice">
<field name="date_invoice"/>
<field name="number"/>
<field name="partner_id" groups="base.group_user"/>
<field name="name"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="user_id"/>
<field name="date_due"/>
<field name="origin"/>
<field name="state"/>
</tree>
</field>
</group>
<group colspan="2" col="2">
<separator string="Seller Invoices" colspan="2"/>
<field name="seller_invoice_history" nolabel="1" widget="one2many_list"
height="400">
<tree colors="blue:state in ('draft');black:state in ('proforma','proforma2','open');gray:state in ('cancel')" string="Invoice">
<field name="date_invoice"/>
<field name="number"/>
<field name="partner_id" groups="base.group_user"/>
<field name="name"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="user_id"/>
<field name="date_due"/>
<field name="origin"/>
<field name="state"/>
</tree>
</field>
</group>
</group>
</page>
</notebook> </notebook>
</form> </form>
</field> </field>
@ -332,13 +384,10 @@
</form> </form>
</field> </field>
</page> </page>
<page string="Note">
<field name="obj_desc" colspan="4" nolabel="1"/>
</page>
<page string="History" groups="base.group_extended"> <page string="History" groups="base.group_extended">
<group colspan="2" col="2"> <group colspan="2" col="2">
<field name="statement_id" domain="[('state','=','draft')]" colspan="4" nolabel="1" <field name="statement_id" domain="[('state','=','draft')]" colspan="4" nolabel="1"
widget="one2many_list"> height="575" width="285" widget="one2many_list">
<tree string="Buyer's Payment History"> <tree string="Buyer's Payment History">
<field name="statement_id"/> <field name="statement_id"/>
<field name="amount"/> <field name="amount"/>
@ -352,14 +401,12 @@
<field name="account_id"/> <field name="account_id"/>
<field name="type"/> <field name="type"/>
<field name="statement_id"/> <field name="statement_id"/>
<field name="reconcile_id"/>
<field name="amount"/> <field name="amount"/>
<field name="reconcile_amount"/>
</form> </form>
</field> </field>
</group> </group>
<group colspan="2" col="2"> <group colspan="2" col="2">
<field name="history_ids" colspan="4" readonly="1" nolabel="1"> <field name="history_ids" colspan="4" readonly="1" nolabel="1" height="575">
<tree string="History"> <tree string="History">
<field name="name"/> <field name="name"/>
<field name="lot_id"/> <field name="lot_id"/>
@ -369,6 +416,9 @@
</field> </field>
</group> </group>
</page> </page>
<page string="Notes">
<field name="obj_desc" colspan="4" nolabel="1"/>
</page>
</notebook> </notebook>
</form> </form>
</field> </field>
@ -450,8 +500,7 @@
src_model="auction.lots" src_model="auction.lots"
id="act_auction_lot_open_bid"/> id="act_auction_lot_open_bid"/>
<menuitem name="Objects" parent="auction_menu_root" id="auction_objects_menu" sequence="2"/> <menuitem name="Objects" action="action_all_objects" parent="auction_date_menu" id="auction_all_objects_menu"/>
<menuitem name="Objects" action="action_all_objects" parent="auction_objects_menu" id="auction_all_objects_menu"/>
<record model="ir.ui.view" id="view_deposit_border_form"> <record model="ir.ui.view" id="view_deposit_border_form">
<field name="name">auction.deposit.form</field> <field name="name">auction.deposit.form</field>
@ -459,14 +508,15 @@
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Deposit Border Form"> <form string="Deposit Border Form">
<field name="name" select="1"/> <group colspan="4" col="6">
<field name="date_dep" select="1"/> <field name="name" string="Reference"/>
<field name="partner_id" select="1"/> <field name="date_dep"/>
<field name="method"/> <field name="partner_id"/>
<newline/> <newline/>
<field name="tax_id" domain="[('domain','=','auction'),('parent_id','=',False),('type_tax_use','&lt;&gt;','purchase')]"/> <field name="method"/>
<field name="transfer"/> <field name="tax_id" domain="[('domain','=','auction'),('parent_id','=',False),('type_tax_use','&lt;&gt;','purchase')]"/>
<newline/> <field name="transfer"/>
</group>
<notebook colspan="4"> <notebook colspan="4">
<page string="General Information"> <page string="General Information">
<field name="lot_id" colspan="4" mode="tree,graph" nolabel="1"> <field name="lot_id" colspan="4" mode="tree,graph" nolabel="1">
@ -640,11 +690,13 @@
<field name="model">auction.bid</field> <field name="model">auction.bid</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Bids"> <form string="Bids">
<field name="name" select="1"/> <group colspan="4" col="6">
<field name="auction_id" select="1"/> <field name="name"/>
<newline/> <field name="auction_id"/>
<field name="partner_id" select="1" on_change="onchange_contact(partner_id)"/> <field name="contact_tel"/>
<field name="contact_tel"/> <newline/>
<field name="partner_id" on_change="onchange_contact(partner_id)" colspan="4"/>
</group>
<field name="bid_lines" colspan="4" nolabel="1"> <field name="bid_lines" colspan="4" nolabel="1">
<tree string="Bids Lines" editable="bottom"> <tree string="Bids Lines" editable="bottom">
<field name="lot_id" domain="[('auction_id','=',parent.auction_id)]"/> <field name="lot_id" domain="[('auction_id','=',parent.auction_id)]"/>

View File

@ -111,7 +111,7 @@
sequence="1" sequence="1"
id="menu_board_auction_open" icon="terp-graph" parent="menu_board_auction"/> id="menu_board_auction_open" icon="terp-graph" parent="menu_board_auction"/>
<menuitem name="Auction Management" id="auction.auction_menu_root" icon="terp-purchase" sequence="26" groups="base.group_system" action="open_board_auction"/> <menuitem name="Auction" id="auction.auction_menu_root" icon="terp-purchase" sequence="26" groups="base.group_system" action="open_board_auction"/>
</data> </data>
</openerp> </openerp>

View File

@ -74,10 +74,10 @@
<para style="P4">[[ o.ach_uid and o.ach_uid.name or False]]</para> <para style="P4">[[ o.ach_uid and o.ach_uid.name or False]]</para>
</td> </td>
<td> <td>
<para style="P5"><font>[[o.bid_lines[0] and o.bid_lines[0].bid_id.name or removeParentNode('font')]]</font></para> <para style="P5"><font>[[ o.bid_lines and o.bid_lines[0] and o.bid_lines[0].bid_id.name or removeParentNode('font')]]</font></para>
</td> </td>
<td> <td>
<para style="P6"><font>[[o.bid_lines[0] and o.bid_lines[0].bid_id.contact_tel or removeParentNode('font')]]</font></para> <para style="P6"><font>[[o.bid_lines and o.bid_lines[0] and o.bid_lines[0].bid_id.contact_tel or removeParentNode('font')]]</font></para>
</td> </td>
</tr> </tr>
</blockTable> </blockTable>

View File

@ -88,7 +88,7 @@
<para style="P8">[[o.lot_est1]]-[[o.lot_est2]]</para> <para style="P8">[[o.lot_est1]]-[[o.lot_est2]]</para>
</td> </td>
<td> <td>
<para style="P7"><font>[[o.bid_lines[0] and o.bid_lines[0].bid_id.contact_tel or removeParentNode('font')]]</font></para> <para style="P7"><font>[[o.bid_lines and o.bid_lines[0] and o.bid_lines[0].bid_id.contact_tel or removeParentNode('font')]]</font></para>
</td> </td>
</tr> </tr>
</blockTable> </blockTable>

View File

@ -15,7 +15,8 @@
<label string="(Keep empty for automatic number)" colspan="2"/> <label string="(Keep empty for automatic number)" colspan="2"/>
</group> </group>
<separator string="" colspan="4"/> <separator string="" colspan="4"/>
<group colspan="4" col="6"> <group colspan="2" col="2"/>
<group colspan="2" col="2">
<button icon="gtk-close" special="cancel" string="Close"/> <button icon="gtk-close" special="cancel" string="Close"/>
<button icon="gtk-yes" string="Create invoices" name="makeInvoices" type="object"/> <button icon="gtk-yes" string="Create invoices" name="makeInvoices" type="object"/>
</group> </group>

View File

@ -30,7 +30,8 @@
<field name="statement_id3" domain="[('state','=','draft')]"/> <field name="statement_id3" domain="[('state','=','draft')]"/>
</group> </group>
<separator string="" colspan="4" /> <separator string="" colspan="4" />
<group colspan="4" col="6"> <group colspan="2" col="2"/>
<group colspan="2" col="2">
<button icon="gtk-close" special="cancel" string="Close"/> <button icon="gtk-close" special="cancel" string="Close"/>
<button icon="gtk-yes" string="Pay" name="pay_and_reconcile" type="object"/> <button icon="gtk-yes" string="Pay" name="pay_and_reconcile" type="object"/>
</group> </group>

View File

@ -53,7 +53,7 @@ class auction_taken(osv.osv_memory):
lot_obj = self.pool.get('auction.lots') lot_obj = self.pool.get('auction.lots')
for current in self.browse(cr, uid, ids, context): for current in self.browse(cr, uid, ids, context):
for lot in current.lot_ids: for lot in current.lot_ids:
lot_obj.write(cr, uid, lot.id, {'state':'taken_away'}) lot_obj.write(cr, uid, lot.id, {'state':'taken_away', 'ach_emp': True})
return {'lot_ids': []} return {'lot_ids': []}
auction_taken() auction_taken()

View File

@ -31,7 +31,7 @@
<menuitem action="crm_lead_categ_action" <menuitem action="crm_lead_categ_action"
id="menu_crm_lead_categ" name="Categories" id="menu_crm_lead_categ" name="Categories"
parent="base.menu_crm_config_lead" sequence="1"/> parent="base.menu_crm_config_lead" sequence="1"/>
<!-- Resource Type Form View --> <!-- Resource Type Form View -->
<record id="crm_lead_resource_act" model="ir.actions.act_window"> <record id="crm_lead_resource_act" model="ir.actions.act_window">
<field name="name">Lead Sources</field> <field name="name">Lead Sources</field>
@ -337,6 +337,20 @@
help="Show Sales Team"/> help="Show Sales Team"/>
</field> </field>
<newline/> <newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<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="country_id" context="{'invisible_country': False}">
<filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
</field>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<field name="create_date" string="Creation Date"/>
<field name="date_closed"/>
</group>
<newline/>
<group expand="0" string="Group By..."> <group expand="0" string="Group By...">
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/> <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
@ -354,20 +368,6 @@
<filter string="Creation" icon="terp-go-month" <filter string="Creation" icon="terp-go-month"
domain="[]" context="{'group_by':'create_date'}" /> domain="[]" context="{'group_by':'create_date'}" />
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<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="country_id" context="{'invisible_country': False}">
<filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
</field>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<field name="create_date" string="Creation Date"/>
<field name="date_closed"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -311,6 +311,20 @@
help="Show Sales Team"/> help="Show Sales Team"/>
</field> </field>
<newline/> <newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<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="country_id" context="{'invisible_country': False}">
<filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
</field>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<field name="create_date" string="Creation Date"/>
<field name="date_closed"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="16"> <group expand="0" string="Group By..." colspan="16">
<filter string="Stage" icon="terp-stage" domain="[]" <filter string="Stage" icon="terp-stage" domain="[]"
context="{'group_by':'stage_id'}" /> context="{'group_by':'stage_id'}" />
@ -335,20 +349,6 @@
help="Expected Closing" domain="[]" help="Expected Closing" domain="[]"
context="{'group_by':'date_deadline'}" /> context="{'group_by':'date_deadline'}" />
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<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="country_id" context="{'invisible_country': False}">
<filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
</field>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<field name="create_date" string="Creation Date"/>
<field name="date_closed"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -110,7 +110,22 @@
</field> </field>
</group> </group>
<newline/> <newline/>
<group expand="1" string="Group By..."> <group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="partner_id"/>
<separator orientation="vertical"/>
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]" />
<field name="categ_id" widget="selection"/>
<field name="type_id" widget="selection"/>
<field name="channel_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<field name="creation_date"/>
<field name="opening_date"/>
<field name="date_closed"/>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="User" name="user" icon="terp-personal" <filter string="User" name="user" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" /> domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}" /> <filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}" />
@ -144,21 +159,6 @@
<filter string="Year" icon="terp-go-year" <filter string="Year" icon="terp-go-year"
domain="[]" context="{'group_by':'name'}" /> domain="[]" context="{'group_by':'name'}" />
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="partner_id"/>
<separator orientation="vertical"/>
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]" />
<field name="categ_id" widget="selection"/>
<field name="type_id" widget="selection"/>
<field name="channel_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<field name="creation_date"/>
<field name="opening_date"/>
<field name="date_closed"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -110,7 +110,20 @@
</field> </field>
</group> </group>
<newline/> <newline/>
<group expand="1" string="Group By..."> <group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="partner_id"/>
<separator orientation="vertical"/>
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
<separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company"/>
<newline/>
<field name="creation_date"/>
<field name="opening_date"/>
<field name="date_closed"/>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="User" name="User" icon="terp-personal" <filter string="User" name="User" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" /> domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}" /> <filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}" />
@ -139,20 +152,6 @@
<filter string="Year" icon="terp-go-year" <filter string="Year" icon="terp-go-year"
domain="[]" context="{'group_by':'name'}" /> domain="[]" context="{'group_by':'name'}" />
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="partner_id"/>
<separator orientation="vertical"/>
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
<separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company"/>
<newline/>
<field name="creation_date"/>
<field name="opening_date"/>
<field name="date_closed"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -119,7 +119,24 @@
</field> </field>
</group> </group>
<newline/> <newline/>
<group expand="0" string="Group By..."> <group expand="0" string="Extended Filters..." groups="base.group_extended">
<filter icon="terp-dialog-close"
string="Done"
domain="[('state','=','done')]"/>
<filter icon="gtk-cancel"
string="Cancel"
domain="[('state','=','cancel')]"/>
<group>
<separator orientation="vertical"/>
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.claim')]"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.claim')]"/>
<separator orientation="vertical"/>
<field name="priority" />
<field name="type_id" widget="selection" domain="[('object_id.model', '=', 'crm.claim')]"/>
</group>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="User" name="User" icon="terp-personal" <filter string="User" name="User" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" /> domain="[]" context="{'group_by':'user_id'}" />
@ -157,25 +174,7 @@
<filter string="Year" icon="terp-go-year" <filter string="Year" icon="terp-go-year"
domain="[]" context="{'group_by':'name'}" /> domain="[]" context="{'group_by':'name'}" />
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<filter icon="terp-dialog-close"
string="Done"
domain="[('state','=','done')]"/>
<filter icon="gtk-cancel"
string="Cancel"
domain="[('state','=','cancel')]"/>
<group>
<separator orientation="vertical"/>
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.claim')]"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.claim')]"/>
<separator orientation="vertical"/>
<field name="priority" />
<field name="type_id" widget="selection" domain="[('object_id.model', '=', 'crm.claim')]"/>
</group>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -118,7 +118,22 @@
</field> </field>
</group> </group>
<newline/> <newline/>
<group expand="0" string="Group By..."> <group expand="0" string="Extended Filters..." groups="base.group_extended">
<filter icon="terp-dialog-close"
string="Done"
domain="[('state','=','done')]"/>
<filter icon="gtk-cancel"
string="Cancel"
domain="[('state','=','cancel')]"/>
<group>
<separator orientation="vertical"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.fundraising')]"/>
</group>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="User" name="User" icon="terp-personal" <filter string="User" name="User" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" /> domain="[]" context="{'group_by':'user_id'}" />
@ -146,23 +161,7 @@
<filter string="Year" icon="terp-go-year" <filter string="Year" icon="terp-go-year"
domain="[]" context="{'group_by':'name'}" /> domain="[]" context="{'group_by':'name'}" />
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<filter icon="terp-dialog-close"
string="Done"
domain="[('state','=','done')]"/>
<filter icon="gtk-cancel"
string="Cancel"
domain="[('state','=','cancel')]"/>
<group>
<separator orientation="vertical"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.fundraising')]"/>
</group>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -114,7 +114,12 @@
<field name="user_id" widget="selection"/> <field name="user_id" widget="selection"/>
</group> </group>
<newline/> <newline/>
<group expand="0" string="Group By..."> <group expand="0" string="Extended Filters..." groups="base.group_extended">
<filter string="Priority" icon="terp-rating-rated"
domain="[]" context="{'group_by':'priority'}" />
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="User" icon="terp-personal" <filter string="User" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" domain="[]" context="{'group_by':'user_id'}"
default="1" /> default="1" />
@ -141,15 +146,7 @@
<filter string="Year" icon="terp-go-year" <filter string="Year" icon="terp-go-year"
domain="[]" context="{'group_by':'name'}" /> domain="[]" context="{'group_by':'name'}" />
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<filter string="Priority" icon="terp-rating-rated"
domain="[]" context="{'group_by':'priority'}" />
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -31,6 +31,19 @@
<field name="partner_assigned_id"/> <field name="partner_assigned_id"/>
</group> </group>
<newline/> <newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="partner_id"/>
<separator orientation="vertical"/>
<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"/>
<newline/>
<field name="creation_date"/>
<field name="opening_date"/>
<field name="date_closed"/>
</group>
<newline/>
<group expand="1" string="Group By..."> <group expand="1" string="Group By...">
<filter string="User" name="user" icon="terp-personal" <filter string="User" name="user" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" /> domain="[]" context="{'group_by':'user_id'}" />
@ -69,19 +82,7 @@
<filter string="Year" icon="terp-go-year" <filter string="Year" icon="terp-go-year"
domain="[]" context="{'group_by':'name'}" /> domain="[]" context="{'group_by':'name'}" />
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="partner_id"/>
<separator orientation="vertical"/>
<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"/>
<newline/>
<field name="creation_date"/>
<field name="opening_date"/>
<field name="date_closed"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -361,11 +361,12 @@ class many2many_domain(fields.many2many):
for i in ids: for i in ids:
res[i] = [] res[i] = []
valid_move_ids = move_obj.search(cr, user, self._domain) # move ids relative to domain argument valid_move_ids = move_obj.search(cr, user, self._domain) # move ids relative to domain argument
cr.execute("SELECT production_id, move_id from mrp_production_move_ids where production_id in %s and move_id in %s", if valid_move_ids:
[tuple(ids), tuple(valid_move_ids)]) cr.execute("SELECT production_id, move_id from mrp_production_move_ids where production_id in %s and move_id in %s",
related_move_map = cr.fetchall() [tuple(ids), tuple(valid_move_ids)])
related_move_dict = dict((k, list(set([v[1] for v in itr]))) for k, itr in groupby(related_move_map, itemgetter(0))) related_move_map = cr.fetchall()
res.update(related_move_dict) related_move_dict = dict((k, list(set([v[1] for v in itr]))) for k, itr in groupby(related_move_map, itemgetter(0)))
res.update(related_move_dict)
return res return res

View File

@ -69,8 +69,21 @@
<field name="location_dest_id" /> <field name="location_dest_id" />
</group> </group>
<newline/> <newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<group expand="0" string="Group By..."> <filter icon="terp-emblem-important" string="Picking Exception" domain="[('state','=','picking_except')]"/>
<filter icon="terp-gtk-media-pause" string="Waiting Goods" domain="[('state','=','confirmed')]"/>
<filter icon="terp-camera_test" string="Ready to Produce" domain="[('state','=','ready')]"/>
<separator orientation="vertical"/>
<field name="priority"/>
<separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company"/>
<newline/>
<field name="date_start"/>
<field name="date_planned"/>
<field name="date_finnished"/>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="Raw Material Location" icon="terp-gtk-jump-to-rtl" context="{'group_by':'location_src_id'}"/> <filter string="Raw Material Location" icon="terp-gtk-jump-to-rtl" context="{'group_by':'location_src_id'}"/>
<filter string="Finished Products Location" icon="terp-gtk-jump-to-ltr" context="{'group_by':'location_dest_id'}"/> <filter string="Finished Products Location" icon="terp-gtk-jump-to-ltr" context="{'group_by':'location_dest_id'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
@ -87,20 +100,6 @@
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<filter icon="terp-emblem-important" string="Picking Exception" domain="[('state','=','picking_except')]"/>
<filter icon="terp-gtk-media-pause" string="Waiting Goods" domain="[('state','=','confirmed')]"/>
<filter icon="terp-camera_test" string="Ready to Produce" domain="[('state','=','ready')]"/>
<separator orientation="vertical"/>
<field name="priority"/>
<separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company"/>
<newline/>
<field name="date_start"/>
<field name="date_planned"/>
<field name="date_finnished"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -19,12 +19,10 @@
# #
############################################################################## ##############################################################################
import time
from osv import fields,osv from osv import fields,osv
import netsvc import netsvc
import mx.DateTime import mx.DateTime
from mx.DateTime import RelativeDateTime, today, DateTime, localtime from mx.DateTime import RelativeDateTime, today
from tools import config
from tools.translate import _ from tools.translate import _
import decimal_precision as dp import decimal_precision as dp
@ -95,6 +93,16 @@ class mrp_repair(osv.osv):
cur = repair.pricelist_id.currency_id cur = repair.pricelist_id.currency_id
res[id] = cur_obj.round(cr, uid, cur, untax.get(id, 0.0) + tax.get(id, 0.0)) res[id] = cur_obj.round(cr, uid, cur, untax.get(id, 0.0) + tax.get(id, 0.0))
return res return res
def _get_default_address(self, cr, uid, ids, field_name, arg, context):
res = {}
partner_obj = self.pool.get('res.partner')
for data in self.browse(cr, uid, ids):
adr_id = False
if data.partner_id:
adr_id = partner_obj.address_get(cr, uid, [data.partner_id.id], ['default'])['default']
res[data.id] = adr_id
return res
def _get_lines(self, cr, uid, ids, context=None): def _get_lines(self, cr, uid, ids, context=None):
if context is None: if context is None:
@ -109,6 +117,7 @@ class mrp_repair(osv.osv):
'product_id': fields.many2one('product.product', string='Product to Repair', required=True, readonly=True, states={'draft':[('readonly',False)]}), 'product_id': fields.many2one('product.product', string='Product to Repair', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'partner_id' : fields.many2one('res.partner', 'Partner', select=True, help='This field allow you to choose the parner that will be invoiced and delivered'), 'partner_id' : fields.many2one('res.partner', 'Partner', select=True, help='This field allow you to choose the parner that will be invoiced and delivered'),
'address_id': fields.many2one('res.partner.address', 'Delivery Address', domain="[('partner_id','=',partner_id)]"), 'address_id': fields.many2one('res.partner.address', 'Delivery Address', domain="[('partner_id','=',partner_id)]"),
'default_address_id': fields.function(_get_default_address, method=True, type="many2one", relation="res.partner.address"),
'prodlot_id': fields.many2one('stock.production.lot', 'Lot Number', select=True, domain="[('product_id','=',product_id)]"), 'prodlot_id': fields.many2one('stock.production.lot', 'Lot Number', select=True, domain="[('product_id','=',product_id)]"),
'state': fields.selection([ 'state': fields.selection([
('draft','Quotation'), ('draft','Quotation'),
@ -275,7 +284,6 @@ class mrp_repair(osv.osv):
if not lot: if not lot:
return data return data
lot_info = prodlot_obj.browse(cr, uid, lot)
move_ids = move_obj.search(cr, uid, [('prodlot_id', '=', lot)]) move_ids = move_obj.search(cr, uid, [('prodlot_id', '=', lot)])
if not len(move_ids): if not len(move_ids):
@ -328,7 +336,6 @@ class mrp_repair(osv.osv):
""" Cancels repair order. """ Cancels repair order.
@return: True @return: True
""" """
ok=True
mrp_line_obj = self.pool.get('mrp.repair.line') mrp_line_obj = self.pool.get('mrp.repair.line')
for repair in self.browse(cr, uid, ids): for repair in self.browse(cr, uid, ids):
mrp_line_obj.write(cr, uid, [l.id for l in repair.operations], {'state': 'cancel'}) mrp_line_obj.write(cr, uid, [l.id for l in repair.operations], {'state': 'cancel'})
@ -509,7 +516,6 @@ class mrp_repair(osv.osv):
repair_line_obj = self.pool.get('mrp.repair.line') repair_line_obj = self.pool.get('mrp.repair.line')
seq_obj = self.pool.get('ir.sequence') seq_obj = self.pool.get('ir.sequence')
pick_obj = self.pool.get('stock.picking') pick_obj = self.pool.get('stock.picking')
company = self.pool.get('res.users').browse(cr, uid, uid).company_id
for repair in self.browse(cr, uid, ids, context=context): for repair in self.browse(cr, uid, ids, context=context):
for move in repair.operations: for move in repair.operations:
move_id = move_obj.create(cr, uid, { move_id = move_obj.create(cr, uid, {

View File

@ -30,10 +30,8 @@ class order(report_sxw.rml_parse):
self.localcontext.update({ self.localcontext.update({
'time': time, 'time': time,
'total': self.total, 'total': self.total,
'adr_get' : self._adr_get
}) })
def total(self, repair): def total(self, repair):
total = 0.0 total = 0.0
for operation in repair.operations: for operation in repair.operations:
@ -43,13 +41,6 @@ class order(report_sxw.rml_parse):
total = total + repair.amount_tax total = total + repair.amount_tax
return total return total
def _adr_get(self, partner, type):
res_partner = pooler.get_pool(self.cr.dbname).get('res.partner')
res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner.address')
addresses = res_partner.address_get(self.cr, self.uid, [partner.id], [type])
adr_id = addresses and addresses[type] or False
return adr_id and res_partner_address.read(self.cr, self.uid, [adr_id])[0] or False
report_sxw.report_sxw('report.repair.order','mrp.repair','addons/mrp_repair/report/order.rml',parser=order) report_sxw.report_sxw('report.repair.order','mrp.repair','addons/mrp_repair/report/order.rml',parser=order)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -175,7 +175,7 @@
<para style="P3"> <para style="P3">
<font color="white"> </font> <font color="white"> </font>
</para> </para>
<para style="P13">Invoice address</para> <para style="P13">Invoice address :</para>
<para style="P3">[[ o.partner_id and o.partner_id.property_payment_term.name ]]</para> <para style="P3">[[ o.partner_id and o.partner_id.property_payment_term.name ]]</para>
<para style="P3">[[ o.partner_invoice_id.street ]]</para> <para style="P3">[[ o.partner_invoice_id.street ]]</para>
<para style="P3">[[ o.partner_invoice_id.street2 or removeParentNode('para') ]]</para> <para style="P3">[[ o.partner_invoice_id.street2 or removeParentNode('para') ]]</para>
@ -189,12 +189,12 @@
</para> </para>
</td> </td>
<td> <td>
<para style="P3">[[ o.partner_id.name ]]</para> <para style="P3">[[ o.partner_id.name or removeParentNode('para') ]]</para>
<para style="P3">[[ o.partner_id and adr_get(o.partner_id, 'default')['street'] ]]</para> <para style="P3">[[ o.default_address_id and o.default_address_id.street or removeParentNode('para') ]]</para>
<para style="P3">[[ o.partner_id and adr_get(o.partner_id, 'default')['street2'] or removeParentNode('para') ]]</para> <para style="P3">[[ o.default_address_id and o.default_address_id.street2 or removeParentNode('para') ]]</para>
<para style="P3">[[ o.partner_id and adr_get(o.partner_id, 'default')['zip'] ]][[ o.partner_id and adr_get(o.partner_id, 'default')['city'] ]]</para> <para style="P3">[[ o.default_address_id and o.default_address_id.zip or removeParentNode('para') ]][[ o.default_address_id and o.default_address_id.city or removeParentNode('para') ]]</para>
<para style="P3">[[ (o.partner_id and adr_get(o.partner_id, 'default')['state_id'] and adr_get(o.partner_id, 'default')['state_id'][1]) or removeParentNode('para') ]]</para> <para style="P3">[[ o.default_address_id and o.default_address_id.state_id and o.default_address_id.state_id.name or removeParentNode('para') ]]</para>
<para style="P3">[[ o.partner_id and adr_get(o.partner_id, 'default')['country_id'] and adr_get(o.partner_id, 'default')['country_id'][1] ]]</para> <para style="P3">[[ o.default_address_id and o.default_address_id.country_id and o.default_address_id.country_id.name or removeParentNode('para') ]]</para>
<para style="P3"> <para style="P3">
<font color="white"> </font> <font color="white"> </font>
</para> </para>

View File

@ -14,8 +14,8 @@
<newline/> <newline/>
<group col="2" colspan="4"> <group col="2" colspan="4">
<button icon="gtk-stop" special="cancel" <button icon="gtk-stop" special="cancel"
string="_No" /> string="No" />
<button name="cancel_repair" string="_Yes" <button name="cancel_repair" string="Yes"
colspan="1" type="object" icon="gtk-ok" /> colspan="1" type="object" icon="gtk-ok" />
</group> </group>
</form> </form>

View File

@ -15,8 +15,8 @@
<newline/> <newline/>
<group col="2" colspan="4"> <group col="2" colspan="4">
<button icon="gtk-stop" special="cancel" <button icon="gtk-stop" special="cancel"
string="_Cancel" /> string="Cancel" />
<button name="make_invoices" string="Create _Invoice" <button name="make_invoices" string="Create Invoice"
colspan="1" type="object" icon="terp-dolar" /> colspan="1" type="object" icon="terp-dolar" />
</group> </group>
</form> </form>

View File

@ -67,7 +67,7 @@ class all_closed_cashbox_of_the_day(report_sxw.rml_parse):
def _get_bal(self,data): def _get_bal(self,data):
res = {} res = {}
sql =""" select sum(pieces*number) as bal from singer_statement where starting_id = %d """%(data['id']) sql =""" select sum(pieces*number) as bal from account_cashbox_line where starting_id = %d """%(data['id'])
self.cr.execute(sql) self.cr.execute(sql)
res = self.cr.dictfetchall() res = self.cr.dictfetchall()
if res : if res :
@ -115,7 +115,7 @@ class all_closed_cashbox_of_the_day(report_sxw.rml_parse):
res = self.cr.dictfetchall() res = self.cr.dictfetchall()
for r in res : for r in res :
total_ending_bal += (r['net_total'] or 0.0) total_ending_bal += (r['net_total'] or 0.0)
sql1 =""" select sum(pieces*number) as bal from singer_statement where starting_id = %d"""%(r['id']) sql1 =""" select sum(pieces*number) as bal from account_cashbox_line where starting_id = %d"""%(r['id'])
self.cr.execute(sql1) self.cr.execute(sql1)
data = self.cr.dictfetchall() data = self.cr.dictfetchall()
if data[0]['bal']: if data[0]['bal']:

View File

@ -53,7 +53,7 @@ class pos_payment_report_user(report_sxw.rml_parse):
"and po.state='paid' and to_char(date_trunc('day',po.date_order),'YYYY-MM-DD')::date = current_date " \ "and po.state='paid' and to_char(date_trunc('day',po.date_order),'YYYY-MM-DD')::date = current_date " \
"and po.user_id IN %s",(tuple(ids),)) "and po.user_id IN %s",(tuple(ids),))
res=self.cr.fetchone() res=self.cr.fetchone()
res = res and res[0] or None res = res and res[0] or 0.0
return res return res

View File

@ -104,7 +104,7 @@
<para style="terp_default_Centre_9">E-mail : [[ address and address.email ]]</para> <para style="terp_default_Centre_9">E-mail : [[ address and address.email ]]</para>
<para style="terp_default_Centre_9">Shop : [[ o.shop_id.name ]]</para> <para style="terp_default_Centre_9">Shop : [[ o.shop_id.name ]]</para>
<para style="terp_default_Centre_9">Vendeur : [[ o.user_salesman_id.name ]]</para> <para style="terp_default_Centre_9">Vendeur : [[ o.user_salesman_id.name ]]</para>
<para style="terp_default_Centre_9">Date : [[ formatLang(o.date_order,date = True) ]]</para> <para style="terp_default_Centre_9">Date : [[ formatLang(o.date_order,date_time = True) ]]</para>
<para style="P4"> <para style="P4">
<font color="white"> </font> <font color="white"> </font>
</para> </para>

View File

@ -61,7 +61,7 @@
</field> </field>
</group> </group>
<newline/> <newline/>
<group expand="0" string="Group By..." colspan="10" col="12"> <group expand="1" string="Group By..." colspan="10" col="12">
<filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/> <filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/>
<filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/> <filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>

View File

@ -73,7 +73,12 @@
</field> </field>
</group> </group>
<newline/> <newline/>
<group expand="0" string="Group By..." colspan="10" col="12"> <group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="date_validation"/>
<field name="date_payment"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="10" col="12">
<filter string="Salesman" icon="terp-personal" name="User" context="{'group_by':'user_id'}"/> <filter string="Salesman" icon="terp-personal" name="User" context="{'group_by':'user_id'}"/>
<filter string="Customer" icon="terp-personal" context="{'group_by':'partner_id'}"/> <filter string="Customer" icon="terp-personal" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
@ -83,11 +88,6 @@
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Month of order date"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Month of order date"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Year of order date"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Year of order date"/>
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="date_validation"/>
<field name="date_payment"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -29,7 +29,7 @@ class add_product(osv.osv_memory):
_columns = { _columns = {
'product_id': fields.many2one('product.product', 'Product', required=True), 'product_id': fields.many2one('product.product', 'Product', required=True),
'quantity': fields.float('Quantity ', required=True), 'quantity': fields.float('Quantity', required=True),
} }
_defaults = { _defaults = {
'quantity': lambda *a: 1, 'quantity': lambda *a: 1,
@ -73,7 +73,6 @@ class add_product(osv.osv_memory):
record_id = context and context.get('active_id', False) record_id = context and context.get('active_id', False)
order_obj= self.pool.get('pos.order') order_obj= self.pool.get('pos.order')
order_line_obj= self.pool.get('pos.order.line')
obj=order_obj.browse(cr, uid, record_id) obj=order_obj.browse(cr, uid, record_id)
order_obj.write(cr, uid, [record_id], {'state':'done'}) order_obj.write(cr, uid, [record_id], {'state':'done'})
if obj.amount_total != obj.amount_paid: if obj.amount_total != obj.amount_paid:

View File

@ -4,25 +4,32 @@
<!-- Add Product --> <!-- Add Product -->
<record id="view_add_product" model="ir.ui.view"> <record id="view_add_product" model="ir.ui.view">
<field name="name">Add Product</field> <field name="name">Add Product</field>
<field name="model">pos.add.product</field> <field name="model">pos.add.product</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Add product :"> <form string="Add product :">
<group col="2" colspan="4"> <group col="6" colspan="4">
<field name="product_id"/> <field name="product_id"/>
<field name="quantity"/> <field name="quantity"/>
<button icon='gtk-cancel' name="close_action" <separator string="" colspan="4"/>
string="Close" type="object" /> <newline/>
<button name="select_product" string="Continue" <group colspan="4" col="4">
colspan="1" type="object" icon="gtk-ok" /> <label string="" colspan="1"/>
<button icon="gtk-stop" special="cancel"
string="Cancel"/>
<button icon="gtk-ok" name="close_action"
string="Save &amp; Close" type="object"/>
<button name="select_product" string="Save &amp; New"
colspan="1" type="object" icon="gtk-add"/>
</group>
</group> </group>
</form> </form>
</field> </field>
</record> </record>
<record id="action_add_product" model="ir.actions.act_window"> <record id="action_add_product" model="ir.actions.act_window">
<field name="name">Add Product</field> <field name="name">Add Product</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">pos.add.product</field> <field name="res_model">pos.add.product</field>
<field name="view_type">form</field> <field name="view_type">form</field>

View File

@ -22,11 +22,7 @@
import netsvc import netsvc
from osv import osv,fields from osv import osv,fields
from tools.translate import _ from tools.translate import _
from mx import DateTime
import time import time
import pos_box_entries
import pos_add_product
import pos_payment
class pos_return(osv.osv_memory): class pos_return(osv.osv_memory):
_name = 'pos.return' _name = 'pos.return'
@ -169,9 +165,7 @@ class pos_return(osv.osv_memory):
wf_service = netsvc.LocalService("workflow") wf_service = netsvc.LocalService("workflow")
#Todo :Need to clean the code #Todo :Need to clean the code
if active_id: if active_id:
picking_ids = picking_obj.search(cr, uid, [('pos_order', 'in',[active_id]), ('state', '=', 'done')])
data = self.read(cr, uid, ids)[0] data = self.read(cr, uid, ids)[0]
clone_list = []
date_cur = time.strftime('%Y-%m-%d %H:%M:%S') date_cur = time.strftime('%Y-%m-%d %H:%M:%S')
for order_id in order_obj.browse(cr, uid, [active_id], context=context): for order_id in order_obj.browse(cr, uid, [active_id], context=context):
@ -197,7 +191,7 @@ class pos_return(osv.osv_memory):
qty = data['return%s' %line.id] qty = data['return%s' %line.id]
except : except :
qty = line.qty qty = line.qty
new_move = stock_move_obj.create(cr, uid, { stock_move_obj.create(cr, uid, {
'product_qty': qty , 'product_qty': qty ,
'product_uos_qty': uom_obj._compute_qty(cr, uid, qty ,line.product_id.uom_id.id), 'product_uos_qty': uom_obj._compute_qty(cr, uid, qty ,line.product_id.uom_id.id),
'picking_id': new_picking, 'picking_id': new_picking,
@ -249,16 +243,11 @@ class add_product(osv.osv_memory):
lines_obj = self.pool.get('pos.order.line') lines_obj = self.pool.get('pos.order.line')
picking_obj = self.pool.get('stock.picking') picking_obj = self.pool.get('stock.picking')
stock_move_obj = self.pool.get('stock.move') stock_move_obj = self.pool.get('stock.move')
move_obj = self.pool.get('stock.move')
property_obj= self.pool.get("ir.property") property_obj= self.pool.get("ir.property")
invoice_obj= self.pool.get('account.invoice')
picking_ids = picking_obj.search(cr, uid, [('pos_order', 'in',[active_id]), ('state', '=', 'done')])
clone_list = []
date_cur=time.strftime('%Y-%m-%d') date_cur=time.strftime('%Y-%m-%d')
uom_obj = self.pool.get('product.uom') uom_obj = self.pool.get('product.uom')
prod_obj=self.pool.get('product.product') prod_obj=self.pool.get('product.product')
wf_service = netsvc.LocalService("workflow") wf_service = netsvc.LocalService("workflow")
return_boj=self.pool.get('pos.return')
order_obj.add_product(cr, uid, active_id, data['product_id'], data['quantity'], context=context) order_obj.add_product(cr, uid, active_id, data['product_id'], data['quantity'], context=context)
for order_id in order_obj.browse(cr, uid, [active_id], context=context): for order_id in order_obj.browse(cr, uid, [active_id], context=context):
@ -279,7 +268,7 @@ class add_product(osv.osv_memory):
'type':'out', 'type':'out',
'date':date_cur 'date':date_cur
}) })
new_move=stock_move_obj.create(cr, uid, { stock_move_obj.create(cr, uid, {
'product_qty': qty, 'product_qty': qty,
'product_uos_qty': uom_obj._compute_qty(cr, uid, prod_id.uom_id.id, qty, prod_id.uom_id.id), 'product_uos_qty': uom_obj._compute_qty(cr, uid, prod_id.uom_id.id, qty, prod_id.uom_id.id),
'picking_id':new_picking, 'picking_id':new_picking,
@ -296,7 +285,6 @@ class add_product(osv.osv_memory):
picking_obj.force_assign(cr, uid, [new_picking], context) picking_obj.force_assign(cr, uid, [new_picking], context)
order_obj.write(cr,uid,active_id,{'picking_id':new_picking}) order_obj.write(cr,uid,active_id,{'picking_id':new_picking})
return { return {
'name': _('Add Product'), 'name': _('Add Product'),
'view_type': 'form', 'view_type': 'form',
@ -315,17 +303,17 @@ class add_product(osv.osv_memory):
lines_obj = self.pool.get('pos.order.line') lines_obj = self.pool.get('pos.order.line')
picking_obj = self.pool.get('stock.picking') picking_obj = self.pool.get('stock.picking')
stock_move_obj = self.pool.get('stock.move') stock_move_obj = self.pool.get('stock.move')
move_obj = self.pool.get('stock.move')
property_obj= self.pool.get("ir.property") property_obj= self.pool.get("ir.property")
invoice_obj=self.pool.get('account.invoice') invoice_obj=self.pool.get('account.invoice')
picking_ids = picking_obj.search(cr, uid, [('pos_order', 'in', active_ids), ('state', '=', 'done')])
clone_list = []
date_cur=time.strftime('%Y-%m-%d %H:%M:%S') date_cur=time.strftime('%Y-%m-%d %H:%M:%S')
uom_obj = self.pool.get('product.uom') uom_obj = self.pool.get('product.uom')
return_boj=self.pool.get('pos.return') return_boj=self.pool.get('pos.return')
return_id=return_boj.search(cr,uid,[]) return_id=return_boj.search(cr,uid,[])
data=return_boj.read(cr,uid,return_id,[])[0] data=return_boj.read(cr,uid,return_id,[])[0]
wf_service = netsvc.LocalService("workflow") wf_service = netsvc.LocalService("workflow")
self_data = self.read(cr, uid, ids)[0]
order_obj.add_product(cr, uid, active_ids[0], self_data['product_id'], self_data['quantity'], context=context)
for order_id in order_obj.browse(cr, uid, active_ids, context=context): for order_id in order_obj.browse(cr, uid, active_ids, context=context):
prop_ids =property_obj.search(cr, uid, [('name', '=', 'property_stock_customer')]) prop_ids =property_obj.search(cr, uid, [('name', '=', 'property_stock_customer')])
val = property_obj.browse(cr, uid, prop_ids[0]).value_reference val = property_obj.browse(cr, uid, prop_ids[0]).value_reference
@ -345,10 +333,18 @@ class add_product(osv.osv_memory):
}) })
for line in order_id.lines: for line in order_id.lines:
key=('return%s') %line.id key=('return%s') %line.id
if line.id and data.has_key(key): if line.id:
new_move=stock_move_obj.create(cr, uid, { if data.has_key(key):
'product_qty': data['return%s' %line.id ], qty = data['return%s' %line.id]
'product_uos_qty': uom_obj._compute_qty(cr, uid, data['return%s' %line.id], line.product_id.uom_id.id), lines_obj.write(cr,uid,[line.id], {
'qty_rfd':(line.qty or 0.0) + data['return%s' %line.id],
'qty':line.qty-(data['return%s' %line.id] or 0.0)
})
else:
qty = line.qty
stock_move_obj.create(cr, uid, {
'product_qty': qty,
'product_uos_qty': uom_obj._compute_qty(cr, uid, qty, line.product_id.uom_id.id),
'picking_id':new_picking, 'picking_id':new_picking,
'product_uom':line.product_id.uom_id.id, 'product_uom':line.product_id.uom_id.id,
'location_id':location_id, 'location_id':location_id,
@ -358,10 +354,6 @@ class add_product(osv.osv_memory):
'date':date_cur, 'date':date_cur,
'date_planned':date_cur 'date_planned':date_cur
}) })
lines_obj.write(cr,uid,[line.id], {
'qty_rfd':(line.qty or 0.0) + data['return%s' %line.id],
'qty':line.qty-(data['return%s' %line.id] or 0.0)
})
wf_service.trg_validate(uid, 'stock.picking',new_picking,'button_confirm', cr) wf_service.trg_validate(uid, 'stock.picking',new_picking,'button_confirm', cr)
picking_obj.force_assign(cr, uid, [new_picking], context) picking_obj.force_assign(cr, uid, [new_picking], context)
obj=order_obj.browse(cr,uid, active_ids[0]) obj=order_obj.browse(cr,uid, active_ids[0])

View File

@ -21,6 +21,10 @@
<field name="name"/> <field name="name"/>
<field name="categ_id" widget="selection" operator="child_of"/> <field name="categ_id" widget="selection" operator="child_of"/>
<newline/> <newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="pricelist_id" widget="selection" context="{'pricelist': self}" />
</group>
<newline/>
<group expand='0' string='Group by...' groups="base.group_extended"> <group expand='0' string='Group by...' groups="base.group_extended">
<filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}" /> <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}" />
<separator orientation="vertical"/> <separator orientation="vertical"/>
@ -28,10 +32,7 @@
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}" /> <filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}" />
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="pricelist_id" widget="selection" context="{'pricelist': self}" />
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -107,6 +107,17 @@
<field name="partner_id" /> <field name="partner_id" />
</group> </group>
<newline/> <newline/>
<group expand="0" string="Extended Filters..." colspan="10" col="12" groups="base.group_extended">
<field name="type_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="date_start"/>
<field name="date_deadline"/>
<field name="date_end"/>
<separator orientation="vertical"/>
<field name="priority"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="10" col="12"> <group expand="1" string="Group By..." colspan="10" col="12">
<filter string="Project" name="project" icon="terp-folder-blue" context="{'group_by':'project_id'}"/> <filter string="Project" name="project" icon="terp-folder-blue" context="{'group_by':'project_id'}"/>
<filter string="Assigned to" name="User" icon="terp-personal" context="{'group_by':'user_id'}" /> <filter string="Assigned to" name="User" icon="terp-personal" context="{'group_by':'user_id'}" />
@ -122,17 +133,6 @@
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." colspan="10" col="12" groups="base.group_extended">
<field name="type_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="date_start"/>
<field name="date_deadline"/>
<field name="date_end"/>
<separator orientation="vertical"/>
<field name="priority"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -90,6 +90,23 @@
<field name="user_id" select="1" widget="selection"/> <field name="user_id" select="1" widget="selection"/>
</group> </group>
<newline/> <newline/>
<group expand="0" string="Extended Filters..." colspan="10" col="12" groups="base.group_extended">
<field name="partner_id"/>
<field name="assigned_to" widget="selection"/>
<separator orientation="vertical"/>
<field name="priority" />
<separator orientation="vertical"/>
<field name="type_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]" />
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<field name="creation_date"/>
<field name="opening_date"/>
<field name="date_closed" string="Date Closed"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="4" col="8"> <group expand="1" string="Group By..." colspan="4" col="8">
<filter string="Project" name="project" icon="terp-folder-blue" context="{'group_by':'project_id'}" /> <filter string="Project" name="project" icon="terp-folder-blue" context="{'group_by':'project_id'}" />
<filter string="Task" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'task_id'}"/> <filter string="Task" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'task_id'}"/>
@ -129,23 +146,7 @@
domain="[]" context="{'group_by':'name'}" /> domain="[]" context="{'group_by':'name'}" />
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." colspan="10" col="12" groups="base.group_extended">
<field name="partner_id"/>
<field name="assigned_to" widget="selection"/>
<separator orientation="vertical"/>
<field name="priority" />
<separator orientation="vertical"/>
<field name="type_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]" />
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<field name="creation_date"/>
<field name="opening_date"/>
<field name="date_closed" string="Date Closed"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -78,6 +78,20 @@
<field name="product_id"/> <field name="product_id"/>
</group> </group>
<newline/> <newline/>
<group expand="0" string="Extended filters..." colspan="10" col="12" groups="base.group_extended">
<field name="user_id"/>
<field name="validator"/>
<separator orientation="vertical"/>
<field name="location_id"/>
<field name="warehouse_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company"/>
<newline/>
<field name="date"/>
<field name="date_approve"/>
<field name="expected_date"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="10" col="12"> <group expand="1" string="Group By..." colspan="10" col="12">
<filter string="Supplier" name="group_partner_id" icon="terp-personal" context="{'group_by':'partner_id'}"/> <filter string="Supplier" name="group_partner_id" icon="terp-personal" context="{'group_by':'partner_id'}"/>
<filter string="Product" name="group_product_id" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/> <filter string="Product" name="group_product_id" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
@ -96,20 +110,6 @@
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'name'}"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'name'}"/>
</group> </group>
<newline/>
<group expand="0" string="Extended filters..." colspan="10" col="12" groups="base.group_extended">
<field name="user_id"/>
<field name="validator"/>
<separator orientation="vertical"/>
<field name="location_id"/>
<field name="warehouse_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company"/>
<newline/>
<field name="date"/>
<field name="date_approve"/>
<field name="expected_date"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -85,6 +85,15 @@
</field> </field>
</group> </group>
<newline/> <newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="date"/>
<field name="date_confirm"/>
<separator orientation="vertical"/>
<field name="shop_id" widget="selection"/>
<field name="categ_id" widget="selection"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="10" col="12"> <group expand="1" string="Group By..." colspan="10" col="12">
<filter string="Salesman" icon="terp-personal" name="User" context="{'group_by':'user_id'}"/> <filter string="Salesman" icon="terp-personal" name="User" context="{'group_by':'user_id'}"/>
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}"/> <filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}"/>
@ -99,19 +108,10 @@
<filter string="Shop" icon="terp-go-home" context="{'group_by':'shop_id'}"/> <filter string="Shop" icon="terp-go-home" context="{'group_by':'shop_id'}"/>
<filter string="Company" icon="terp-go-home" groups="base.group_multi_company" context="{'group_by':'company_id'}"/> <filter string="Company" icon="terp-go-home" groups="base.group_multi_company" context="{'group_by':'company_id'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/> <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/> <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/> <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="date"/>
<field name="date_confirm"/>
<separator orientation="vertical"/>
<field name="shop_id" widget="selection"/>
<field name="categ_id" widget="selection"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
</search> </search>
</field> </field>
</record> </record>

View File

@ -32,35 +32,38 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<search string="Search Margin"> <search string="Search Margin">
<group col="10" colspan="4"> <group col="10" colspan="4">
<filter icon="terp-account" string="This Year" domain="[('year','=',time.strftime('%%Y'))]" help="All Months Sales by Margin"/> <filter icon="terp-go-year" string="This Year" domain="[('year','=',time.strftime('%%Y'))]" help="All Months Sales by Margin"/>
<filter icon="terp-account" string="This Month" domain="[('month','=',time.strftime('%%m'))]" help="This Months Sales by Margin"/> <filter icon="terp-go-month" string="This Month" domain="[('month','=',time.strftime('%%m'))]" help="This Months Sales by Margin"/>
<filter string="Draft" icon="terp-account" domain="[('state','=','draft')]" help="Draft Invoices"/> <separator orientation="vertical"/>
<filter string="Pro-forma" icon="terp-account" domain="[('state','=','proforma')]" help="Pro-forma Invoices"/> <filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help="Draft Invoices"/>
<filter string="Current" icon="terp-account" domain="[('state', '=' ,'open')]" help="open Invoices"/> <filter string="Pro-forma" icon="terp-check" domain="[('state','=','proforma')]" help="Pro-forma Invoices"/>
<filter string="Done" icon="terp-account" domain="[('state','=','paid')]" help="Done Invoices"/> <filter string="Current" icon="terp-check" domain="[('state', '=' ,'open')]" help="open Invoices"/>
<filter string="Done" icon="terp-dialog-close" domain="[('state','=','paid')]" help="Done Invoices"/>
</group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="date" string="Date Invoiced"/>
<separator orientation="vertical"/>
<field name="partner_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="amount" />
<field name="state"/>
<newline/>
<field name="product_id"/>
<field name="categ_id"/>
</group> </group>
<newline/> <newline/>
<group expand="1" string="Group By..." colspan="4" col="10"> <group expand="1" string="Group By..." colspan="4" col="10">
<filter string="Partner" icon="terp-account" context="{'group_by':'partner_id'}"/> <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}"/>
<filter string="Product" icon="terp-account" context="{'group_by':'product_id'}"/> <separator orientation="vertical"/>
<filter string="Category" icon="terp-account" context="{'group_by':'categ_id'}"/> <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
<filter string="State" icon="terp-account" context="{'group_by':'state'}"/> <filter string="Category" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id'}"/>
<filter string="Day" icon="terp-account" context="{'group_by':'day'}"/> <filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
<filter string="Month" icon="terp-account" context="{'group_by':'month'}"/> <separator orientation="vertical"/>
<filter string="Year" icon="terp-account" context="{'group_by':'year'}"/> <filter string="Day" icon="terp-go-month" context="{'group_by':'day'}"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
</group> </group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="date" string="Date Invoiced"/>
<separator orientation="vertical"/>
<field name="partner_id" widget="selection"/>
<field name="amount" />
<field name="state"/>
<newline/>
<separator orientation="vertical"/>
<field name="product_id"/>
<field name="categ_id"/>
</group>
</search> </search>
</field> </field>
</record> </record>