Exemple #1
0
    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)            
Exemple #2
0
    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)    
Exemple #3
0
    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) 
Exemple #4
0
 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
Exemple #5
0
    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)