[IMP]: auction: ADD auction data file.
[IMP]: Improve report and add search view. [IMP]: remove unnecessary report. bzr revid: atp@tinyerp.co.in-20100730152556-t65ue8aouwilw9ki
This commit is contained in:
parent
3b56d0d65b
commit
f33ea507e4
|
@ -40,7 +40,7 @@
|
|||
""",
|
||||
'author': 'OpenERP SA',
|
||||
'depends': ['base', 'account', 'hr_attendance'],
|
||||
'init_xml': ['auction_sequence.xml'],
|
||||
'init_xml': ['auction_sequence.xml', 'auction_data.xml'],
|
||||
'update_xml': [
|
||||
'security/ir.model.access.csv',
|
||||
# 'wizard/auction_lots_able_view.xml',
|
||||
|
@ -56,6 +56,8 @@
|
|||
'wizard/auction_lots_buyer_map_view.xml',
|
||||
'auction_view.xml',
|
||||
'auction_report.xml',
|
||||
'report/report_auction_view.xml',
|
||||
'report/report_attendance_view.xml',
|
||||
'auction_wizard.xml',
|
||||
'board_auction_view.xml',
|
||||
'board_auction_manager_view.xml',
|
||||
|
|
|
@ -18,15 +18,15 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from mx import DateTime
|
||||
from osv import fields, osv, orm
|
||||
from tools import config
|
||||
from tools.translate import _
|
||||
import ir
|
||||
import netsvc
|
||||
import os
|
||||
import time
|
||||
import netsvc
|
||||
from osv import fields, osv, orm
|
||||
import ir
|
||||
from mx import DateTime
|
||||
from tools.translate import _
|
||||
import tools
|
||||
from tools import config
|
||||
|
||||
#----------------------------------------------------------
|
||||
# Auction Artists
|
||||
|
@ -60,8 +60,10 @@ class auction_dates(osv.osv):
|
|||
res[auction.id]=total
|
||||
return res
|
||||
|
||||
def name_get(self, cr, uid, ids, context={}):
|
||||
if not len(ids):
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context={}
|
||||
if not ids:
|
||||
return []
|
||||
reads = self.read(cr, uid, ids, ['name', 'auction1'], context)
|
||||
name = [(r['id'], '['+r['auction1']+'] '+ r['name']) for r in reads]
|
||||
|
@ -86,11 +88,11 @@ class auction_dates(osv.osv):
|
|||
|
||||
}
|
||||
_defaults = {
|
||||
'state': lambda *a: 'draft',
|
||||
'state': lambda *a: 'draft',
|
||||
}
|
||||
_order = "auction1 desc"
|
||||
|
||||
def close(self, cr, uid, ids, *args):
|
||||
def close(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
Close an auction date.
|
||||
|
||||
|
@ -101,6 +103,8 @@ class auction_dates(osv.osv):
|
|||
"""
|
||||
# objects vendus mais non factures
|
||||
#TODO: convert this query to tiny API
|
||||
if not context:
|
||||
context={}
|
||||
lots_obj = self.pool.get('auction.lots')
|
||||
lots_ids = lots_obj.search(cr, uid, [('auction_id', 'in', ids), ('state', '=', 'draft'), ('obj_price', '>', 0)])
|
||||
new_buyer_invoice = lots_obj.lots_invoice(cr, uid, lots_ids, {}, None)
|
||||
|
@ -125,8 +129,10 @@ def _inv_uniq(cr, ids):
|
|||
return True
|
||||
|
||||
class auction_deposit(osv.osv):
|
||||
"""Auction Deposit Border"""
|
||||
|
||||
_name = "auction.deposit"
|
||||
_description="Deposit Border"
|
||||
_description=__doc__
|
||||
_order = "id desc"
|
||||
_columns = {
|
||||
'transfer' : fields.boolean('Transfer'),
|
||||
|
@ -147,8 +153,6 @@ class auction_deposit(osv.osv):
|
|||
'total_neg': lambda *a: False,
|
||||
'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'auction.deposit'),
|
||||
}
|
||||
_constraints = [
|
||||
]
|
||||
|
||||
def partner_id_change(self, cr, uid, ids, part):
|
||||
return {}
|
||||
|
@ -159,7 +163,11 @@ auction_deposit()
|
|||
# (Specific) Deposit Costs
|
||||
#----------------------------------------------------------
|
||||
class auction_deposit_cost(osv.osv):
|
||||
|
||||
"""Auction Deposit Cost"""
|
||||
|
||||
_name = 'auction.deposit.cost'
|
||||
_description=__doc__
|
||||
_columns = {
|
||||
'name': fields.char('Cost Name', required=True, size=64),
|
||||
'amount': fields.float('Amount'),
|
||||
|
@ -171,59 +179,48 @@ auction_deposit_cost()
|
|||
#----------------------------------------------------------
|
||||
# Lots Categories
|
||||
#----------------------------------------------------------
|
||||
|
||||
class aie_category(osv.osv):
|
||||
|
||||
_name="aie.category"
|
||||
_order = "name"
|
||||
_columns={
|
||||
'name': fields.char('Name', size=64, required=True),
|
||||
'code':fields.char('Code', size=64),
|
||||
'parent_id': fields.many2one('aie.category','Parent aie Category'),
|
||||
'child_ids': fields.one2many('aie.category', 'parent_id', help="Childs aie category")
|
||||
}
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
|
||||
res = []
|
||||
if not ids:
|
||||
return res
|
||||
reads = self.read(cr, uid, ids, ['name', 'parent_id'], context)
|
||||
for record in reads:
|
||||
name = record['name']
|
||||
if record['parent_id']:
|
||||
name = record['parent_id'][1] + ' / ' + name
|
||||
res.append((record['id'], name))
|
||||
return res
|
||||
|
||||
aie_category()
|
||||
|
||||
class auction_lot_category(osv.osv):
|
||||
"""Auction Lots Category"""
|
||||
|
||||
_name = 'auction.lot.category'
|
||||
_description=__doc__
|
||||
_columns = {
|
||||
'name': fields.char('Category Name', required=True, size=64),
|
||||
'priority': fields.float('Priority'),
|
||||
'active' : fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the auction lot category without removing it."),
|
||||
'aie_categ' : fields.selection([('41', "Unclassifieds"),
|
||||
('2', "Antiques"),
|
||||
('42', "Antique/African Arts"),
|
||||
('59', "Antique/Argenterie"),
|
||||
('45', "Antique/Art from the Ivory Coast"),
|
||||
('46', "Antique/Art from the Ivory Coast/African Arts"),
|
||||
('12', "Antique/Books, manuscripts, eso."),
|
||||
('11', "Antique/Carpet and textilles"),
|
||||
('14', "Antique/Cartoons"),
|
||||
('26', "Antique/Clocks and watches"),
|
||||
('31', "Antique/Collectible & art objects"),
|
||||
('33', "Antique/Engravings"),
|
||||
('10', "Antique/Furnitures"),
|
||||
('50', "Antique/Graphic Arts"),
|
||||
('37', "Antique/Jewelry"),
|
||||
('9', "Antique/Lightings"),
|
||||
('52', "Antique/Metal Ware"),
|
||||
('51', "Antique/Miniatures / Collections"),
|
||||
('53', "Antique/Musical Instruments"),
|
||||
('19', "Antique/Old weapons and militaria"),
|
||||
('43', "Antique/Oriental Arts"),
|
||||
('47', "Antique/Oriental Arts/Chineese furnitures"),
|
||||
('24', "Antique/Others"),
|
||||
('8', "Antique/Painting"),
|
||||
('25', "Antique/Porcelain, Ceramics, Glassmaking, ..."),
|
||||
('13', "Antique/Posters"),
|
||||
('56', "Antique/Religiosa"),
|
||||
('54', "Antique/Scientific Instruments"),
|
||||
('18', "Antique/Sculpture, bronze, eso."),
|
||||
('55', "Antique/Tin / Copper wares"),
|
||||
('16', "Antique/Toys"),
|
||||
('57', "Antique/Verreries"),
|
||||
('17', "Antique/Wine"),
|
||||
('1', "Contemporary Art"),
|
||||
('58', "Cont. Art/Arts"),
|
||||
('27', "Cont. Art/Curiosa"),
|
||||
('15', "Cont. Art/Jewelry"),
|
||||
('30', "Cont. Art/Other Media"),
|
||||
('3', "Cont. Art/Photo"),
|
||||
('4', "Cont. Art/Painting"),
|
||||
('5', "Cont. Art/Sculpture"),
|
||||
('48', "Cont. Art/Shows")],
|
||||
'Aie Category'),
|
||||
'aie_categ': fields.many2one('aie.category', 'Category'),
|
||||
}
|
||||
_defaults = {
|
||||
'active' : lambda *a: 1,
|
||||
'aie_categ' : lambda *a:1,
|
||||
}
|
||||
auction_lot_category()
|
||||
|
||||
|
@ -247,27 +244,44 @@ def _inv_constraint(cr, ids):
|
|||
return True
|
||||
|
||||
class auction_lots(osv.osv):
|
||||
|
||||
"""Auction Object"""
|
||||
_name = "auction.lots"
|
||||
_order = "obj_num,lot_num,id"
|
||||
_description="Object"
|
||||
_description=__doc__
|
||||
|
||||
def button_not_bought(self, cr, uid, ids, *a):
|
||||
def button_not_bought(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context={}
|
||||
return self.write(cr, uid, ids, {'state':'unsold'})
|
||||
def button_taken_away(self, cr, uid, ids, *a):
|
||||
|
||||
def button_taken_away(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context={}
|
||||
return self.write(cr, uid, ids, {'state':'taken_away'})
|
||||
|
||||
def button_unpaid(self, cr, uid, ids, *a):
|
||||
def button_unpaid(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context={}
|
||||
return self.write(cr, uid, ids, {'state':'draft'})
|
||||
|
||||
def button_draft(self, cr, uid, ids, *a):
|
||||
def button_draft(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context={}
|
||||
return self.write(cr, uid, ids, {'state':'draft'})
|
||||
|
||||
def button_bought(self, cr, uid, ids, *a):
|
||||
def button_bought(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context={}
|
||||
return self.write(cr, uid, ids, {'state':'sold'})
|
||||
|
||||
def _buyerprice(self, cr, uid, ids, name, args, context):
|
||||
def _buyerprice(self, cr, uid, ids, name, args, context=None):
|
||||
if not context:
|
||||
context={}
|
||||
|
||||
res={}
|
||||
lots=self.pool.get('auction.lots').browse(cr, uid, ids)
|
||||
lots_obj = self.pool.get('auction.lots')
|
||||
lots = lots_obj.browse(cr, uid, ids, context={})
|
||||
pt_tax=self.pool.get('account.tax')
|
||||
for lot in lots:
|
||||
amount_total=0.0
|
||||
|
@ -287,10 +301,10 @@ class auction_lots(osv.osv):
|
|||
res[lot.id] = amount_total
|
||||
return res
|
||||
|
||||
|
||||
def _sellerprice(self, cr, uid, ids, *a):
|
||||
res={}
|
||||
lots=self.pool.get('auction.lots').browse(cr, uid, ids)
|
||||
lots_obj = self.pool.get('auction.lots')
|
||||
lots=lots_obj.browse(cr, uid, ids)
|
||||
pt_tax=self.pool.get('account.tax')
|
||||
for lot in lots:
|
||||
amount_total=0.0
|
||||
|
@ -309,25 +323,29 @@ class auction_lots(osv.osv):
|
|||
res[lot.id] = montant+amount_total
|
||||
return res
|
||||
|
||||
def _grossprice(self, cr, uid, ids, name, args, context):
|
||||
def _grossprice(self, cr, uid, ids, name, args, context=None):
|
||||
"""gross revenue"""
|
||||
res={}
|
||||
auction_lots_obj = self.read(cr, uid, ids, ['seller_price', 'buyer_price', 'auction_id'])
|
||||
for auction_data in auction_lots_obj:
|
||||
if not context:
|
||||
context={}
|
||||
lots = self.browse(cr, uid, ids, context={})
|
||||
for lot in lots:
|
||||
total_tax = 0.0
|
||||
if auction_data['auction_id']:
|
||||
total_tax += auction_data['buyer_price']-auction_data['seller_price']
|
||||
res[auction_data['id']] = total_tax
|
||||
if lot.auction_id:
|
||||
total_tax += lot.buyer_price - lot.seller_price
|
||||
res[lot.id] = total_tax
|
||||
return res
|
||||
|
||||
|
||||
def _grossmargin(self, cr, uid, ids, name, args, context):
|
||||
def _grossmargin(self, cr, uid, ids, name, args, context=None):
|
||||
"""
|
||||
gross Margin : Gross revenue * 100 / Adjudication
|
||||
(state==unsold or obj_ret_price>0): adj_price = 0 (=> gross margin = 0, net margin is negative)
|
||||
"""
|
||||
res={}
|
||||
for lot in self.browse(cr, uid, ids, context):
|
||||
if not context:
|
||||
context={}
|
||||
for lot in self.browse(cr, uid, ids, context={}):
|
||||
if ((lot.obj_price==0) and (lot.state=='draft')):
|
||||
montant=lot.lot_est1
|
||||
else:
|
||||
|
@ -339,7 +357,9 @@ class auction_lots(osv.osv):
|
|||
res[lot.id]=round(total, 2)
|
||||
return res
|
||||
|
||||
def onchange_obj_ret(self, cr, uid, ids, obj_ret, *args):
|
||||
def onchange_obj_ret(self, cr, uid, ids, obj_ret, context=None):
|
||||
if not context:
|
||||
context={}
|
||||
if obj_ret:
|
||||
return {'value': {'obj_price': 0}}
|
||||
return {}
|
||||
|
@ -351,7 +371,7 @@ class auction_lots(osv.osv):
|
|||
(excluding analytic lines that are in the analytic journal of the auction date).
|
||||
"""
|
||||
res={}
|
||||
for lot in self.browse(cr, uid, ids):
|
||||
for lot in self.browse(cr, uid, ids, context={}):
|
||||
som=0.0
|
||||
if not lot.auction_id:
|
||||
res[lot.id] = 0.0
|
||||
|
@ -371,9 +391,11 @@ class auction_lots(osv.osv):
|
|||
res[lot.id]=som/nb
|
||||
return res
|
||||
|
||||
def _netprice(self, cr, uid, ids, name, args, context):
|
||||
def _netprice(self, cr, uid, ids, name, args, context=None):
|
||||
"""This is the net revenue"""
|
||||
res={}
|
||||
if not context:
|
||||
context={}
|
||||
auction_lots_obj = self.read(cr, uid, ids, ['seller_price', 'buyer_price', 'auction_id', 'costs'])
|
||||
for auction_data in auction_lots_obj:
|
||||
total_tax = 0.0
|
||||
|
@ -382,26 +404,31 @@ class auction_lots(osv.osv):
|
|||
res[auction_data['id']] = total_tax
|
||||
return res
|
||||
|
||||
def _netmargin(self, cr, uid, ids, name, args, context):
|
||||
def _netmargin(self, cr, uid, ids, name, args, context=None):
|
||||
res={}
|
||||
if not context:
|
||||
context={}
|
||||
total_tax = 0.0
|
||||
total=0.0
|
||||
montant=0.0
|
||||
auction_lots_obj = self.read(cr, uid, ids, ['net_revenue', 'auction_id', 'lot_est1', 'obj_price', 'state'])
|
||||
for auction_data in auction_lots_obj:
|
||||
if ((auction_data ['obj_price']==0) and (auction_data['state']=='draft')):
|
||||
montant=auction_data['lot_est1']
|
||||
else: montant=auction_data ['obj_price']
|
||||
auction_lots = self.read(cr, uid, ids, ['net_revenue', 'auction_id', 'lot_est1', 'obj_price', 'state'])
|
||||
for lot in auction_lots:
|
||||
if ((lot['obj_price']==0) and (lot['state']=='draft')):
|
||||
montant=lot['lot_est1']
|
||||
else: montant=lot['obj_price']
|
||||
if montant>0:
|
||||
total_tax += (auction_data['net_revenue']*100)/montant
|
||||
total_tax += (lot['net_revenue']*100)/montant
|
||||
else:
|
||||
total_tax=0
|
||||
res[auction_data['id']] = total_tax
|
||||
res[lot['id']] = total_tax
|
||||
return res
|
||||
|
||||
def _is_paid_vnd(self, cr, uid, ids, *a):
|
||||
def _is_paid_vnd(self, cr, uid, ids, context=None):
|
||||
res = {}
|
||||
lots=self.browse(cr, uid, ids)
|
||||
|
||||
if not context:
|
||||
context={}
|
||||
lots=self.browse(cr, uid, ids, context)
|
||||
for lot in lots:
|
||||
res[lot.id] = False
|
||||
if lot.sel_inv_id:
|
||||
|
@ -477,7 +504,7 @@ class auction_lots(osv.osv):
|
|||
_defaults = {
|
||||
'state':lambda *a: 'draft',
|
||||
'lot_num':lambda *a:1,
|
||||
'is_ok': lambda *a: False,
|
||||
'is_ok': lambda *a: False,
|
||||
}
|
||||
_constraints = [
|
||||
# (_inv_constraint, 'Twice the same inventory number !', ['lot_num','bord_vnd_id'])
|
||||
|
@ -486,21 +513,25 @@ class auction_lots(osv.osv):
|
|||
def auction_lots_enable(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context={}
|
||||
return self.write(cr, uid, ids, {'ach_emp': False})
|
||||
return self.write(cr, uid, ids, {'ach_emp': False}, context)
|
||||
|
||||
def auction_lots_able(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context={}
|
||||
return self.write(cr, uid, ids, {'ach_emp': True})
|
||||
return self.write(cr, uid, ids, {'ach_emp': True}, context)
|
||||
|
||||
def name_get(self, cr, user, ids, context={}):
|
||||
if not len(ids):
|
||||
def name_get(self, cr, user, ids, context=None):
|
||||
if not context:
|
||||
context={}
|
||||
if not ids:
|
||||
return []
|
||||
result = [ (r['id'], str(r['obj_num'])+' - '+r['name']) for r in self.read(cr, user, ids, ['name', 'obj_num'])]
|
||||
return result
|
||||
|
||||
def name_search(self, cr, user, name, args=None, operator='ilike', context={}):
|
||||
if not len(args):
|
||||
def name_search(self, cr, user, name, args=None, operator='ilike', context=None):
|
||||
if not context:
|
||||
context={}
|
||||
if not args:
|
||||
args = []
|
||||
ids = []
|
||||
if name:
|
||||
|
@ -652,10 +683,13 @@ class auction_lots(osv.osv):
|
|||
taxes_summed[key] = tax
|
||||
return taxes_summed.values()
|
||||
|
||||
def buyer_proforma(self, cr, uid, ids, context):
|
||||
def buyer_proforma(self, cr, uid, ids, context=None):
|
||||
|
||||
if not context:
|
||||
context={}
|
||||
invoices = {}
|
||||
inv_ref = self.pool.get('account.invoice')
|
||||
partner_r = self.pool.get('res.partner')
|
||||
res_obj = self.pool.get('res.partner')
|
||||
inv_line_obj = self.pool.get('account.invoice.line')
|
||||
wf_service = netsvc.LocalService('workflow')
|
||||
# acc_receiv=self.pool.get('account.account').search([cr,uid,[('code','=','4010')]])
|
||||
|
@ -667,7 +701,7 @@ class auction_lots(osv.osv):
|
|||
else:
|
||||
partner_ref =lot.ach_uid.id
|
||||
lot_name = lot.obj_num
|
||||
res = partner_r.address_get(cr, uid, [partner_ref], ['contact', 'invoice'])
|
||||
res = res_obj.address_get(cr, uid, [partner_ref], ['contact', 'invoice'])
|
||||
contact_addr_id = res['contact']
|
||||
invoice_addr_id = res['invoice']
|
||||
if not invoice_addr_id:
|
||||
|
@ -712,12 +746,14 @@ class auction_lots(osv.osv):
|
|||
|
||||
# creates the transactions between the auction company and the seller
|
||||
# this is done by creating a new in_invoice for each
|
||||
def seller_trans_create(self, cr, uid, ids, context):
|
||||
def seller_trans_create(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
Create a seller invoice for each bord_vnd_id, for selected ids.
|
||||
"""
|
||||
# use each list of object in turn
|
||||
invoices = {}
|
||||
if not context:
|
||||
context={}
|
||||
inv_ref=self.pool.get('account.invoice')
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
inv_line_obj = self.pool.get('account.invoice.line')
|
||||
|
@ -784,7 +820,7 @@ class auction_lots(osv.osv):
|
|||
"""
|
||||
dt = time.strftime('%Y-%m-%d')
|
||||
inv_ref = self.pool.get('account.invoice')
|
||||
partner_r = self.pool.get('res.partner')
|
||||
res_obj = self.pool.get('res.partner')
|
||||
inv_line_obj = self.pool.get('account.invoice.line')
|
||||
wf_service = netsvc.LocalService('workflow')
|
||||
invoices={}
|
||||
|
@ -797,7 +833,7 @@ class auction_lots(osv.osv):
|
|||
if (lot.auction_id.id, lot.ach_uid.id) in invoices:
|
||||
inv_id = invoices[(lot.auction_id.id, lot.ach_uid.id)]
|
||||
else:
|
||||
add = partner_r.read(cr, uid, [lot.ach_uid.id], ['address'])[0]['address']
|
||||
add = res_obj.read(cr, uid, [lot.ach_uid.id], ['address'])[0]['address']
|
||||
if not len(add):
|
||||
raise orm.except_orm(_('Missed Address !'), _('The Buyer has no Invoice Address.'))
|
||||
price = lot.obj_price or 0.0
|
||||
|
@ -861,8 +897,10 @@ auction_lots()
|
|||
# Auction Bids
|
||||
#----------------------------------------------------------
|
||||
class auction_bid(osv.osv):
|
||||
"""Bid Auctions"""
|
||||
|
||||
_name = "auction.bid"
|
||||
_description="Bid auctions"
|
||||
_description=__doc__
|
||||
_order = 'id desc'
|
||||
_columns = {
|
||||
'partner_id': fields.many2one('res.partner', 'Buyer Name', required=True),
|
||||
|
@ -874,6 +912,7 @@ class auction_bid(osv.osv):
|
|||
_defaults = {
|
||||
'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'auction.bid'),
|
||||
}
|
||||
|
||||
def onchange_contact(self, cr, uid, ids, partner_id):
|
||||
if not partner_id:
|
||||
return {'value': {'contact_tel':False}}
|
||||
|
@ -887,8 +926,10 @@ class auction_bid(osv.osv):
|
|||
auction_bid()
|
||||
|
||||
class auction_lot_history(osv.osv):
|
||||
"""Lot History"""
|
||||
|
||||
_name = "auction.lot.history"
|
||||
_description="Lot history"
|
||||
_description=__doc__
|
||||
_columns = {
|
||||
'name': fields.date('Date', size=64),
|
||||
'lot_id': fields.many2one('auction.lots', 'Object', required=True, ondelete='cascade'),
|
||||
|
@ -932,516 +973,5 @@ class auction_bid_lines(osv.osv):
|
|||
|
||||
auction_bid_lines()
|
||||
|
||||
class report_buyer_auction(osv.osv):
|
||||
_name = "report.buyer.auction"
|
||||
_description = "Auction Reporting on buyer view"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'buyer_login': fields.char('Buyer Login', size=64, readonly=True, select=1),
|
||||
'buyer':fields.many2one('res.partner', 'Buyer', readonly=True, select=2),
|
||||
'object':fields.integer('No of objects', readonly=True, select=1),
|
||||
'total_price':fields.float('Total Adj.', digits=(16, 2), readonly=True, select=2),
|
||||
'avg_price':fields.float('Avg Adj.', digits=(16, 2), readonly=True, select=2),
|
||||
'date': fields.date('Create Date', select=1),
|
||||
'auction': fields.many2one('auction.dates', 'Auction date', readonly=True, select=1),
|
||||
|
||||
}
|
||||
|
||||
def init(self, cr):
|
||||
cr.execute('''
|
||||
create or replace view report_buyer_auction as (
|
||||
select
|
||||
min(al.id) as id,
|
||||
al.ach_login as "buyer_login",
|
||||
to_char(al.create_date, 'YYYY-MM-01') as date,
|
||||
al.ach_uid as "buyer",
|
||||
ad.id as auction,
|
||||
count(al.id) as "object",
|
||||
sum(al.obj_price) as "total_price",
|
||||
(sum(al.obj_price)/count(al.id)) as "avg_price"
|
||||
from
|
||||
auction_lots al,
|
||||
auction_dates ad
|
||||
where
|
||||
ad.id=al.auction_id
|
||||
group by
|
||||
to_char(al.create_date, 'YYYY-MM-01'),
|
||||
al.ach_uid,
|
||||
ad.id,
|
||||
al.ach_login
|
||||
)''')
|
||||
report_buyer_auction()
|
||||
|
||||
class report_buyer_auction2(osv.osv):
|
||||
_name = "report.buyer.auction2"
|
||||
_description = "Auction Reporting on buyer view"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'auction': fields.many2one('auction.dates', 'Auction date', readonly=True, select=1),
|
||||
'buyer_login': fields.char('Buyer Login', size=64, readonly=True, select=True),
|
||||
'buyer':fields.many2one('res.partner', 'Buyer', readonly=True, select=2),
|
||||
'sumadj':fields.float('Sum of adjustication', readonly=True),
|
||||
'gross_revenue':fields.float('Gross Revenue', readonly=True),
|
||||
'net_revenue':fields.float('Net Revenue', readonly=True),
|
||||
'net_margin':fields.float('Net Margin', readonly=True),
|
||||
'date': fields.date('Create Date', required=True)
|
||||
}
|
||||
def init(self, cr):
|
||||
cr.execute('''
|
||||
create or replace view report_buyer_auction2 as (
|
||||
select
|
||||
min(al.id) as id,
|
||||
to_char(al.create_date, 'YYYY-MM-01') as date,
|
||||
al.ach_login as "buyer_login",
|
||||
al.ach_uid as "buyer",
|
||||
sum(al.obj_price) as sumadj,
|
||||
ad.id as auction,
|
||||
sum(al.gross_revenue) as gross_revenue,
|
||||
sum(al.net_revenue) as net_revenue,
|
||||
avg(al.net_margin) as net_margin
|
||||
from
|
||||
auction_lots al,
|
||||
auction_dates ad
|
||||
where
|
||||
al.auction_id=ad.id
|
||||
group by
|
||||
al.ach_uid,
|
||||
al.ach_login,
|
||||
ad.id,
|
||||
to_char(al.create_date, 'YYYY-MM-01')
|
||||
)''')
|
||||
report_buyer_auction2()
|
||||
|
||||
|
||||
class report_seller_auction(osv.osv):
|
||||
_name = "report.seller.auction"
|
||||
_description = "Auction Reporting on seller view"
|
||||
_auto = False
|
||||
_rec_name = 'date'
|
||||
_columns = {
|
||||
'auction': fields.many2one('auction.dates', 'Auction date', readonly=True, select=1),
|
||||
'seller': fields.many2one('res.partner', 'Seller', readonly=True, select=1),
|
||||
'object_number':fields.integer('No of Objects', readonly=True),
|
||||
'total_price':fields.float('Total adjudication', readonly=True),
|
||||
'avg_price':fields.float('Avg adjudication', readonly=True),
|
||||
'avg_estimation':fields.float('Avg estimation', readonly=True),
|
||||
'date': fields.date('Create Date', required=True, select=1),
|
||||
'state': fields.selection((('draft', 'Draft'), ('unsold', 'Unsold'), ('sold', 'Sold')), 'State', readonly=True, select=1)
|
||||
}
|
||||
|
||||
def init(self, cr):
|
||||
cr.execute('''
|
||||
create or replace view report_seller_auction as (
|
||||
select
|
||||
adl.id as auction,
|
||||
min(al.id) as id,
|
||||
to_char(adl.auction1, 'YYYY-MM-DD') as date,
|
||||
ad.partner_id as seller,
|
||||
count(al.id) as "object_number",
|
||||
SUM(al.obj_price) as "total_price",
|
||||
(SUM(al.obj_price)/count(al.id)) as avg_price,
|
||||
sum(al.lot_est1+al.lot_est2)/2 as avg_estimation,
|
||||
al.state
|
||||
from
|
||||
auction_dates adl,
|
||||
auction_lots al,
|
||||
auction_deposit ad
|
||||
where
|
||||
al.auction_id=adl.id and ad.id=al.bord_vnd_id
|
||||
group by
|
||||
ad.partner_id,
|
||||
al.state,adl.auction1,adl.id
|
||||
)''')
|
||||
report_seller_auction()
|
||||
|
||||
class report_seller_auction2(osv.osv):
|
||||
_name = "report.seller.auction2"
|
||||
_description = "Auction Reporting on seller view2"
|
||||
_auto = False
|
||||
_rec_name = 'date'
|
||||
_columns = {
|
||||
'seller': fields.many2one('res.partner', 'Seller', readonly=True, select=1),
|
||||
'auction': fields.many2one('auction.dates', 'Auction date', readonly=True, select=1),
|
||||
'sum_adj':fields.float('Sum Adjustication', readonly=True, select=2),
|
||||
'gross_revenue':fields.float('Gross revenue', readonly=True, select=2),
|
||||
'net_revenue':fields.float('Net revenue', readonly=True, select=2),
|
||||
'net_margin':fields.float('Net margin', readonly=True, select=2),
|
||||
'date': fields.date('Auction date', required=1),
|
||||
}
|
||||
|
||||
def init(self, cr):
|
||||
cr.execute('''create or replace view report_seller_auction2 as
|
||||
(select
|
||||
min(al.id) as id,
|
||||
to_char(adl.auction1, 'YYYY-MM-DD') as date,
|
||||
adl.id as auction,
|
||||
ad.partner_id as seller,
|
||||
sum(al.obj_price) as "sum_adj",
|
||||
sum(al.gross_revenue) as "gross_revenue",
|
||||
sum(al.net_revenue) as "net_revenue",
|
||||
avg(al.net_margin) as "net_margin"
|
||||
from
|
||||
auction_lots al,auction_dates adl,auction_deposit ad
|
||||
where
|
||||
adl.id=al.auction_id and ad.id=al.bord_vnd_id
|
||||
group by
|
||||
al.ach_uid,adl.auction1,adl.id,ad.partner_id)
|
||||
''')
|
||||
|
||||
report_seller_auction2()
|
||||
|
||||
class report_auction_view2(osv.osv):
|
||||
_name = "report.auction.view2"
|
||||
_description = "Auction Reporting on view2"
|
||||
_auto = False
|
||||
_rec_name = 'date'
|
||||
_columns = {
|
||||
'auction': fields.many2one('auction.dates', 'Auction date', readonly=True, select=1),
|
||||
'sum_adj':fields.float('Sum of adjudication', readonly=True),
|
||||
'obj_number':fields.integer('# of Objects', readonly=True),
|
||||
'gross_revenue':fields.float('Gross revenue', readonly=True),
|
||||
'net_revenue':fields.float('Net revenue', readonly=True),
|
||||
'obj_margin':fields.float('Avg margin', readonly=True),
|
||||
'obj_margin_procent':fields.float('Net margin (%)', readonly=True),
|
||||
'date': fields.date('Auction date', required=True, select=1)
|
||||
}
|
||||
def init(self, cr):
|
||||
cr.execute('''create or replace view report_auction_view2 as (
|
||||
select
|
||||
ad.id as id,
|
||||
to_char(ad.auction1, 'YYYY-MM-DD') as date,
|
||||
ad.id as "auction",
|
||||
count(al.id) as "obj_number",
|
||||
SUM(al.obj_price) as "sum_adj",
|
||||
SUM(al.gross_revenue) as "gross_revenue",
|
||||
SUM(al.net_revenue) as "net_revenue",
|
||||
avg(al.net_revenue) as "obj_margin",
|
||||
SUM(al.net_revenue)*100/sum(al.obj_price) as "obj_margin_procent"
|
||||
from
|
||||
auction_dates ad
|
||||
left join
|
||||
auction_lots al on (al.auction_id = ad.id)
|
||||
group by
|
||||
ad.id, ad.auction1
|
||||
having
|
||||
sum(al.obj_price) <> 0
|
||||
)''')
|
||||
report_auction_view2()
|
||||
|
||||
class report_auction_view(osv.osv):
|
||||
_name = "report.auction.view"
|
||||
_description = "Auction Reporting on view1"
|
||||
_auto = False
|
||||
_rec_name = 'auction_id'
|
||||
_columns = {
|
||||
'auction_id': fields.many2one('auction.dates', 'Auction date', readonly=True, select=1),
|
||||
'nobjects':fields.float('No of objects', readonly=True),
|
||||
'nbuyer':fields.float('No of buyers', readonly=True),
|
||||
'nseller':fields.float('No of sellers', readonly=True),
|
||||
'min_est':fields.float('Minimum Estimation', readonly=True, select=2),
|
||||
'max_est':fields.float('Maximum Estimation', readonly=True, select=2),
|
||||
'adj_price':fields.float('Adjudication price', readonly=True, select=2),
|
||||
'obj_ret':fields.integer('# obj ret', readonly=True, select=2)
|
||||
}
|
||||
|
||||
def init(self, cr):
|
||||
cr.execute('''create or replace view report_auction_view as
|
||||
(select
|
||||
min(al.id) as id,
|
||||
al.auction_id as "auction_id",
|
||||
count(al.id) as "nobjects",
|
||||
count(al.ach_login) as "nbuyer",
|
||||
count(al.bord_vnd_id) as "nseller",
|
||||
sum(al.lot_est1) as "min_est",
|
||||
sum(al.lot_est2) as "max_est",
|
||||
(SELECT count(1) FROM auction_lots WHERE obj_ret>0) as obj_ret,
|
||||
sum(al.obj_price) as "adj_price"
|
||||
from
|
||||
auction_lots al
|
||||
group by
|
||||
al.auction_id
|
||||
)''')
|
||||
|
||||
report_auction_view()
|
||||
|
||||
class report_auction_object_date(osv.osv):
|
||||
_name = "report.auction.object.date"
|
||||
_description = "Objects per day"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'obj_num': fields.integer('# of Objects'),
|
||||
'name': fields.date('Created date', select=2),
|
||||
'month': fields.date('Month', select=1),
|
||||
'user_id':fields.many2one('res.users', 'User', select=1),
|
||||
}
|
||||
#l.create_uid as user,
|
||||
|
||||
def init(self, cr):
|
||||
cr.execute("""create or replace view report_auction_object_date as
|
||||
(select
|
||||
min(l.id) as id,
|
||||
to_char(l.create_date, 'YYYY-MM-DD') as name,
|
||||
to_char(l.create_date, 'YYYY-MM-01') as month,
|
||||
count(l.obj_num) as obj_num,
|
||||
l.create_uid as user_id
|
||||
from
|
||||
auction_lots l
|
||||
group by
|
||||
to_char(l.create_date, 'YYYY-MM-DD'),
|
||||
to_char(l.create_date, 'YYYY-MM-01'),
|
||||
l.create_uid
|
||||
)
|
||||
""")
|
||||
report_auction_object_date()
|
||||
|
||||
class report_auction_estimation_adj_category(osv.osv):
|
||||
_name = "report.auction.estimation.adj.category"
|
||||
_description = "comparaison estimate/adjudication "
|
||||
_auto = False
|
||||
_rec_name='date'
|
||||
_columns = {
|
||||
'lot_est1': fields.float('Minimum Estimation', select=2),
|
||||
'lot_est2': fields.float('Maximum Estimation', select=2),
|
||||
# 'obj_price': fields.float('Adjudication price'),
|
||||
'date': fields.date('Date', readonly=True, select=1),
|
||||
'lot_type': fields.selection(_type_get, 'Object Type', size=64),
|
||||
'adj_total': fields.float('Total Adjudication', select=2),
|
||||
'user_id':fields.many2one('res.users', 'User', select=1)
|
||||
}
|
||||
|
||||
def init(self, cr):
|
||||
cr.execute("""
|
||||
create or replace view report_auction_estimation_adj_category as (
|
||||
select
|
||||
min(l.id) as id,
|
||||
to_char(l.create_date, 'YYYY-MM-01') as date,
|
||||
l.lot_type as lot_type,
|
||||
sum(l.lot_est1) as lot_est1,
|
||||
sum(l.lot_est2) as lot_est2,
|
||||
sum(l.obj_price) as adj_total,
|
||||
l.create_uid as user_id
|
||||
from
|
||||
auction_lots l,auction_dates m
|
||||
where
|
||||
l.auction_id=m.id and l.obj_price >0
|
||||
group by
|
||||
to_char(l.create_date, 'YYYY-MM-01'),lot_type,l.create_uid
|
||||
)
|
||||
""")
|
||||
report_auction_estimation_adj_category()
|
||||
|
||||
class report_auction_adjudication(osv.osv):
|
||||
_name = "report.auction.adjudication"
|
||||
_description = "report_auction_adjudication"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'name': fields.many2one('auction.dates', 'Auction date', readonly=True, select=1),
|
||||
'state': fields.selection((('draft', 'Draft'), ('close', 'Closed')), 'State', select=1),
|
||||
'adj_total': fields.float('Total Adjudication'),
|
||||
'date': fields.date('Date', readonly=True, select=1),
|
||||
'user_id':fields.many2one('res.users', 'User', select=1)
|
||||
|
||||
}
|
||||
|
||||
|
||||
def init(self, cr):
|
||||
cr.execute("""
|
||||
create or replace view report_auction_adjudication as (
|
||||
select
|
||||
l.id as id,
|
||||
l.id as name,
|
||||
sum(m.obj_price) as adj_total,
|
||||
to_char(l.create_date, 'YYYY-MM-01') as date,
|
||||
l.create_uid as user_id,
|
||||
l.state
|
||||
from
|
||||
auction_dates l ,auction_lots m
|
||||
where
|
||||
m.auction_id=l.id
|
||||
group by
|
||||
l.id,l.state,l.name,l.create_uid,to_char(l.create_date, 'YYYY-MM-01')
|
||||
|
||||
)
|
||||
""")
|
||||
report_auction_adjudication()
|
||||
|
||||
class report_attendance(osv.osv):
|
||||
_name="report.attendance"
|
||||
_description = "Report Sign In/Out"
|
||||
_auto = False
|
||||
#_rec_name='date'
|
||||
_columns = {
|
||||
'name': fields.date('Date', readonly=True, select=1),
|
||||
'employee_id' : fields.many2one('hr.employee', "Employee's Name", select=1, readonly=True),
|
||||
'total_attendance': fields.float('Total', readonly=True),
|
||||
}
|
||||
def init(self, cr):
|
||||
cr.execute("""CREATE OR REPLACE VIEW report_attendance AS
|
||||
SELECT
|
||||
id,
|
||||
name,
|
||||
employee_id,
|
||||
CASE WHEN SUM(total_attendance) < 0
|
||||
THEN (SUM(total_attendance) +
|
||||
CASE WHEN current_date <> name
|
||||
THEN 1440
|
||||
ELSE (EXTRACT(hour FROM current_time) * 60) + EXTRACT(minute FROM current_time)
|
||||
END
|
||||
)
|
||||
ELSE SUM(total_attendance)
|
||||
END /60 as total_attendance
|
||||
FROM (
|
||||
SELECT
|
||||
max(a.id) as id,
|
||||
a.name::date as name,
|
||||
a.employee_id,
|
||||
SUM(((EXTRACT(hour FROM a.name) * 60) + EXTRACT(minute FROM a.name)) * (CASE WHEN a.action = 'sign_in' THEN -1 ELSE 1 END)) as total_attendance
|
||||
FROM hr_attendance a
|
||||
where name > current_date + interval '-1 day'
|
||||
GROUP BY a.name::date, a.employee_id
|
||||
) AS fs
|
||||
GROUP BY name,fs.id,employee_id
|
||||
""")
|
||||
|
||||
report_attendance()
|
||||
|
||||
|
||||
class report_deposit_border(osv.osv):
|
||||
_name="report.deposit.border"
|
||||
_description = "Report deposit border"
|
||||
_auto = False
|
||||
_rec_name='bord'
|
||||
_columns = {
|
||||
'bord': fields.char('Depositer Inventory', size=64, required=True),
|
||||
'seller': fields.many2one('res.partner', 'Seller', select=1),
|
||||
'moy_est' : fields.float('Avg. Est', select=1, readonly=True),
|
||||
'total_marge': fields.float('Total margin', readonly=True),
|
||||
'nb_obj':fields.float('# of objects', readonly=True),
|
||||
}
|
||||
def init(self, cr):
|
||||
cr.execute("""CREATE OR REPLACE VIEW report_deposit_border AS
|
||||
SELECT
|
||||
min(al.id) as id,
|
||||
ab.partner_id as seller,
|
||||
ab.name as bord,
|
||||
COUNT(al.id) as nb_obj,
|
||||
SUM((al.lot_est1 + al.lot_est2)/2) as moy_est,
|
||||
SUM(al.net_revenue)/(count(ad.id)) as total_marge
|
||||
|
||||
FROM
|
||||
auction_lots al,auction_deposit ab,auction_dates ad
|
||||
WHERE
|
||||
ad.id=al.auction_id
|
||||
and al.bord_vnd_id=ab.id
|
||||
GROUP BY
|
||||
ab.name,ab.partner_id""")
|
||||
report_deposit_border()
|
||||
|
||||
class report_object_encoded(osv.osv):
|
||||
_name = "report.object.encoded"
|
||||
_description = "Object encoded"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'state': fields.selection((('draft', 'Draft'), ('unsold', 'Unsold'), ('paid', 'Paid'), ('invoiced', 'Invoiced')), 'State', required=True, select=1),
|
||||
'user_id':fields.many2one('res.users', 'User', select=1),
|
||||
'estimation': fields.float('Estimation', select=2),
|
||||
'date': fields.date('Create Date', required=True),
|
||||
# 'gross_revenue':fields.float('Gross revenue',readonly=True, select=2),
|
||||
# 'net_revenue':fields.float('Net revenue',readonly=True, select=2),
|
||||
# 'obj_margin':fields.float('Net margin', readonly=True, select=2),
|
||||
'obj_ret':fields.integer('# obj ret', readonly=True, select=2),
|
||||
# 'adj':fields.integer('Adj.', readonly=True, select=2),
|
||||
'obj_num':fields.integer('# of Encoded obj.', readonly=True, select=2),
|
||||
}
|
||||
def init(self, cr):
|
||||
cr.execute('''create or replace view report_object_encoded as
|
||||
(select min(al.id) as id,
|
||||
to_char(al.create_date, 'YYYY-MM-DD') as date,
|
||||
al.state as state,
|
||||
al.create_uid as user_id,
|
||||
(SELECT count(1) FROM auction_lots WHERE obj_ret>0) as obj_ret,
|
||||
sum((100* al.lot_est1)/al.obj_price) as estimation,
|
||||
COUNT(al.product_id) as obj_num
|
||||
from auction_lots al
|
||||
where al.obj_price>0 and state='draft'
|
||||
group by to_char(al.create_date, 'YYYY-MM-DD'), al.state, al.create_uid)
|
||||
''')
|
||||
report_object_encoded()
|
||||
|
||||
|
||||
class report_object_encoded_manager(osv.osv):
|
||||
_name = "report.object.encoded.manager"
|
||||
_description = "Object encoded"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'user_id':fields.many2one('res.users', 'User', select=True),
|
||||
'estimation': fields.float('Estimation', select=True),
|
||||
'date': fields.date('Create Date', required=True),
|
||||
'gross_revenue':fields.float('Gross revenue', readonly=True, select=True),
|
||||
'net_revenue':fields.float('Net revenue', readonly=True, select=True),
|
||||
'obj_margin':fields.float('Net margin', readonly=True, select=True),
|
||||
'obj_ret':fields.integer('# obj ret', readonly=True, select=True),
|
||||
'adj':fields.integer('Adj.', readonly=True, select=True),
|
||||
'obj_num':fields.integer('# of Encoded obj.', readonly=True, select=True),
|
||||
}
|
||||
def init(self, cr):
|
||||
cr.execute('''create or replace view report_object_encoded_manager as
|
||||
(select
|
||||
min(al.id) as id,
|
||||
to_char(al.create_date, 'YYYY-MM-DD') as date,
|
||||
al.create_uid as user_id,
|
||||
sum((100*lot_est1)/obj_price) as estimation,
|
||||
(SELECT count(1) FROM auction_lots WHERE obj_ret>0) as obj_ret,
|
||||
SUM(al.gross_revenue) as "gross_revenue",
|
||||
SUM(al.net_revenue) as "net_revenue",
|
||||
SUM(al.net_revenue)/count(al.id) as "obj_margin",
|
||||
COUNT(al.product_id) as obj_num,
|
||||
SUM(al.obj_price) as "adj"
|
||||
from auction_lots al
|
||||
where al.obj_price>0
|
||||
group by to_char(al.create_date, 'YYYY-MM-DD'), al.create_uid)
|
||||
''')
|
||||
report_object_encoded_manager()
|
||||
|
||||
class report_unclassified_objects(osv.osv):
|
||||
_name = "report.unclassified.objects"
|
||||
_description = "Unclassified objects "
|
||||
_auto = False
|
||||
_columns = {
|
||||
'name': fields.char('Short Description', size=64, required=True),
|
||||
'obj_num': fields.integer('Catalog Number'),
|
||||
'obj_price': fields.float('Adjudication price'),
|
||||
'lot_num': fields.integer('List Number', required=True, select=1),
|
||||
'state': fields.selection((('draft', 'Draft'), ('unsold', 'Unsold'), ('paid', 'Paid'), ('sold', 'Sold')), 'State', required=True, readonly=True),
|
||||
'obj_comm': fields.boolean('Commission'),
|
||||
'bord_vnd_id': fields.many2one('auction.deposit', 'Depositer Inventory', required=True),
|
||||
'ach_login': fields.char('Buyer Username', size=64),
|
||||
'lot_est1': fields.float('Minimum Estimation'),
|
||||
'lot_est2': fields.float('Maximum Estimation'),
|
||||
'lot_type': fields.selection(_type_get, 'Object category', size=64),
|
||||
'auction': fields.many2one('auction.dates', 'Auction date', readonly=True, select=1),
|
||||
}
|
||||
def init(self, cr):
|
||||
cr.execute("""create or replace view report_unclassified_objects as
|
||||
(select
|
||||
min(al.id) as id,
|
||||
al.name as name,
|
||||
al.obj_price as obj_price,
|
||||
al.obj_num as obj_num,
|
||||
al.lot_num as lot_num,
|
||||
al.state as state,
|
||||
al.obj_comm as obj_comm,
|
||||
al.bord_vnd_id as bord_vnd_id,
|
||||
al.ach_login as ach_login,
|
||||
al.lot_est1 as lot_est1,
|
||||
al.lot_est2 as lot_est2,
|
||||
al.lot_type as lot_type,
|
||||
al.auction_id as auction
|
||||
from auction_lots al,auction_lot_category ac
|
||||
where (al.lot_type=ac.name) AND (ac.aie_categ='41') AND (al.auction_id is null)
|
||||
group by al.obj_price,al.obj_num, al.lot_num, al.state, al.obj_comm,al.bord_vnd_id,al.ach_login,al.lot_est1,al.lot_est2,al.lot_type,al.auction_id,al.name)
|
||||
""")
|
||||
report_unclassified_objects()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
@ -6,49 +6,320 @@
|
|||
<field name="code">0</field>
|
||||
<field name="type">view</field>
|
||||
<field name="currency_id" search="[('name','=','EUR')]"/>
|
||||
<field name="parent_id" type="list">
|
||||
<field name="parent_id" eval="0">
|
||||
<value search="[('type','=','view')]" model="account.account"/>
|
||||
</field>
|
||||
<field name="user_type" ref="account.account_type_root"/>
|
||||
</record>
|
||||
|
||||
<!-- Auction lots category data -->
|
||||
|
||||
<record model="aie.category" id="aie_category_anti_view">
|
||||
<field name="name">Antiques</field>
|
||||
<field name="code">ANTI</field>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_paint_view">
|
||||
<field name="name">Painting</field>
|
||||
<field name="code">PAINT</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_furn_view">
|
||||
<field name="name">Furnitures</field>
|
||||
<field name="code">FURN</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_pcg_view">
|
||||
<field name="name">Porcelain, Ceramics, Glassmaking, ...</field>
|
||||
<field name="code">PCG</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_sbe_view">
|
||||
<field name="name">Sculpture, bronze, eso</field>
|
||||
<field name="code">SBE</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_clock_view">
|
||||
<field name="name">Clocks and watches</field>
|
||||
<field name="code">CLW</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_caob_view">
|
||||
<field name="name">Collectible and art objects</field>
|
||||
<field name="code">COAO</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_engr_view">
|
||||
<field name="name">Engravings</field>
|
||||
<field name="code">ENGR</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_gart_view">
|
||||
<field name="name">Graphic Arts</field>
|
||||
<field name="code">GART</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_light_view">
|
||||
<field name="name">Lightings</field>
|
||||
<field name="code">LGT</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_metal_view">
|
||||
<field name="name">Metal Ware</field>
|
||||
<field name="code">MW</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_mini_view">
|
||||
<field name="name">Miniatures</field>
|
||||
<field name="code">MAT</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_collect_view">
|
||||
<field name="name">Collections</field>
|
||||
<field name="code">CLT</field>
|
||||
<field name="parent_id" ref="aie_category_mini_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_mi_view">
|
||||
<field name="name">Musical Instruments</field>
|
||||
<field name="code">MI</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_owm_view">
|
||||
<field name="name">Old weapons and militaria</field>
|
||||
<field name="code">OWM</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_oart_view">
|
||||
<field name="name">Oriental Arts</field>
|
||||
<field name="code">OART</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_chf_view">
|
||||
<field name="name">Chineese furnitures</field>
|
||||
<field name="code">CHF</field>
|
||||
<field name="parent_id" ref="aie_category_oart_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_othr_view">
|
||||
<field name="name">Others</field>
|
||||
<field name="code">OTR</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_pst_view">
|
||||
<field name="name">Posters</field>
|
||||
<field name="code">PST</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_rel_view">
|
||||
<field name="name">Religiosa</field>
|
||||
<field name="code">REL</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_sin_view">
|
||||
<field name="name">Scientific Instruments</field>
|
||||
<field name="code">SIN</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_tin_view">
|
||||
<field name="name">Tin</field>
|
||||
<field name="code">TIN</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_cwa_view">
|
||||
<field name="name">Copper wares</field>
|
||||
<field name="code">CWA</field>
|
||||
<field name="parent_id" ref="aie_category_tin_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_ty_view">
|
||||
<field name="name">Toys</field>
|
||||
<field name="code">TY</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_vrs_view">
|
||||
<field name="name">Verreries</field>
|
||||
<field name="code">VRS</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_wne_view">
|
||||
<field name="name">Wine</field>
|
||||
<field name="code">WNE</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<!-- -->
|
||||
|
||||
<record model="aie.category" id="aie_category_con_view">
|
||||
<field name="name">Contemporary Art</field>
|
||||
<field name="code">CONTEM</field>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_con_art_view">
|
||||
<field name="name">Arts</field>
|
||||
<field name="code">ARTS</field>
|
||||
<field name="parent_id" ref="aie_category_con_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_con_curi_view">
|
||||
<field name="name">Curiosa</field>
|
||||
<field name="code">CRS</field>
|
||||
<field name="parent_id" ref="aie_category_con_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_con_ome_view">
|
||||
<field name="name">Other Media</field>
|
||||
<field name="code">OME</field>
|
||||
<field name="parent_id" ref="aie_category_con_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_con_pht_view">
|
||||
<field name="name">Photo</field>
|
||||
<field name="code">PHT</field>
|
||||
<field name="parent_id" ref="aie_category_con_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_con_paint_view">
|
||||
<field name="name">Painting</field>
|
||||
<field name="code">CPAINT</field>
|
||||
<field name="parent_id" ref="aie_category_con_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_con_scul_view">
|
||||
<field name="name">Sculpture</field>
|
||||
<field name="code">SCUL</field>
|
||||
<field name="parent_id" ref="aie_category_con_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_con_cshe_view">
|
||||
<field name="name">Shows</field>
|
||||
<field name="code">CSHW</field>
|
||||
<field name="parent_id" ref="aie_category_con_view"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="aie.category" id="aie_category_jew_view">
|
||||
<field name="name">Jewelry</field>
|
||||
<field name="code">JWL</field>
|
||||
<field name="parent_id" ref="aie_category_con_view"/>
|
||||
</record>
|
||||
|
||||
<!-- -->
|
||||
|
||||
<record model="aie.category" id="aie_category_uncla_view">
|
||||
<field name="name">Unclassifieds</field>
|
||||
<field name="code">UNCLASS</field>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_afrart_view">
|
||||
<field name="name">African Arts</field>
|
||||
<field name="code">AFART</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_argen_view">
|
||||
<field name="name">Argenterie</field>
|
||||
<field name="code">ARGENT</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_artfrom_view">
|
||||
<field name="name">Art from the Ivory Coast</field>
|
||||
<field name="code">ARTFORM</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_afrec_view">
|
||||
<field name="name">African Arts</field>
|
||||
<field name="code">AFRART</field>
|
||||
<field name="parent_id" ref="aie_category_artfrom_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_book_view">
|
||||
<field name="name">Books, manuscripts, eso.</field>
|
||||
<field name="code">BME</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_carpet_view">
|
||||
<field name="name">Carpet and textilles</field>
|
||||
<field name="code">CARPTEX</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<record model="aie.category" id="aie_category_cartoon_view">
|
||||
<field name="name">Cartoons</field>
|
||||
<field name="code">CATOON</field>
|
||||
<field name="parent_id" ref="aie_category_anti_view"/>
|
||||
</record>
|
||||
|
||||
<!-- End Of Auction Lots Category -->
|
||||
|
||||
<record model="account.account" id="auction_expense_view">
|
||||
<field name="name">Auction Adjudication Expenses</field>
|
||||
<field name="code">0</field>
|
||||
<field name="code">1</field>
|
||||
<field name="type">view</field>
|
||||
<field name="currency_id" search="[('name','=','EUR')]"/>
|
||||
<field name="parent_id" type="list">
|
||||
<field name="parent_id" eval="0">
|
||||
<value search="[('type','=','view')]" model="account.account"/>
|
||||
</field>
|
||||
<field name="user_type" ref="account.account_type_asset"/>
|
||||
</record>
|
||||
|
||||
<record model="account.account" id="auction_income">
|
||||
<field name="name">Auction Adjudications</field>
|
||||
<field name="code">7x*</field>
|
||||
<field name="type">income</field>
|
||||
<!-- <field name="type">income</field> -->
|
||||
<field name="type">other</field>
|
||||
<field name="currency_id" search="[('name','=','EUR')]"/>
|
||||
<field name="parent_id" eval="[auction_income_view]"/>
|
||||
<field name="parent_id" eval="auction_income_view"/>
|
||||
<field name="user_type" ref="account.account_type_root"/>
|
||||
</record>
|
||||
<record model="account.account" id="auction_expense">
|
||||
<field name="name">Auction Adjudication Expenses</field>
|
||||
<field name="code">6x*</field>
|
||||
<field name="type">expense</field>
|
||||
<field name="type">other</field>
|
||||
<field name="currency_id" search="[('name','=','EUR')]"/>
|
||||
<field name="parent_id" eval="[auction_expense_view]"/>
|
||||
<field name="parent_id" eval="auction_expense_view"/>
|
||||
<field name="user_type" ref="account.account_type_root"/>
|
||||
</record>
|
||||
|
||||
<record model="account.account" id="auction_income_costs">
|
||||
<field name="name">Auction Buyer Costs</field>
|
||||
<field name="code">7x*</field>
|
||||
<field name="type">tax</field>
|
||||
<field name="code">8x*</field>
|
||||
<field name="type">payable</field>
|
||||
<field name="currency_id" search="[('name','=','EUR')]"/>
|
||||
<field name="parent_id" eval="[auction_income_view]"/>
|
||||
<field name="parent_id" eval="auction_income_view"/>
|
||||
<field name="user_type" ref="account.account_type_root"/>
|
||||
</record>
|
||||
<record model="account.account" id="auction_expense_costs">
|
||||
<field name="name">Auction Seller Costs</field>
|
||||
<field name="code">6x*</field>
|
||||
<field name="type">tax</field>
|
||||
<field name="code">9x*</field>
|
||||
<field name="type">receivable</field>
|
||||
<field name="currency_id" search="[('name','=','EUR')]"/>
|
||||
<field name="parent_id" eval="[auction_expense_view]"/>
|
||||
<field name="parent_id" eval="auction_expense_view"/>
|
||||
<field name="user_type" ref="account.account_type_root"/>
|
||||
</record>
|
||||
|
||||
<record model="account.tax" id="tax_buyer_author">
|
||||
|
@ -77,21 +348,10 @@
|
|||
<field name="account_collected_id" ref="auction_expense_costs"/>
|
||||
<field name="account_paid_id" ref="auction_expense_costs"/>
|
||||
</record>
|
||||
|
||||
<ir_set>
|
||||
<field name="keys" eval="[('meta','res.partner'),('name','auction.seller.costs')]"/>
|
||||
<field name="args" eval="[]"/>
|
||||
<field name="name">account.seller.costs</field>
|
||||
<field name="value" eval="tax_seller"/>
|
||||
<field name="meta" eval="{'type':'many2one', 'string':'Seller Costs', 'relation':'account.tax'}"/>
|
||||
</ir_set>
|
||||
|
||||
|
||||
|
||||
|
||||
<record id="product.product_product_pc2" model="product.product">
|
||||
<field name="list_price">770.0</field>
|
||||
<field name="standard_price">700.0</field>
|
||||
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
|
|
@ -166,30 +166,30 @@
|
|||
<record model="auction.lot.category" id="auction_cat_1">
|
||||
<field name="name">painting</field>
|
||||
<field name="priority">1</field>
|
||||
<field name="aie_categ">8</field>
|
||||
<field name="aie_categ" ref="aie_category_paint_view"/>
|
||||
</record>
|
||||
|
||||
<record model="auction.lot.category" id="auction_cat_2">
|
||||
<field name="name">Furniture</field>
|
||||
<field name="priority">2</field>
|
||||
<field name="aie_categ">10</field>
|
||||
|
||||
<field name="aie_categ" ref="aie_category_furn_view"/>
|
||||
</record>
|
||||
|
||||
<record model="auction.lot.category" id="auction_cat_3">
|
||||
<field name="name">glass</field>
|
||||
<field name="priority">2</field>
|
||||
<field name="aie_categ">25</field>
|
||||
<field name="aie_categ" ref="aie_category_pcg_view"/>
|
||||
</record>
|
||||
<record model="auction.lot.category" id="auction_cat_4">
|
||||
<field name="name">sculpture</field>
|
||||
<field name="priority">10</field>
|
||||
<field name="aie_categ">18</field>
|
||||
<field name="aie_categ" ref="aie_category_sbe_view"/>
|
||||
</record>
|
||||
|
||||
<record model="auction.lot.category" id="auction_cat_5">
|
||||
<field name="name">Jawellery</field>
|
||||
<field name="priority">6</field>
|
||||
<field name="aie_categ">15</field>
|
||||
<field name="aie_categ" ref="aie_category_jew_view"/>
|
||||
</record>
|
||||
|
||||
<!-- end == demo data for the auction_lot_Category-->
|
||||
|
|
|
@ -207,11 +207,13 @@
|
|||
xsl="auction/report/lots_bids_phone.xsl"
|
||||
multi="1"/>-->
|
||||
|
||||
<report string="Auction's results"
|
||||
model="auction.lots"
|
||||
name="auction.result"
|
||||
rml="auction/report/auction_result.rml"
|
||||
multi="1"/>
|
||||
<!-- temp -->
|
||||
|
||||
<!-- <report string="Auction's results"-->
|
||||
<!-- model="auction.lots"-->
|
||||
<!-- name="auction.result"-->
|
||||
<!-- rml="auction/report/auction_result.rml"-->
|
||||
<!-- multi="1"/>-->
|
||||
|
||||
<report string="Results with buyer"
|
||||
model="auction.lots"
|
||||
|
|
|
@ -404,6 +404,7 @@
|
|||
<field name="vnd_lim_net"/>
|
||||
<field name="sel_inv_id"/>
|
||||
<field name="paid_vnd"/>
|
||||
<button name="mark_paid" string="Mark" type="object" icon="gtk-execute" attrs="{'invisible':[('paid_vnd','=', False)]}"/>
|
||||
<field name="history_ids" colspan="4" readonly="1" nolabel="1">
|
||||
<tree string="History">
|
||||
<field name="name"/>
|
||||
|
@ -588,18 +589,6 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
=======================================================
|
||||
Auction Management/seller
|
||||
=======================================================
|
||||
<record model="ir.actions.act_window" id="action_unclassified_objects">
|
||||
<field name="name">Unclassified objects</field>
|
||||
<field name="res_model">report.unclassified.objects</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="filter" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="v12">
|
||||
<field name="name">Auction.deposit.tree</field>
|
||||
<field name="model">auction.deposit</field>
|
||||
|
@ -790,7 +779,7 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem name="Reporting" id="auction_report_menu" parent="auction_menu_root" sequence="6"/>
|
||||
|
||||
<record model="ir.ui.view" id="view_auction_bid_tree">
|
||||
<field name="name">auction.bid.tree</field>
|
||||
|
@ -823,437 +812,34 @@
|
|||
|
||||
<menuitem name="Bids line" parent="menu_action_bid_open" action="action_bids_form" id="menu_action_bids_form"/>
|
||||
|
||||
|
||||
<!--start : creating auction Reporting menu for the auction by pmo-->
|
||||
|
||||
<record model="ir.ui.view" id="view_auction_reports_tree">
|
||||
<field name="name">auction.reports.tree</field>
|
||||
<field name="model">report.auction.view</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Auction results">
|
||||
<field name="auction_id" />
|
||||
<field name="nobjects" />
|
||||
<field name="nbuyer" />
|
||||
<field name="obj_ret" />
|
||||
<field name="nseller" />
|
||||
<field name="min_est" />
|
||||
<field name="max_est" />
|
||||
<field name="adj_price" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_auction_reports_form">
|
||||
<field name="name">auction.reports.form</field>
|
||||
<field name="model">report.auction.view</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Auctions results">
|
||||
<field name="auction_id" />
|
||||
<field name="nobjects" />
|
||||
<field name="nbuyer" />
|
||||
<field name="nseller" />
|
||||
<field name="min_est" />
|
||||
<field name="max_est" />
|
||||
<field name="adj_price" />
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Reporting" id="auction_report_menu" parent="auction_menu_root" sequence="6"/>
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="action_auction_report_allmonth_view1">
|
||||
<field name="name">Auction report</field>
|
||||
<field name="res_model">report.auction.view</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!--field name="domain">[('auction_id','=', active_id)]</field-->
|
||||
</record>
|
||||
<menuitem name="Auction" id="auction_report_auction_menu" parent="auction_report_menu"/>
|
||||
<menuitem name="Auction's Summary" parent="auction_report_auction_menu" action="action_auction_report_allmonth_view1" id="menu_auction_allmonth_view1"/>
|
||||
|
||||
|
||||
|
||||
<!--start : auction reporting view 2-->
|
||||
|
||||
<record model="ir.ui.view" id="view_auction_reports_tree2">
|
||||
<field name="name">auction.reports.tree2</field>
|
||||
<field name="model">report.auction.view2</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Auction Reporting tree view2">
|
||||
<field name="date" />
|
||||
<field name="auction" />
|
||||
<field name="sum_adj" />
|
||||
<field name="obj_number" />
|
||||
<field name="gross_revenue" />
|
||||
<field name="net_revenue" />
|
||||
<field name="obj_margin" />
|
||||
<field name="obj_margin_procent" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_auction_reports_form2">
|
||||
<field name="name">Auction report</field>
|
||||
<field name="model">report.auction.view2</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Auctions">
|
||||
<field name="auction" />
|
||||
<field name="sum_adj" />
|
||||
<field name="gross_revenue" />
|
||||
<field name="net_revenue" />
|
||||
<field name="obj_margin" />
|
||||
<field name="obj_margin_procent" />
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_auction_report_thismonth_view2">
|
||||
<field name="name">Auction report</field>
|
||||
<field name="res_model">report.auction.view2</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain">[('date','ilike',time.strftime('%Y-%m'))]</field>
|
||||
</record>
|
||||
|
||||
<!-- <menuitem name="This Month" id="auction_report_thismonth_menu" parent="auction_report_menu"/> -->
|
||||
<!-- <menuitem name="Result of Auction" action="action_auction_report_thismonth_view2" id="menu_auction_thismonth_view2" parent="auction_report_thismonth_menu"/> -->
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="action_auction_report_allmonth_view2">
|
||||
<field name="name">Auction report</field>
|
||||
<field name="res_model">report.auction.view2</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<menuitem name="Auction's Revenues" parent="auction_report_auction_menu" action="action_auction_report_allmonth_view2" id="menu_auction_allmonth_view2"/>
|
||||
|
||||
<!--start : creating seller Reporting menu for the selller by pmo-->
|
||||
|
||||
<record model="ir.ui.view" id="view_auction_form">
|
||||
<field name="name">Seller's auction</field>
|
||||
<field name="model">report.seller.auction</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Auction reporting form view">
|
||||
<field name="seller" select="1"/>
|
||||
<field name="total_price"/>
|
||||
<field name="avg_price"/>
|
||||
<field name="state" select="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_auction_tree">
|
||||
<field name="name">Seller's auction</field>
|
||||
<field name="model">report.seller.auction</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Auction reporting tree view">
|
||||
<field name="auction" />
|
||||
<!--field name="date" /-->
|
||||
<field name="seller" select="1"/>
|
||||
<field name="object_number"/>
|
||||
<field name="total_price"/>
|
||||
<field name="avg_price" />
|
||||
<field name="avg_estimation" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_auction_graph">
|
||||
<field name="name">Seller's auction</field>
|
||||
<field name="model">report.seller.auction</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Auction reporting graph view" orientation="vertical" type="bar">
|
||||
<field name="seller" />
|
||||
<!-- <field name="object_sold"/> -->
|
||||
<field name="total_price" operator="+"/>
|
||||
<field name="avg_price" operator="+" />
|
||||
<field name="avg_estimation" operator="+" />
|
||||
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_auction_reporting1">
|
||||
<field name="name">Seller's auction</field>
|
||||
<field name="res_model">report.seller.auction</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="domain">[('date','ilike',time.strftime('%Y-%m'))]</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_auction_reporting_all1">
|
||||
<field name="name">Seller's auction</field>
|
||||
<field name="res_model">report.seller.auction</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
</record>
|
||||
<menuitem name="Sellers" id="auction_report_seller_menu" parent="auction_report_menu"/>
|
||||
<menuitem name="Seller's Summary" action="action_auction_reporting_all1" id="menu_seller_allmonth_view1" parent="auction_report_seller_menu"/>
|
||||
|
||||
<record model="ir.ui.view" id="view_auction_form2">
|
||||
<field name="name">Seller's auction</field>
|
||||
<field name="model">report.seller.auction2</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Auction reporting2 form view">
|
||||
<field name="auction" select="1"/>
|
||||
<field name="seller" select="1"/>
|
||||
<field name="sum_adj" select="1"/>
|
||||
<field name="gross_revenue" select="1"/>
|
||||
<field name="net_revenue" select="1"/>
|
||||
<field name="net_margin" select="1" />
|
||||
<field name="date" select="1"/>
|
||||
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_auction_tree2">
|
||||
<field name="name">Seller's auction</field>
|
||||
<field name="model">report.seller.auction2</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Auction reporting2 tree view">
|
||||
<field name="auction" select="1"/>
|
||||
<field name="seller" select="1"/>
|
||||
<field name="sum_adj" select="1" sum="Sum adj"/>
|
||||
<field name="gross_revenue" select="1"/>
|
||||
<field name="net_revenue" select="1"/>
|
||||
<field name="net_margin" select="1" sum="Sum net margin"/>
|
||||
<field name="date" select="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_auction_graph2">
|
||||
<field name="name">Seller's auction</field>
|
||||
<field name="model">report.seller.auction2</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Auction seller reporting2 graph view" orientation="vertical" type="bar">
|
||||
<field name="seller" />
|
||||
<field name="net_revenue" operator="+"/>
|
||||
<field name="gross_revenue" operator="+" />
|
||||
<field name="net_margin" operator="+" />
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_auction_reporting_all2">
|
||||
<field name="name">Seller's auction</field>
|
||||
<field name="res_model">report.seller.auction2</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="domain">[('date','ilike',time.strftime('%Y-%m'))]</field>
|
||||
</record>
|
||||
<menuitem name="Seller's Revenues" action="action_auction_reporting_all2" id="menu_seller_allmonth_view2" parent="auction_report_seller_menu"/>
|
||||
|
||||
<record model="ir.ui.view" id="view_auction_buyer_form">
|
||||
<field name="name">Buyer's auction</field>
|
||||
<field name="model">report.buyer.auction</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Auction buyer reporting form view">
|
||||
<field name="buyer_login" select="1"/>
|
||||
<field name="buyer" select="1"/>
|
||||
<field name="object"/>
|
||||
<field name="total_price"/>
|
||||
<field name="avg_price"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_auction_buyer_tree">
|
||||
<field name="name">Buyer's auction</field>
|
||||
<field name="model">report.buyer.auction</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Auction buyer reporting tree view">
|
||||
<field name="auction" select="1"/>
|
||||
<field name="buyer_login" select="1"/>
|
||||
<field name="buyer" select="1"/>
|
||||
<field name="object" select="1"/>
|
||||
<field name="total_price" select="1"/>
|
||||
<field name="avg_price" select="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_auction_buyer_reporting">
|
||||
<field name="name">Buyer's auction</field>
|
||||
<field name="res_model">report.buyer.auction</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain">[('date','ilike',time.strftime('%Y-%m'))]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_auction_buyer_form2">
|
||||
<field name="name">Buyer's auction</field>
|
||||
<field name="model">report.buyer.auction2</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Auction buyer reporting form view2">
|
||||
<field name="buyer_login" select="1"/>
|
||||
<field name="buyer" select="1"/>
|
||||
<field name="sumadj" />
|
||||
<field name="gross_revenue" />
|
||||
<field name="net_revenue" />
|
||||
<field name="net_margin" />
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_auction_buyer_tree2">
|
||||
<field name="name">Buyer's auction</field>
|
||||
<field name="model">report.buyer.auction2</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Auction buyer reporting tree view2">
|
||||
<field name="auction" select="1"/>
|
||||
<field name="buyer_login" select="1"/>
|
||||
<field name="buyer" select="1"/>
|
||||
<field name="sumadj" select="1" sum="Sum adj"/>
|
||||
<field name="gross_revenue" select="1"/>
|
||||
<field name="net_revenue" select="1"/>
|
||||
<field name="net_margin" select="1" sum="Sum net margin"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_auction_buyer_reporting2">
|
||||
<field name="name">Buyer's auction</field>
|
||||
<field name="res_model">report.buyer.auction2</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain">[('date','ilike',time.strftime('%Y-%m'))]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_auction_buyer_reporting_all1">
|
||||
<field name="name">Buyer's auction</field>
|
||||
<field name="res_model">report.buyer.auction</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<menuitem name="Buyer" id="auction_report_buyer_menu" parent="auction_report_menu"/>
|
||||
<menuitem name="Buyer's Summary" action="action_auction_buyer_reporting_all1" id="menu_buyer_allmonth_view1" parent="auction_report_buyer_menu"/>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_auction_buyer_reporting_all2">
|
||||
<field name="name">Buyer's auction for all months</field>
|
||||
<field name="res_model">report.buyer.auction2</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<menuitem name="Buyer's Revenues" action="action_auction_buyer_reporting_all2" id="menu_buyer_allmonth_view2" parent="auction_report_buyer_menu"/>
|
||||
|
||||
<!--end : creating buyer Reporting menu for the buyer by pmo-->
|
||||
|
||||
<record model="ir.ui.view" id="view_report_unplanned_object_tree">
|
||||
<field name="name">Unplanned objects</field>
|
||||
<field name="model">report.unplanned.object</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Unplanned Objects">
|
||||
<field name="depos" select="1"/>
|
||||
<field name="lot" select="1"/>
|
||||
<field name="product_l" select="1"/>
|
||||
<field name="lot_est1_l"/>
|
||||
<field name="lot_est2_l" select="1"/>
|
||||
<field name="artist_id_l" select="1"/>
|
||||
<field name="name_l" select="1"/>
|
||||
<field name="obj_desc_l"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_report_unplanned_object_form">
|
||||
<field name="name">Unplanned objects</field>
|
||||
<field name="model">report.unplanned.object</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Unplanned Objects">
|
||||
<field name="depos" select="1"/>
|
||||
<field name="lot" select="1"/>
|
||||
<field name="product_l" select="1"/>
|
||||
<field name="lot_est1_l" select="1"/>
|
||||
<field name="lot_est2_l" select="1"/>
|
||||
<field name="artist_id_l" select="1"/>
|
||||
<field name="obj_desc_l" select="1"/>
|
||||
<field name="name_l" select="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
=============================
|
||||
estimation.adj.category
|
||||
==============================
|
||||
<record model="ir.ui.view" id="view_report_auction_estimation_adj_category_form">
|
||||
<field name="name">report.auction.estimation.adj.category.form</field>
|
||||
<field name="model">report.auction.estimation.adj.category</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Min est/Adj/Max est">
|
||||
<!--field name="date" select="1"/-->
|
||||
<field name="lot_type" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="lot_est1"/>
|
||||
<field name="lot_est2"/>
|
||||
<field name="adj_total"/>
|
||||
<field name="date" select="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_report_auction_estimation_adj_category_tree">
|
||||
<field name="name">report.auction.estimation.adj.category.tree</field>
|
||||
<field name="model">report.auction.estimation.adj.category</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Min est/Adj/Max est">
|
||||
<!--field name="date" select="1"/-->
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="lot_type" select="1"/>
|
||||
<field name="lot_est1" select="1"/>
|
||||
<field name="lot_est2" select="1"/>
|
||||
<field name="adj_total" select="1"/>
|
||||
<field name="date" select="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_estimation_adj_category_graph">
|
||||
<field name="name">report.auction.estimation.adj.category.graph</field>
|
||||
<field name="model">report.auction.estimation.adj.category</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Min est/Adj/Max est" orientation="vertical" type="bar">
|
||||
<!--field name="date" operator="+"/-->
|
||||
<field name="lot_type" select="1"/>
|
||||
<field name="lot_est1" operator="+"/>
|
||||
<field name="adj_total" operator="+"/>
|
||||
<field name="lot_est2" operator="+"/>
|
||||
<field name="user_id" group="True"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_report_auction_estimation_adj_category_manager_tree">
|
||||
<field name="name">Min est/Adj/Max est</field>
|
||||
<field name="res_model">report.auction.estimation.adj.category</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="domain">[('date','like',time.strftime('%Y-%m'))]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_auction_estimation_adj_category_member_tree">
|
||||
<field name="name">Min est/Adj/Max est</field>
|
||||
<field name="res_model">report.auction.estimation.adj.category</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="domain">[('date','like',time.strftime('%Y-%m')),('user_id','=',uid)]</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Employees" id="auction_report_employees_menu" parent="auction_report_menu"/>
|
||||
<menuitem name="Comparison of estimations" action="action_report_auction_estimation_adj_category_member_tree" id="menu_report_auction_estimation_adj_category_member" parent="auction_report_employees_menu"/>
|
||||
<menuitem name="Manager" id="auction_report_manager_menu" parent="auction_report_menu"/>
|
||||
<menuitem name="Comparison of estimations" action="action_report_auction_estimation_adj_category_manager_tree" id="menu_report_auction_estimation_adj_category_manager" parent="auction_report_manager_menu"/>
|
||||
|
||||
<!--==============================-->
|
||||
<!--My Latest Objects-->
|
||||
<!--==============================-->
|
||||
<!-- <record model="ir.actions.act_window" id="action_report_latest_objects_tree">-->
|
||||
<!-- <field name="res_model">auction.lots</field>-->
|
||||
<!-- <field name="view_type">form</field>-->
|
||||
<!-- <field name="view_mode">tree,form</field>-->
|
||||
<!-- <field name="domain">[('create_uid','=',uid)]</field>-->
|
||||
<!-- </record>-->
|
||||
<!---->
|
||||
<!-- <record model="ir.actions.act_window" id="action_report_latest_objects_manager_tree">-->
|
||||
<!-- <field name="res_model">auction.lots</field>-->
|
||||
<!-- <field name="view_type">form</field>-->
|
||||
<!-- <field name="view_mode">tree,form</field>-->
|
||||
<!-- <field name="limit" eval="80"/>-->
|
||||
<!-- </record>-->
|
||||
<!---->
|
||||
<!--=============================-->
|
||||
<!--My Latest Deposit-->
|
||||
<!--==============================-->
|
||||
<!---->
|
||||
<!-- <record model="ir.actions.act_window" id="action_report_latest_doposit_manager_tree">-->
|
||||
<!-- <field name="res_model">auction.deposit</field>-->
|
||||
<!-- <field name="view_type">form</field>-->
|
||||
<!-- <field name="view_mode">tree,form</field>-->
|
||||
<!-- </record>-->
|
||||
<!---->
|
||||
<!-- <menuitem name="Latest Deposits" action="action_report_latest_doposit_manager_tree" id="menu_report_latest_doposit_tree_manager" parent="auction_report_manager_menu"/>-->
|
||||
|
||||
<!--=============================
|
||||
sign in sign out report by user
|
||||
|
@ -1299,400 +885,6 @@ sign in sign out report by user
|
|||
<menuitem name="Summury of Sign_in Sign_out" action="action_report_auction_sign_in_out_manager_tree" id="menu_report_auction_sign_in_out_manager_tree" parent="auction_report_manager_menu"/>
|
||||
|
||||
-->
|
||||
<record model="ir.ui.view" id="view_report_auction_sign_in_out_tree1">
|
||||
<field name="name">report attendance</field>
|
||||
<field name="model">report.attendance</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="User's pointing">
|
||||
<field name="employee_id" select="1"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="total_attendance" select="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_sign_in_out_graph1">
|
||||
<field name="name">Graph attendance</field>
|
||||
<field name="model">report.attendance</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="User's pointing" orientation="vertical" type="bar">
|
||||
<field name="employee_id" select="1"/>
|
||||
<field name="total_attendance" operator="+"/>
|
||||
<field name="name" select="1"/>
|
||||
</graph>
|
||||
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_auction_sign_in_out_member_tree1">
|
||||
<field name="res_model">report.attendance</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="domain"> [('name','=',time.strftime('%Y-%m-%d')),('employee_id','=',uid)]</field>
|
||||
<!--<field name="domain"> [('name','ilike',time.strftime('%Y-%m'))]</field>-->
|
||||
</record>
|
||||
<menuitem name="Attendance" action="action_report_auction_sign_in_out_member_tree1" id="menu_report_auction_sign_in_out_member_tree1" parent="auction_report_employees_menu"/>
|
||||
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_auction_sign_in_out_manager_tree1">
|
||||
<field name="res_model">report.attendance</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="domain"> [('name','=',time.strftime('%Y-%m-%d'))]</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Attendance" action="action_report_auction_sign_in_out_manager_tree1" id="menu_report_auction_sign_in_out_manager_tree1" parent="auction_report_manager_menu"/>
|
||||
|
||||
==============================
|
||||
My Latest Objects
|
||||
==============================
|
||||
<record model="ir.actions.act_window" id="action_report_latest_objects_tree">
|
||||
<field name="res_model">auction.lots</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('create_uid','=',uid)]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_latest_objects_manager_tree">
|
||||
<field name="res_model">auction.lots</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="limit" eval="80"/>
|
||||
</record>
|
||||
|
||||
=============================
|
||||
My Latest Deposit
|
||||
==============================
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_latest_doposit_manager_tree">
|
||||
<field name="res_model">auction.deposit</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Latest Deposits" action="action_report_latest_doposit_manager_tree" id="menu_report_latest_doposit_tree_manager" parent="auction_report_manager_menu"/>
|
||||
=============================
|
||||
Objects per Day
|
||||
==============================
|
||||
<record model="ir.ui.view" id="view_report_auction_object_date_tree">
|
||||
<field name="name">Objects by date</field>
|
||||
<field name="model">report.auction.object.date</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Objects per Day">
|
||||
<field name="month" select="1" />
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="obj_num"/>
|
||||
<field name="name" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_object_date_form">
|
||||
<field name="name">Object date</field>
|
||||
<field name="model">report.auction.object.date</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Objects per Day">
|
||||
<field name="user_id" />
|
||||
<field name="name" select="1"/>
|
||||
<field name="obj_num" />
|
||||
<field name="month" select="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_object_date_graph">
|
||||
<field name="name">report.auction.object.date.graph</field>
|
||||
<field name="model">report.auction.object.date</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Objects per day" type="bar">
|
||||
<field name="name" select="1"/>
|
||||
<field name="obj_num" operator="+"/>
|
||||
<field name="user_id" group="True"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_auction_object_date_tree">
|
||||
<field name="res_model">report.auction.object.date</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="domain">[('month','=',time.strftime('%Y-%m-01'))]</field>
|
||||
</record>
|
||||
<menuitem
|
||||
name="Encoded Objects Per Day"
|
||||
action="action_report_auction_object_date_tree"
|
||||
id="menu_report_auction_object_date_tree"
|
||||
parent="auction_report_manager_menu"/>
|
||||
|
||||
<record model="ir.actions.act_window" id="view_report_object_by_auction">
|
||||
<field name="name">Detailed lots</field>
|
||||
<field name="res_model">auction.lots</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="domain">[('auction_id','=', active_id)]</field>
|
||||
<field name="limit" eval="2000"/>
|
||||
</record>
|
||||
<record model="ir.values" id="ir_open_auction_lots">
|
||||
<field name="key2">tree_but_open</field>
|
||||
<field name="model">auction.dates</field>
|
||||
<field name="name">Open auction</field>
|
||||
<field name="value" eval="'ir.actions.act_window,%d'%view_report_object_by_auction"/>
|
||||
<field name="object" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="auction_lots_open">
|
||||
<field name="name">Simplified lots for adjudication</field>
|
||||
<field name="res_model">auction.lots</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="domain">[('auction_id','=',active_id)]</field>
|
||||
<field name="limit" eval="2000"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_auction_lots_open_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="act_window_id" ref="auction_lots_open"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_auction_lots_open_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="act_window_id" ref="auction_lots_open"/>
|
||||
<field name="view_id" ref="auction_lots_sell_form"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.values" id="ir_open_auction_lots_adj">
|
||||
<field name="key2">tree_but_action</field>
|
||||
<field name="model">auction.dates</field>
|
||||
<field name="name">Open lots for adjudication</field>
|
||||
<field name="value" eval="'ir.actions.act_window,%d'%auction_lots_open"/>
|
||||
<field name="object" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_object_by_auction">
|
||||
<field name="name">Auction dates</field>
|
||||
<field name="res_model">auction.dates</field>
|
||||
<field name="view_type">tree</field>
|
||||
<field name="domain">[('state','=', 'draft')]</field>
|
||||
</record>
|
||||
<menuitem name="Objects by Auction"
|
||||
parent="auction_objects_menu"
|
||||
id="menu_auction_dates_next_by_auction"
|
||||
action="action_report_object_by_auction" sequence="11"/>
|
||||
|
||||
<act_window name="Open lots"
|
||||
domain="[('auction_id', '=', active_id)]"
|
||||
res_model="auction.lots"
|
||||
src_model="auction.dates"
|
||||
id="act_auction_lot_line_open"/>
|
||||
|
||||
=============================
|
||||
Auction adjudication
|
||||
==============================
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_adjudication_tree">
|
||||
<field name="name">report.auction.adjudication.tree</field>
|
||||
<field name="model">report.auction.adjudication</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="blue:state in ('draft');black:state in ('close')" string="Total adjudication">
|
||||
<field name="name" select="1"/>
|
||||
<field name="adj_total" select="1"/>
|
||||
<field name="state" select="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_adjudication_graph">
|
||||
<field name="name">report.auction.adjudication.graph</field>
|
||||
<field name="model">report.auction.adjudication</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Total adjudication" type="bar">
|
||||
<field name="name" select="1"/>
|
||||
<field name="adj_total" select="1" />
|
||||
<field name="user_id" group="True"/>
|
||||
|
||||
</graph>
|
||||
</field>
|
||||
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_auction_adjudication_tree">
|
||||
<field name="res_model">report.auction.adjudication</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
</record>
|
||||
<menuitem name="Adjudication by Auction" action="action_report_auction_adjudication_tree" id="menu_report_auction_adjudication_tree" parent="auction_report_manager_menu"/>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_auction_deposit_tree">
|
||||
<field name="name">Depositer's statistics</field>
|
||||
<field name="model">report.deposit.border</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Depositer's statistics">
|
||||
<field name="bord" select="1"/>
|
||||
<field name="seller" select="1"/>
|
||||
<field name="moy_est" select="1"/>
|
||||
<field name="total_marge" select="1"/>
|
||||
<field name="nb_obj" select="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="menu_view_auction_deposit_tree">
|
||||
<field name="res_model">report.deposit.border</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<menuitem name="Depositer's Statistics" action="menu_view_auction_deposit_tree" id="menu_report_deposit_tree_m" parent="auction_report_manager_menu"/>
|
||||
<menuitem name="Depositer's Statistics" action="menu_view_auction_deposit_tree" id="menu_report_deposit_tree_member" parent="auction_report_employees_menu"/>
|
||||
=============================
|
||||
Object encoded
|
||||
==============================
|
||||
<record model="ir.ui.view" id="view_report_object_encoded_form">
|
||||
<field name="name">report.object.encoded.form</field>
|
||||
<field name="model">report.object.encoded</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Objects statistics">
|
||||
<field name="date" select="1"/>
|
||||
<field name="state" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="estimation"/>
|
||||
<field name="obj_ret"/>
|
||||
<field name="obj_num" sum="# objects"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_object_encoded_tree">
|
||||
<field name="name">report.object.encoded.tree</field>
|
||||
<field name="model">report.object.encoded</field>
|
||||
<field name="type">tree</field>
|
||||
|
||||
<field name="arch" type="xml">
|
||||
|
||||
<tree string="Objects statistics">
|
||||
<field name="date" select="1"/>
|
||||
<field name="state" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="estimation"/>
|
||||
<field name="obj_ret"/>
|
||||
<field name="obj_num"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<!-- <record model="ir.ui.view" id="view_report_object_encoded_tree">
|
||||
<field name="name">report.object.encoded.tree</field>
|
||||
<field name="model">report.object.encoded</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Objects statistics" >
|
||||
<field name="date" select="1"/>
|
||||
<field name="state" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="estimation" />
|
||||
<field name="obj_ret" />
|
||||
<field name="obj_num" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
-->
|
||||
<record model="ir.ui.view" id="view_report_object_encoded_graph">
|
||||
<field name="name">report.object.encoded.graph</field>
|
||||
<field name="model">report.object.encoded</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Objects statistics" type="bar">
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="estimation" operator="+" />
|
||||
<field name="obj_ret" operator="+" />
|
||||
<field name="obj_num" operator="+" />
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_object_encoded_member_tree">
|
||||
<field name="res_model">report.object.encoded</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain"> [('user_id','=',uid),('date','ilike',time.strftime('%Y-%m'))]</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_report_object_encoded_manager_tree">
|
||||
<field name="name">report.object.encoded.tree</field>
|
||||
<field name="model">report.object.encoded.manager</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Objects statistics">
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="estimation" />
|
||||
<field name="obj_ret" />
|
||||
<field name="obj_num" sum="# objects" select="1"/>
|
||||
<field name="adj" sum="Total adj."/>
|
||||
<field name="obj_margin" />
|
||||
<field name="net_revenue" sum="Total net rev."/>
|
||||
<field name="gross_revenue" sum="Total gross rev."/>
|
||||
<field name="date" select="1"/>
|
||||
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_object_encoded_manager_graph">
|
||||
<field name="name">report.object.encoded.graph</field>
|
||||
<field name="model">report.object.encoded.manager</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Object statistic" type="bar">
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="obj_ret" operator="+" />
|
||||
<field name="obj_num" operator="+" />
|
||||
<field name="obj_margin" operator="+" />
|
||||
<field name="net_revenue" operator="+" />
|
||||
<field name="gross_revenue" operator="+" />
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_object_encoded_manager_tree">
|
||||
<field name="res_model">report.object.encoded.manager</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain">[('date','ilike',time.strftime('%Y-%m'))]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_unclassified_objects">
|
||||
<field name="name">report.unclassified.objects</field>
|
||||
<field name="model">report.unclassified.objects</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="blue:state in ('draft','unsold');black:state in ('sold');gray:state in ('paid')" string="Unclassified objects">
|
||||
<field name="obj_num" string="Ref" select="1"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="ach_login"/>
|
||||
<field name="obj_price"/>
|
||||
<field name="state" select="1"/>
|
||||
<field name="obj_comm"/>
|
||||
<field name="bord_vnd_id"/>
|
||||
<field name="lot_num"/>
|
||||
<field name="lot_est1"/>
|
||||
<field name="lot_est2"/>
|
||||
<field name="lot_type" select="1"/>
|
||||
<field name="auction"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window name="Bordereau de dépôt"
|
||||
domain="[('partner_id', '=', active_id)]"
|
||||
res_model="auction.deposit"
|
||||
src_model="res.partner"
|
||||
id="act_auction_lot_open_deposit"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
|
@ -5,6 +5,13 @@
|
|||
<field name="name">Auction</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_latest_objects_tree">
|
||||
<field name="res_model">auction.lots</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('create_uid','=',uid)]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="board_auction_manager_form">
|
||||
<field name="name">board.auction.manager.form</field>
|
||||
<field name="model">board.board</field>
|
||||
|
@ -58,7 +65,7 @@
|
|||
<field name="usage">menu</field>
|
||||
<field name="view_id" ref="board_auction_manager_form"/>
|
||||
</record>
|
||||
<menuitem name="Dashboard" id="menu_board_auction" parent="auction_report_menu" sequence="0"/>
|
||||
<menuitem name="Dashboard" id="menu_board_auction" parent="auction.auction_report_menu" sequence="0"/>
|
||||
<menuitem
|
||||
name="Auction Member"
|
||||
action="open_board_auction"
|
||||
|
|
|
@ -32,7 +32,8 @@ import auction_objects
|
|||
import buyer_form_report
|
||||
import seller_form_report
|
||||
|
||||
|
||||
import report_auction
|
||||
import report_attendance
|
||||
|
||||
import buyer_list
|
||||
|
||||
|
|
|
@ -0,0 +1,315 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from mx import DateTime
|
||||
from osv import fields, osv, orm
|
||||
from tools import config
|
||||
from tools.translate import _
|
||||
import ir
|
||||
import netsvc
|
||||
import os
|
||||
import time
|
||||
import tools
|
||||
|
||||
|
||||
def _type_get(self, cr, uid, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
cr.execute('select name, name from auction_lot_category order by name')
|
||||
return cr.fetchall()
|
||||
|
||||
class report_attendance(osv.osv):
|
||||
_name="report.attendance"
|
||||
_description = "Report Sign In/Out"
|
||||
_auto = False
|
||||
#_rec_name='date'
|
||||
_columns = {
|
||||
'name': fields.date('Date', readonly=True, select=1),
|
||||
'employee_id' : fields.many2one('hr.employee', "Employee's Name", select=1, readonly=True),
|
||||
'total_attendance': fields.float('Total', readonly=True),
|
||||
}
|
||||
def init(self, cr):
|
||||
cr.execute("""CREATE OR REPLACE VIEW report_attendance AS
|
||||
SELECT
|
||||
id,
|
||||
name,
|
||||
employee_id,
|
||||
CASE WHEN SUM(total_attendance) < 0
|
||||
THEN (SUM(total_attendance) +
|
||||
CASE WHEN current_date <> name
|
||||
THEN 1440
|
||||
ELSE (EXTRACT(hour FROM current_time) * 60) + EXTRACT(minute FROM current_time)
|
||||
END
|
||||
)
|
||||
ELSE SUM(total_attendance)
|
||||
END /60 as total_attendance
|
||||
FROM (
|
||||
SELECT
|
||||
max(a.id) as id,
|
||||
a.name::date as name,
|
||||
a.employee_id,
|
||||
SUM(((EXTRACT(hour FROM a.name) * 60) + EXTRACT(minute FROM a.name)) * (CASE WHEN a.action = 'sign_in' THEN -1 ELSE 1 END)) as total_attendance
|
||||
FROM hr_attendance a
|
||||
where name > current_date + interval '-1 day'
|
||||
GROUP BY a.name::date, a.employee_id
|
||||
) AS fs
|
||||
GROUP BY name,fs.id,employee_id
|
||||
""")
|
||||
|
||||
report_attendance()
|
||||
|
||||
class report_auction_object_date(osv.osv):
|
||||
_name = "report.auction.object.date"
|
||||
_description = "Objects per day"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'obj_num': fields.integer('# of Objects'),
|
||||
'name': fields.date('Created date', select=2),
|
||||
'month': fields.date('Month', select=1),
|
||||
'user_id':fields.many2one('res.users', 'User', select=1),
|
||||
}
|
||||
#l.create_uid as user,
|
||||
|
||||
def init(self, cr):
|
||||
cr.execute("""create or replace view report_auction_object_date as
|
||||
(select
|
||||
min(l.id) as id,
|
||||
to_char(l.create_date, 'YYYY-MM-DD') as name,
|
||||
to_char(l.create_date, 'YYYY-MM-01') as month,
|
||||
count(l.obj_num) as obj_num,
|
||||
l.create_uid as user_id
|
||||
from
|
||||
auction_lots l
|
||||
group by
|
||||
to_char(l.create_date, 'YYYY-MM-DD'),
|
||||
to_char(l.create_date, 'YYYY-MM-01'),
|
||||
l.create_uid
|
||||
)
|
||||
""")
|
||||
report_auction_object_date()
|
||||
|
||||
class report_auction_estimation_adj_category(osv.osv):
|
||||
_name = "report.auction.estimation.adj.category"
|
||||
_description = "comparaison estimate/adjudication "
|
||||
_auto = False
|
||||
_rec_name='date'
|
||||
_columns = {
|
||||
'lot_est1': fields.float('Minimum Estimation', select=2),
|
||||
'lot_est2': fields.float('Maximum Estimation', select=2),
|
||||
# 'obj_price': fields.float('Adjudication price'),
|
||||
'date': fields.date('Date', readonly=True, select=1),
|
||||
'lot_type': fields.selection(_type_get, 'Object Type', size=64),
|
||||
'adj_total': fields.float('Total Adjudication', select=2),
|
||||
'user_id':fields.many2one('res.users', 'User', select=1)
|
||||
}
|
||||
|
||||
def init(self, cr):
|
||||
cr.execute("""
|
||||
create or replace view report_auction_estimation_adj_category as (
|
||||
select
|
||||
min(l.id) as id,
|
||||
to_char(l.create_date, 'YYYY-MM-01') as date,
|
||||
l.lot_type as lot_type,
|
||||
sum(l.lot_est1) as lot_est1,
|
||||
sum(l.lot_est2) as lot_est2,
|
||||
sum(l.obj_price) as adj_total,
|
||||
l.create_uid as user_id
|
||||
from
|
||||
auction_lots l,auction_dates m
|
||||
where
|
||||
l.auction_id=m.id and l.obj_price >0
|
||||
group by
|
||||
to_char(l.create_date, 'YYYY-MM-01'),lot_type,l.create_uid
|
||||
)
|
||||
""")
|
||||
report_auction_estimation_adj_category()
|
||||
|
||||
class report_auction_adjudication(osv.osv):
|
||||
_name = "report.auction.adjudication"
|
||||
_description = "report_auction_adjudication"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'name': fields.many2one('auction.dates', 'Auction date', readonly=True, select=1),
|
||||
'state': fields.selection((('draft', 'Draft'), ('close', 'Closed')), 'State', select=1),
|
||||
'adj_total': fields.float('Total Adjudication'),
|
||||
'date': fields.date('Date', readonly=True, select=1),
|
||||
'user_id':fields.many2one('res.users', 'User', select=1)
|
||||
|
||||
}
|
||||
|
||||
|
||||
def init(self, cr):
|
||||
cr.execute("""
|
||||
create or replace view report_auction_adjudication as (
|
||||
select
|
||||
l.id as id,
|
||||
l.id as name,
|
||||
sum(m.obj_price) as adj_total,
|
||||
to_char(l.create_date, 'YYYY-MM-01') as date,
|
||||
l.create_uid as user_id,
|
||||
l.state
|
||||
from
|
||||
auction_dates l ,auction_lots m
|
||||
where
|
||||
m.auction_id=l.id
|
||||
group by
|
||||
l.id,l.state,l.name,l.create_uid,to_char(l.create_date, 'YYYY-MM-01')
|
||||
|
||||
)
|
||||
""")
|
||||
report_auction_adjudication()
|
||||
|
||||
class report_deposit_border(osv.osv):
|
||||
_name="report.deposit.border"
|
||||
_description = "Report deposit border"
|
||||
_auto = False
|
||||
_rec_name='bord'
|
||||
_columns = {
|
||||
'bord': fields.char('Depositer Inventory', size=64, required=True),
|
||||
'seller': fields.many2one('res.partner', 'Seller', select=1),
|
||||
'moy_est' : fields.float('Avg. Est', select=1, readonly=True),
|
||||
'total_marge': fields.float('Total margin', readonly=True),
|
||||
'nb_obj':fields.float('# of objects', readonly=True),
|
||||
}
|
||||
def init(self, cr):
|
||||
cr.execute("""CREATE OR REPLACE VIEW report_deposit_border AS
|
||||
SELECT
|
||||
min(al.id) as id,
|
||||
ab.partner_id as seller,
|
||||
ab.name as bord,
|
||||
COUNT(al.id) as nb_obj,
|
||||
SUM((al.lot_est1 + al.lot_est2)/2) as moy_est,
|
||||
SUM(al.net_revenue)/(count(ad.id)) as total_marge
|
||||
|
||||
FROM
|
||||
auction_lots al,auction_deposit ab,auction_dates ad
|
||||
WHERE
|
||||
ad.id=al.auction_id
|
||||
and al.bord_vnd_id=ab.id
|
||||
GROUP BY
|
||||
ab.name,ab.partner_id""")
|
||||
report_deposit_border()
|
||||
|
||||
class report_object_encoded(osv.osv):
|
||||
_name = "report.object.encoded"
|
||||
_description = "Object encoded"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'state': fields.selection((('draft', 'Draft'), ('unsold', 'Unsold'), ('paid', 'Paid'), ('invoiced', 'Invoiced')), 'State', required=True, select=1),
|
||||
'user_id':fields.many2one('res.users', 'User', select=1),
|
||||
'estimation': fields.float('Estimation', select=2),
|
||||
'date': fields.date('Create Date', required=True),
|
||||
# 'gross_revenue':fields.float('Gross revenue',readonly=True, select=2),
|
||||
# 'net_revenue':fields.float('Net revenue',readonly=True, select=2),
|
||||
# 'obj_margin':fields.float('Net margin', readonly=True, select=2),
|
||||
'obj_ret':fields.integer('# obj ret', readonly=True, select=2),
|
||||
# 'adj':fields.integer('Adj.', readonly=True, select=2),
|
||||
'obj_num':fields.integer('# of Encoded obj.', readonly=True, select=2),
|
||||
}
|
||||
def init(self, cr):
|
||||
cr.execute('''create or replace view report_object_encoded as
|
||||
(select min(al.id) as id,
|
||||
to_char(al.create_date, 'YYYY-MM-DD') as date,
|
||||
al.state as state,
|
||||
al.create_uid as user_id,
|
||||
(SELECT count(1) FROM auction_lots WHERE obj_ret>0) as obj_ret,
|
||||
sum((100* al.lot_est1)/al.obj_price) as estimation,
|
||||
COUNT(al.product_id) as obj_num
|
||||
from auction_lots al
|
||||
where al.obj_price>0 and state='draft'
|
||||
group by to_char(al.create_date, 'YYYY-MM-DD'), al.state, al.create_uid)
|
||||
''')
|
||||
report_object_encoded()
|
||||
|
||||
|
||||
class report_object_encoded_manager(osv.osv):
|
||||
_name = "report.object.encoded.manager"
|
||||
_description = "Object encoded"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'user_id':fields.many2one('res.users', 'User', select=True),
|
||||
'estimation': fields.float('Estimation', select=True),
|
||||
'date': fields.date('Create Date', required=True),
|
||||
'gross_revenue':fields.float('Gross revenue', readonly=True, select=True),
|
||||
'net_revenue':fields.float('Net revenue', readonly=True, select=True),
|
||||
'obj_margin':fields.float('Net margin', readonly=True, select=True),
|
||||
'obj_ret':fields.integer('# obj ret', readonly=True, select=True),
|
||||
'adj':fields.integer('Adj.', readonly=True, select=True),
|
||||
'obj_num':fields.integer('# of Encoded obj.', readonly=True, select=True),
|
||||
}
|
||||
def init(self, cr):
|
||||
cr.execute('''create or replace view report_object_encoded_manager as
|
||||
(select
|
||||
min(al.id) as id,
|
||||
to_char(al.create_date, 'YYYY-MM-DD') as date,
|
||||
al.create_uid as user_id,
|
||||
sum((100*lot_est1)/obj_price) as estimation,
|
||||
(SELECT count(1) FROM auction_lots WHERE obj_ret>0) as obj_ret,
|
||||
SUM(al.gross_revenue) as "gross_revenue",
|
||||
SUM(al.net_revenue) as "net_revenue",
|
||||
SUM(al.net_revenue)/count(al.id) as "obj_margin",
|
||||
COUNT(al.product_id) as obj_num,
|
||||
SUM(al.obj_price) as "adj"
|
||||
from auction_lots al
|
||||
where al.obj_price>0
|
||||
group by to_char(al.create_date, 'YYYY-MM-DD'), al.create_uid)
|
||||
''')
|
||||
report_object_encoded_manager()
|
||||
|
||||
class report_unclassified_objects(osv.osv):
|
||||
_name = "report.unclassified.objects"
|
||||
_description = "Unclassified objects "
|
||||
_auto = False
|
||||
_columns = {
|
||||
'name': fields.char('Short Description', size=64, required=True),
|
||||
'obj_num': fields.integer('Catalog Number'),
|
||||
'obj_price': fields.float('Adjudication price'),
|
||||
'lot_num': fields.integer('List Number', required=True, select=1),
|
||||
'state': fields.selection((('draft', 'Draft'), ('unsold', 'Unsold'), ('paid', 'Paid'), ('sold', 'Sold')), 'State', required=True, readonly=True),
|
||||
'obj_comm': fields.boolean('Commission'),
|
||||
'bord_vnd_id': fields.many2one('auction.deposit', 'Depositer Inventory', required=True),
|
||||
'ach_login': fields.char('Buyer Username', size=64),
|
||||
'lot_est1': fields.float('Minimum Estimation'),
|
||||
'lot_est2': fields.float('Maximum Estimation'),
|
||||
'lot_type': fields.selection(_type_get, 'Object category', size=64),
|
||||
'auction': fields.many2one('auction.dates', 'Auction date', readonly=True, select=1),
|
||||
}
|
||||
def init(self, cr):
|
||||
cr.execute("""create or replace view report_unclassified_objects as
|
||||
(select
|
||||
min(al.id) as id,
|
||||
al.name as name,
|
||||
al.obj_price as obj_price,
|
||||
al.obj_num as obj_num,
|
||||
al.lot_num as lot_num,
|
||||
al.state as state,
|
||||
al.obj_comm as obj_comm,
|
||||
al.bord_vnd_id as bord_vnd_id,
|
||||
al.ach_login as ach_login,
|
||||
al.lot_est1 as lot_est1,
|
||||
al.lot_est2 as lot_est2,
|
||||
al.lot_type as lot_type,
|
||||
al.auction_id as auction
|
||||
from auction_lots al,auction_lot_category ac
|
||||
where (al.lot_type=ac.name) AND (ac.aie_categ='41') AND (al.auction_id is null)
|
||||
group by al.obj_price,al.obj_num, al.lot_num, al.state, al.obj_comm,al.bord_vnd_id,al.ach_login,al.lot_est1,al.lot_est2,al.lot_type,al.auction_id,al.name)
|
||||
""")
|
||||
report_unclassified_objects()
|
||||
|
|
@ -0,0 +1,414 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_sign_in_out_tree1">
|
||||
<field name="name">report attendance</field>
|
||||
<field name="model">report.attendance</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="User's pointing">
|
||||
<field name="employee_id" select="1"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="total_attendance" select="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_sign_in_out_graph1">
|
||||
<field name="name">Graph attendance</field>
|
||||
<field name="model">report.attendance</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="User's pointing" orientation="vertical" type="bar">
|
||||
<field name="employee_id" select="1"/>
|
||||
<field name="total_attendance" operator="+"/>
|
||||
<field name="name" select="1"/>
|
||||
</graph>
|
||||
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_auction_sign_in_out_member_tree1">
|
||||
<field name="res_model">report.attendance</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="domain"> [('name','=',time.strftime('%Y-%m-%d')),('employee_id','=',uid)]</field>
|
||||
<!--<field name="domain"> [('name','ilike',time.strftime('%Y-%m'))]</field>-->
|
||||
</record>
|
||||
<menuitem name="Employees" id="auction_report_employees_menu" parent="auction_report_menu"/>
|
||||
<menuitem name="Manager" id="auction_report_manager_menu" parent="auction_report_menu"/>
|
||||
<menuitem name="Attendance" action="action_report_auction_sign_in_out_member_tree1" id="menu_report_auction_sign_in_out_member_tree1" parent="auction_report_employees_menu"/>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_auction_sign_in_out_manager_tree1">
|
||||
<field name="res_model">report.attendance</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="domain"> [('name','=',time.strftime('%Y-%m-%d'))]</field>
|
||||
</record>
|
||||
|
||||
==============================
|
||||
My Latest Objects
|
||||
==============================
|
||||
<record model="ir.actions.act_window" id="action_report_latest_objects_tree">
|
||||
<field name="res_model">auction.lots</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('create_uid','=',uid)]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_latest_objects_manager_tree">
|
||||
<field name="res_model">auction.lots</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="limit" eval="80"/>
|
||||
</record>
|
||||
|
||||
=============================
|
||||
My Latest Deposit
|
||||
==============================
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_latest_doposit_manager_tree">
|
||||
<field name="res_model">auction.deposit</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Latest Deposits" action="action_report_latest_doposit_manager_tree" id="menu_report_latest_doposit_tree_manager" parent="auction_report_manager_menu"/>
|
||||
|
||||
<menuitem name="Attendance" action="action_report_auction_sign_in_out_manager_tree1" id="menu_report_auction_sign_in_out_manager_tree1" parent="auction_report_manager_menu"/>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_object_encoded_graph">
|
||||
<field name="name">report.object.encoded.graph</field>
|
||||
<field name="model">report.object.encoded</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Objects statistics" type="bar">
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="estimation" operator="+" />
|
||||
<field name="obj_ret" operator="+" />
|
||||
<field name="obj_num" operator="+" />
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_object_encoded_member_tree">
|
||||
<field name="res_model">report.object.encoded</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain"> [('user_id','=',uid),('date','ilike',time.strftime('%Y-%m'))]</field>
|
||||
</record>
|
||||
=============================
|
||||
Objects per Day
|
||||
==============================
|
||||
<record model="ir.ui.view" id="view_report_auction_object_date_tree">
|
||||
<field name="name">Objects by date</field>
|
||||
<field name="model">report.auction.object.date</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Objects per Day">
|
||||
<field name="month" select="1" />
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="obj_num"/>
|
||||
<field name="name" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_object_date_form">
|
||||
<field name="name">Object date</field>
|
||||
<field name="model">report.auction.object.date</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Objects per Day">
|
||||
<field name="user_id" />
|
||||
<field name="name" select="1"/>
|
||||
<field name="obj_num" />
|
||||
<field name="month" select="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_object_date_graph">
|
||||
<field name="name">report.auction.object.date.graph</field>
|
||||
<field name="model">report.auction.object.date</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Objects per day" type="bar">
|
||||
<field name="name" select="1"/>
|
||||
<field name="obj_num" operator="+"/>
|
||||
<field name="user_id" group="True"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_auction_object_date_tree">
|
||||
<field name="res_model">report.auction.object.date</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="domain">[('month','=',time.strftime('%Y-%m-01'))]</field>
|
||||
</record>
|
||||
<menuitem
|
||||
name="Encoded Objects Per Day"
|
||||
action="action_report_auction_object_date_tree"
|
||||
id="menu_report_auction_object_date_tree"
|
||||
parent="auction_report_manager_menu"/>
|
||||
|
||||
=============================
|
||||
estimation.adj.category
|
||||
==============================
|
||||
<record model="ir.ui.view" id="view_report_auction_estimation_adj_category_form">
|
||||
<field name="name">report.auction.estimation.adj.category.form</field>
|
||||
<field name="model">report.auction.estimation.adj.category</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Min est/Adj/Max est">
|
||||
<!--field name="date" select="1"/-->
|
||||
<field name="lot_type" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="lot_est1"/>
|
||||
<field name="lot_est2"/>
|
||||
<field name="adj_total"/>
|
||||
<field name="date" select="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_report_auction_estimation_adj_category_tree">
|
||||
<field name="name">report.auction.estimation.adj.category.tree</field>
|
||||
<field name="model">report.auction.estimation.adj.category</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Min est/Adj/Max est">
|
||||
<!--field name="date" select="1"/-->
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="lot_type" select="1"/>
|
||||
<field name="lot_est1" select="1"/>
|
||||
<field name="lot_est2" select="1"/>
|
||||
<field name="adj_total" select="1"/>
|
||||
<field name="date" select="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_estimation_adj_category_graph">
|
||||
<field name="name">report.auction.estimation.adj.category.graph</field>
|
||||
<field name="model">report.auction.estimation.adj.category</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Min est/Adj/Max est" orientation="vertical" type="bar">
|
||||
<!--field name="date" operator="+"/-->
|
||||
<field name="lot_type" select="1"/>
|
||||
<field name="lot_est1" operator="+"/>
|
||||
<field name="adj_total" operator="+"/>
|
||||
<field name="lot_est2" operator="+"/>
|
||||
<field name="user_id" group="True"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_report_auction_estimation_adj_category_manager_tree">
|
||||
<field name="name">Min est/Adj/Max est</field>
|
||||
<field name="res_model">report.auction.estimation.adj.category</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="domain">[('date','like',time.strftime('%Y-%m'))]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_auction_estimation_adj_category_member_tree">
|
||||
<field name="name">Min est/Adj/Max est</field>
|
||||
<field name="res_model">report.auction.estimation.adj.category</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="domain">[('date','like',time.strftime('%Y-%m')),('user_id','=',uid)]</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Employees" id="auction_report_employees_menu" parent="auction_report_menu"/>
|
||||
<menuitem name="Comparison of estimations" action="action_report_auction_estimation_adj_category_member_tree" id="menu_report_auction_estimation_adj_category_member" parent="auction_report_employees_menu"/>
|
||||
<menuitem name="Manager" id="auction_report_manager_menu" parent="auction_report_menu"/>
|
||||
<menuitem name="Comparison of estimations" action="action_report_auction_estimation_adj_category_manager_tree" id="menu_report_auction_estimation_adj_category_manager" parent="auction_report_manager_menu"/>
|
||||
|
||||
=============================
|
||||
Object encoded
|
||||
==============================
|
||||
<record model="ir.ui.view" id="view_report_object_encoded_form">
|
||||
<field name="name">report.object.encoded.form</field>
|
||||
<field name="model">report.object.encoded</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Objects statistics">
|
||||
<field name="date" select="1"/>
|
||||
<field name="state" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="estimation"/>
|
||||
<field name="obj_ret"/>
|
||||
<field name="obj_num" sum="# objects"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_object_encoded_tree">
|
||||
<field name="name">report.object.encoded.tree</field>
|
||||
<field name="model">report.object.encoded</field>
|
||||
<field name="type">tree</field>
|
||||
|
||||
<field name="arch" type="xml">
|
||||
|
||||
<tree string="Objects statistics">
|
||||
<field name="date" select="1"/>
|
||||
<field name="state" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="estimation"/>
|
||||
<field name="obj_ret"/>
|
||||
<field name="obj_num"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<!-- <record model="ir.ui.view" id="view_report_object_encoded_tree">
|
||||
<field name="name">report.object.encoded.tree</field>
|
||||
<field name="model">report.object.encoded</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Objects statistics" >
|
||||
<field name="date" select="1"/>
|
||||
<field name="state" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="estimation" />
|
||||
<field name="obj_ret" />
|
||||
<field name="obj_num" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
-->
|
||||
<record model="ir.ui.view" id="view_report_object_encoded_graph">
|
||||
<field name="name">report.object.encoded.graph</field>
|
||||
<field name="model">report.object.encoded</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Objects statistics" type="bar">
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="estimation" operator="+" />
|
||||
<field name="obj_ret" operator="+" />
|
||||
<field name="obj_num" operator="+" />
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_object_encoded_member_tree">
|
||||
<field name="res_model">report.object.encoded</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain"> [('user_id','=',uid),('date','ilike',time.strftime('%Y-%m'))]</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="view_report_object_encoded_manager_tree">
|
||||
<field name="name">report.object.encoded.tree</field>
|
||||
<field name="model">report.object.encoded.manager</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Objects statistics">
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="estimation" />
|
||||
<field name="obj_ret" />
|
||||
<field name="obj_num" sum="# objects" select="1"/>
|
||||
<field name="adj" sum="Total adj."/>
|
||||
<field name="obj_margin" />
|
||||
<field name="net_revenue" sum="Total net rev."/>
|
||||
<field name="gross_revenue" sum="Total gross rev."/>
|
||||
<field name="date" select="1"/>
|
||||
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_object_encoded_manager_graph">
|
||||
<field name="name">report.object.encoded.graph</field>
|
||||
<field name="model">report.object.encoded.manager</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Object statistic" type="bar">
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="obj_ret" operator="+" />
|
||||
<field name="obj_num" operator="+" />
|
||||
<field name="obj_margin" operator="+" />
|
||||
<field name="net_revenue" operator="+" />
|
||||
<field name="gross_revenue" operator="+" />
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_object_encoded_manager_tree">
|
||||
<field name="res_model">report.object.encoded.manager</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain">[('date','ilike',time.strftime('%Y-%m'))]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_unclassified_objects">
|
||||
<field name="name">report.unclassified.objects</field>
|
||||
<field name="model">report.unclassified.objects</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="blue:state in ('draft','unsold');black:state in ('sold');gray:state in ('paid')" string="Unclassified objects">
|
||||
<field name="obj_num" string="Ref" select="1"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="ach_login"/>
|
||||
<field name="obj_price"/>
|
||||
<field name="state" select="1"/>
|
||||
<field name="obj_comm"/>
|
||||
<field name="bord_vnd_id"/>
|
||||
<field name="lot_num"/>
|
||||
<field name="lot_est1"/>
|
||||
<field name="lot_est2"/>
|
||||
<field name="lot_type" select="1"/>
|
||||
<field name="auction"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window name="Bordereau de dépôt"
|
||||
domain="[('partner_id', '=', active_id)]"
|
||||
res_model="auction.deposit"
|
||||
src_model="res.partner"
|
||||
id="act_auction_lot_open_deposit"/>
|
||||
=============================
|
||||
Auction adjudication
|
||||
==============================
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_adjudication_tree">
|
||||
<field name="name">report.auction.adjudication.tree</field>
|
||||
<field name="model">report.auction.adjudication</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="blue:state in ('draft');black:state in ('close')" string="Total adjudication">
|
||||
<field name="name" select="1"/>
|
||||
<field name="adj_total" select="1"/>
|
||||
<field name="state" select="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_adjudication_graph">
|
||||
<field name="name">report.auction.adjudication.graph</field>
|
||||
<field name="model">report.auction.adjudication</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Total adjudication" type="bar">
|
||||
<field name="name" select="1"/>
|
||||
<field name="adj_total" select="1" />
|
||||
<field name="user_id" group="True"/>
|
||||
|
||||
</graph>
|
||||
</field>
|
||||
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_auction_adjudication_tree">
|
||||
<field name="res_model">report.auction.adjudication</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
</record>
|
||||
<menuitem name="Adjudication by Auction" action="action_report_auction_adjudication_tree" id="menu_report_auction_adjudication_tree" parent="auction_report_manager_menu"/>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,107 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from mx import DateTime
|
||||
from osv import fields, osv, orm
|
||||
from tools import config
|
||||
from tools.translate import _
|
||||
import ir
|
||||
import netsvc
|
||||
import os
|
||||
import time
|
||||
import tools
|
||||
|
||||
class report_auction(osv.osv):
|
||||
|
||||
"""Auction Report"""
|
||||
_name = "report.auction"
|
||||
_description = "Auction's Summary"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'year': fields.char('Year', size=4, readonly=True),
|
||||
'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'),
|
||||
('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'),
|
||||
('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True),
|
||||
'day': fields.char('Day', size=128, readonly=True),
|
||||
'buyer_login': fields.char('Buyer Login', size=64, readonly=True, select=1),
|
||||
'buyer':fields.many2one('res.partner', 'Buyer', readonly=True, select=2),
|
||||
'seller': fields.many2one('res.partner', 'Seller', readonly=True, select=1),
|
||||
'object':fields.integer('No of objects', readonly=True, select=1),
|
||||
'total_price':fields.float('Total Adj.', digits=(16, 2), readonly=True, select=2),
|
||||
'avg_price':fields.float('Avg Adj.', digits=(16, 2), readonly=True, select=2),
|
||||
'date': fields.date('Create Date', select=1),
|
||||
'auction': fields.many2one('auction.dates', 'Auction date', readonly=True, select=1),
|
||||
'gross_revenue':fields.float('Gross Revenue', readonly=True),
|
||||
'net_revenue':fields.float('Net Revenue', readonly=True),
|
||||
'net_margin':fields.float('Net Margin', readonly=True),
|
||||
'avg_estimation':fields.float('Avg estimation', readonly=True),
|
||||
'user_id':fields.many2one('res.users', 'User', select=1),
|
||||
'nbuyer':fields.float('No of buyers', readonly=True),
|
||||
'nseller':fields.float('No of sellers', readonly=True),
|
||||
'min_est':fields.float('Minimum Estimation', readonly=True, select=2),
|
||||
'max_est':fields.float('Maximum Estimation', readonly=True, select=2),
|
||||
'state': fields.selection((('draft', 'Draft'), ('unsold', 'Unsold'), ('sold', 'Sold')), 'State', readonly=True, select=1),
|
||||
|
||||
}
|
||||
|
||||
def init(self, cr):
|
||||
tools.drop_view_if_exists(cr, 'report_auction')
|
||||
cr.execute('''
|
||||
create or replace view report_auction as (
|
||||
select
|
||||
min(al.id) as id,
|
||||
al.ach_login as "buyer_login",
|
||||
ad.auction1 as date,
|
||||
al.state,
|
||||
al.create_uid as user_id,
|
||||
to_char(ad.auction1, 'YYYY') as year,
|
||||
to_char(ad.auction1, 'MM') as month,
|
||||
to_char(ad.auction1, 'YYYY-MM-DD') as day,
|
||||
al.ach_uid as "buyer",
|
||||
ade.partner_id as seller,
|
||||
count(al.ach_login) as "nbuyer",
|
||||
count(al.bord_vnd_id) as "nseller",
|
||||
sum(al.lot_est1) as "min_est",
|
||||
sum(al.lot_est2) as "max_est",
|
||||
ad.id as auction,
|
||||
count(al.id) as "object",
|
||||
sum(al.obj_price) as "total_price",
|
||||
(sum(al.obj_price)/count(al.id)) as "avg_price",
|
||||
sum(al.gross_revenue) as gross_revenue,
|
||||
sum(al.net_revenue) as net_revenue,
|
||||
avg(al.net_margin) as net_margin,
|
||||
sum(al.lot_est1+al.lot_est2)/2 as avg_estimation
|
||||
from
|
||||
auction_lots al,
|
||||
auction_dates ad,
|
||||
auction_deposit ade
|
||||
where
|
||||
ad.id=al.auction_id and ade.id=al.bord_vnd_id
|
||||
group by
|
||||
ad.auction1,
|
||||
al.ach_uid,
|
||||
ad.id,
|
||||
al.ach_login,
|
||||
ade.partner_id,
|
||||
al.state,
|
||||
al.create_uid
|
||||
)
|
||||
''')
|
||||
report_auction()
|
|
@ -0,0 +1,119 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record model="ir.ui.view" id="view_report_auction_tree">
|
||||
<field name="name">Auction's Summary</field>
|
||||
<field name="model">report.auction</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Auction Summary tree view">
|
||||
<field name="date" invisible="1"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="year" invisible="1"/>
|
||||
<field name="day" invisible="1"/>
|
||||
<field name="month" invisible="1"/>
|
||||
<field name="auction" select="1" invisible="1"/>
|
||||
<field name="buyer_login" select="1" invisible="1"/>
|
||||
<field name="buyer" select="1" invisible="1"/>
|
||||
<field name="seller" invisible="1"/>
|
||||
<field name="object" select="1" invisible="1"/>
|
||||
<field name="nbuyer" />
|
||||
<field name="nseller" />
|
||||
<field name="min_est" />
|
||||
<field name="max_est" />
|
||||
<field name="avg_price" select="1"/>
|
||||
<field name="gross_revenue" />
|
||||
<field name="net_revenue" />
|
||||
<field name="net_margin" />
|
||||
<field name="total_price" select="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_report_auction_search" model="ir.ui.view">
|
||||
<field name="name">report.auction.search</field>
|
||||
<field name="model">report.auction</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Auction Summary">
|
||||
<group>
|
||||
<filter icon="terp-go-year" string=" 365 Days "
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')),('date','>',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Auction in last 365 days"/>
|
||||
<filter icon="terp-go-month" string=" 30 Days "
|
||||
name="month"
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')), ('date','>',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Auction in last 30 days"/>
|
||||
<filter icon="terp-go-week"
|
||||
string=" 7 Days "
|
||||
separator="1"
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')), ('date','>',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Auction during last 7 days"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-document-new"
|
||||
string="Draft"
|
||||
domain="[('state','=','draft')]"/>
|
||||
<filter icon="terp-dolar"
|
||||
string="Sold"
|
||||
domain="[('state','=', 'sold')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="auction"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<filter icon="terp-personal"
|
||||
string="My Auction"
|
||||
help="My Auction"
|
||||
domain="[('user_id','=',uid)]"/>
|
||||
</field>
|
||||
<field name="object"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="User" icon="terp-personal" name="User" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Buyer" icon="terp-personal" name="buyer" context="{'group_by':'buyer'}"/>
|
||||
<filter string="Seller" icon="terp-personal" name="seller" context="{'group_by':'seller'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Auction" icon="terp-product" name="auction" context="{'group_by':'auction'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-go-today" 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>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_report_auction_graph" model="ir.ui.view">
|
||||
<field name="name">report.auction.graph</field>
|
||||
<field name="model">report.auction</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Auction's Summary" type="bar">
|
||||
<field name="auction"/>
|
||||
<field name="total_price" operator="+"/>
|
||||
<field name="avg_estimation" operator="+"/>
|
||||
<field name="avg_price" operator="+"/>
|
||||
<field name="gross_revenue" operator="+"/>
|
||||
<field name="net_revenue" operator="+"/>
|
||||
<field name="net_margin" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_auction">
|
||||
<field name="name">Auction Summary</field>
|
||||
<field name="res_model">report.auction</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<!-- <field name="domain">[('date','ilike',time.strftime('%Y-%m'))]</field>-->
|
||||
<field name="search_view_id" ref="view_report_auction_search"/>
|
||||
<field name="context">{'search_default_month':1}</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Auction" id="auction_report_auction_menu" parent="auction.auction_report_menu"/>
|
||||
<menuitem name="Auction's Summary" action="action_report_auction" id="menu_report_auction" parent="auction_report_auction_menu"/>
|
||||
|
||||
<!--end : creating buyer Reporting menu for the buyer by pmo-->
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -8,17 +8,5 @@
|
|||
"access_auction_bid","auction.bid","model_auction_bid","base.group_user",1,1,1,1
|
||||
"access_auction_bid_line","auction.bid.line","model_auction_bid_line","base.group_user",1,1,1,1
|
||||
"access_auction_lot_history","auction.lot.history","model_auction_lot_history","base.group_user",1,1,1,1
|
||||
"access_report_buyer_auction","report.buyer.auction","model_report_buyer_auction","base.group_user",1,0,0,0
|
||||
"access_report_buyer_auction2","report.buyer.auction2","model_report_buyer_auction2","base.group_user",1,0,0,0
|
||||
"access_report_seller_auction","report.seller.auction","model_report_seller_auction","base.group_user",1,0,0,0
|
||||
"access_report_seller_auction2","report.seller.auction2","model_report_seller_auction2","base.group_user",1,0,0,0
|
||||
"access_report_auction_view","report.auction.view","model_report_auction_view","base.group_user",1,0,0,0
|
||||
"access_report_auction_view2","report.auction.view2","model_report_auction_view2","base.group_user",1,0,0,0
|
||||
"access_report_auction_object_date","report.auction.object.date","model_report_auction_object_date","base.group_user",1,0,0,0
|
||||
"access_report_auction_estimation_adj_category","report.auction.estimation.adj.category","model_report_auction_estimation_adj_category","base.group_user",1,0,0,0
|
||||
"access_report_auction_adjudication","report.auction.adjudication","model_report_auction_adjudication","base.group_user",1,0,0,0
|
||||
"access_report_auction","report.auction","model_report_auction","base.group_user",1,0,0,0
|
||||
"access_report_attendance","report.attendance","model_report_attendance","base.group_user",1,0,0,0
|
||||
"access_report_deposit_border","report.deposit.border","model_report_deposit_border","base.group_user",1,0,0,0
|
||||
"access_report_object_encoded","report.object.encoded","model_report_object_encoded","base.group_user",1,0,0,0
|
||||
"access_report_object_encoded_manager","report.object.encoded.manager","model_report_object_encoded_manager","base.group_user",1,0,0,0
|
||||
"access_report_unclassified_objects","report.unclassified.objects","model_report_unclassified_objects","base.group_user",1,0,0,0
|
||||
|
|
|
Loading…
Reference in New Issue