def show(self, id): """GET /stocks/id: Show a specific item""" doc = DBSession.query(Inventarit).filter(Inventarit.numeroinventario==id).one() if not doc.inventariconta: Inventarirconta(numeroinventario=doc.numeroinventario) DBSession.add(Inventarirconta) DBSession.flush() result = views.get_stock(id) return dict(page='stock', doc=doc, result=result)
def updatecost(self, id): """GET /stocks/id: Show a specific item""" #result = views.get_stock_cogs(id) doc = DBSession.query(Inventarit).filter(Inventarit.numeroinventario==id).one() invs = DBSession.query(Inventarirconta).filter(Inventarirconta.numeroinventario==id).all() for ic in invs: ic.costo, ic.datacosto = gcogs(ic.numeroprodotto, doc.numeromagazzino ,date=doc.datainventario) if not ic.costo2 or ic.costo2 == 0: ic.costo2 = ic.costo DBSession.add(ic) redirect('/stock/show/'+id)
def requestupg(self, id): """GET /stocks/id: Show a specific item""" date=datetime.now() try: obj = DBSession.query(Aggiornaic).filter(Aggiornaic.numeroinventario==id).one() except: obj = Aggiornaic() obj.numeroinventario=id obj.richiesta=date obj.status = 1 email = '' DBSession.add(obj) redirect('/stock/showcost/'+id)
def qta(cls, doc_id, prod_id): """""" try: ret = DBSession.query(Inventarirconta).filter( Inventarirconta.numeroinventario==doc_id, Inventarirconta.numeroprodotto==prod_id, ).one() except: ret = Inventarirconta() ret.numeroinventario=doc_id ret.numeroprodotto=prod_id ret.qta=0 DBSession.add(ret) DBSession.flush() return ret
def post(self, *args, **kw): print [args] print [kw] try: pk = kw.get('pk') value = kw.get('value') if not value: value = '0' value = float(value) name = kw.get('name') doc_id, prod_id = pk.split('/') if name == 'qta' or name == 'qtaconf': p = DBSession.query(Prodotti).filter_by(numeroprodotto = prod_id).one() d = DBSession.query(Inventarit).filter_by(numeroinventario = doc_id).one() try : ic = DBSession.query(Inventarirconta).filter(and_( Inventarirconta.numeroinventario == doc_id, Inventarirconta.numeroprodotto == prod_id )).one() except: ic = Inventarirconta(numeroinventario=doc_id, numeroprodotto=prod_id) ic.qta = 0 ic.qtaconf = 0 #ic.costo = gcogs(prod_id, d.numeromagazzino ,date=d.datainventario) ic.costo2 = 0 if not ic.costo: ic.costo = 0 if not ic.qta: ic.qta = 0 if not ic.qtaconf: ic.qtaconf = 0 setattr(ic,name,value) pzxc = p.pezzixcollo or 1 ic.totale_qta = ic.qta+ic.qtaconf*pzxc ic.totale_costo=ic.totale_qta*ic.costo kw['totale_costo'] = todecimal(ic.totale_costo ) kw['totale_qta']=todecimal(ic.totale_qta ) kw['costo'] = todecimal(ic.costo) DBSession.add(ic) elif name == 'costo2': p = DBSession.query(Prodotti).filter_by(numeroprodotto = prod_id).one() d = DBSession.query(Inventarit).filter_by(numeroinventario = doc_id).one() ic = DBSession.query(Inventarirconta).filter(and_( Inventarirconta.numeroinventario == doc_id, Inventarirconta.numeroprodotto == prod_id )).one() if not ic.costo: ic.costo = 0 #if not ic.qta: # ic.qta = 0 #if not ic.qtaconf: # ic.qtaconf = 0 setattr(ic,name,value) print name, value print ic.costo, ic.costo2 #pzxc = p.pezzixcollo or 1 #ic.totale_qta = ic.qta+ic.qtaconf*pzxc ic.totale_costo=ic.totale_qta*ic.costo2 kw['totale_costo'] = todecimal(ic.totale_costo ) #kw['costo'] = todecimal(ic.costo) DBSession.add(ic) except: raise pylons.response.status = "400 Error" return "Not a valid entry" """Handle the front-page.""" import json return json.dumps(kw)