def save(self, *args, **kwargs): user = kwargs.pop('user', None) ag = super(AnagraficaForm, self).save(*args, **kwargs) if self.objedit: # obj in db already codiceev='EDIT' else: # obj being created now codiceev='CREAZ' newev = Evento(fkev=ag.id, codiceev=codiceev, tipoentev='ANG', entitaev=ag.__str__(), c1ev=ag.validag, c2ev=ag.catag, utenteev=user) newev.save() return ag
def save(self, *args, **kwargs): agid = kwargs.pop('agid', None) user = kwargs.pop('user', None) if self.objedit: # obj in db already codiceev='EDIT' else: # obj being created now self.instance.anagrafica_id = agid # link the new contatto to the ag it belongs codiceev='CREAZ' cont = super(ContattoForm, self).save(*args, **kwargs) newev = Evento(fkev=cont.id, codiceev=codiceev, tipoentev='CNT', entitaev=cont.__str__(), c1ev=cont.validcont, c2ev=cont.prefcont, utenteev=user) newev.save() return cont
def new_prod_vers(request, prodid): prod = get_object_or_404(Prodotto, pk=prodid) oricodevers = prod.__str__() orivers= prod.versprod if request.method == 'POST': form = forms.NewProdVersForm(request.POST, prod=prod) if form.is_valid(): prodacc = request.POST.getlist('prodacc') whoseacc = request.POST.getlist('whoseacc') #remove this prod as an accessory of whoseacc prods prod.prodotto_set.remove(*whoseacc) #duplicate prod and save it to db prod.id = None prod.versprod = form.cleaned_data['newvers'] orifotoname=prod.fotoprod.name if form.cleaned_data.get('samefoto') and orifotoname!=tdj.IMGNOPIC: prodpath, imgfname = os.path.split(orifotoname) prod.fotoprod.name= prodpath+"/V"+prod.versprod+imgfname prod.save() shutil.copyfile(settings.MEDIA_ROOT+orifotoname, settings.MEDIA_ROOT+prod.fotoprod.name) else: prod.fotoprod.name = tdj.IMGNOPIC prod.save() #now add all selected accessories prod.accessprod.add(*prodacc) #now make all whoseacc prod point to this new prod id prod.prodotto_set.add(*whoseacc) #now add the events newev = Evento(fkev=prodid, codiceev='NUOVAVER', tipoentev='PRD', entitaev=oricodevers, c1ev=orivers, c2ev=prod.versprod, utenteev=request.user) # timestampev=datetime.datetime.today()) newev.save() # create the event for the ori prod newev.id = None newev.fkev = prod.id newev.entitaev = prod.__str__() newev.save() # create the event for the new prod response = redirect('searchprod') response['Location'] += '?codiceprod=%s' % prod.codiceprod return response # show all versions else: form = forms.NewProdVersForm(prod=prod) return render_to_response('newversprod.html', {'form': form}, context_instance=RequestContext(request))
def save(self, *args, **kwargs): user = kwargs.pop('user', None) if not self.instance.fotofam.name: #if name is empty because cleared self.instance.fotofam.name = tdj.IMGNOPIC fam = super(FamigliaForm, self).save(*args, **kwargs) fotochanged = 'fotofam' in self.changed_data if fotochanged: # a different file was specified if (fam.fotofam.name != tdj.IMGNOPIC): #but field not cleared im = Image.open(fam.fotofam.path) im.thumbnail((tdj.IMGMAXSIDE,tdj.IMGMAXSIDE,), Image.ANTIALIAS) im.save(fam.fotofam.path) if self.prev_fotoname != tdj.IMGNOPIC: # prev is not empty img placeholder os.remove(settings.MEDIA_ROOT+self.prev_fotoname) # Now let's add the appropriate events enttype = 'FAM' entname = fam.__str__() if self.objedit: # obj in db already newev = Evento(fkev=fam.id, codiceev='EDIT', tipoentev=enttype, entitaev=entname, c2ev=fam.statofam, utenteev=user) newev.save() if fam.codicefam != self.prev_codicefam: newev = Evento(fkev=fam.id, codiceev='CODICE', tipoentev=enttype, entitaev=entname, c1ev=self.prev_codicefam, c2ev=fam.codicefam, utenteev=user) newev.save() if fam.nomefam != self.prev_nomefam: newev = Evento(fkev=fam.id, codiceev='NOME', tipoentev=enttype, entitaev=entname, c1ev=self.prev_nomefam, c2ev=fam.nomefam, utenteev=user) newev.save() if fam.statofam != self.prev_statofam: newev = Evento(fkev=fam.id, codiceev='STATO', tipoentev=enttype, entitaev=entname, c1ev=self.prev_statofam, c2ev=fam.statofam, utenteev=user) newev.save() if fam.pubfam != self.prev_pubfam: newev = Evento(fkev=fam.id, codiceev='PUBB', tipoentev=enttype, entitaev=entname, c1ev=self.prev_pubfam, c2ev=fam.pubfam, utenteev=user) newev.save() if fotochanged: # a different file was specified newev = Evento(fkev=fam.id, codiceev='FOTO', tipoentev=enttype, entitaev=entname, c1ev=self.prev_fotoname, c2ev=fam.fotofam.name, utenteev=user) newev.save() else: # obj being created now newev = Evento(fkev=fam.id, codiceev='CREAZ', tipoentev=enttype, entitaev=entname, c2ev=fam.statofam, utenteev=user) newev.save() return fam
def save(self, *args, **kwargs): user = kwargs.pop('user', None) if not self.instance.fotoprod.name: #if name is empty because cleared self.instance.fotoprod.name = tdj.IMGNOPIC prod = super(ProdottoForm, self).save(*args, **kwargs) fotochanged = 'fotoprod' in self.changed_data if fotochanged: # a different file was specified if (prod.fotoprod.name != tdj.IMGNOPIC): #but field not cleared im = Image.open(prod.fotoprod.path) im.thumbnail((tdj.IMGMAXSIDE,tdj.IMGMAXSIDE,), Image.ANTIALIAS) im.save(prod.fotoprod.path) if self.prev_fotoname != 'nopic.png': # prev is not empty img placeholder os.remove(settings.MEDIA_ROOT+self.prev_fotoname) # Now let's add the appropriate events ts = datetime.datetime.today() enttype='PRD' entname = prod.__str__() if self.objedit: # obj in db already newev = Evento(fkev=prod.id, codiceev='EDIT', tipoentev=enttype, entitaev=entname, c1ev=prod.faseprod, c2ev=prod.statoprod, c3ev=prod.dispprod, utenteev=user) newev.save() if prod.linea != self.prev_linea: newev = Evento(fkev=prod.id, codiceev='MIGRLIN', tipoentev=enttype, entitaev=entname, c1ev=self.prev_linea_name, c2ev=prod.linea.nomelinea, utenteev=user) newev.save() if prod.codiceprod != self.prev_codiceprod: newev = Evento(fkev=prod.id, codiceev='CODICE', tipoentev=enttype, entitaev=entname, c1ev=self.prev_codiceprod, c2ev=prod.codiceprod, utenteev=user) newev.save() if prod.versprod != self.prev_versprod: newev = Evento(fkev=prod.id, codiceev='VERS', tipoentev=enttype, entitaev=entname, c1ev=self.prev_versprod, c2ev=prod.versprod, utenteev=user) newev.save() if prod.faseprod != self.prev_faseprod: newev = Evento(fkev=prod.id, codiceev='FASE', tipoentev=enttype, entitaev=entname, c1ev=self.prev_faseprod, c2ev=prod.faseprod, utenteev=user) newev.save() if prod.statoprod != self.prev_statoprod: newev = Evento(fkev=prod.id, codiceev='STATO', tipoentev=enttype, entitaev=entname, c1ev=self.prev_statoprod, c2ev=prod.statoprod, utenteev=user) newev.save() if prod.dispprod != self.prev_dispprod: newev = Evento(fkev=prod.id, codiceev='DISP', tipoentev=enttype, entitaev=entname, c1ev=self.prev_dispprod, c2ev=prod.dispprod, utenteev=user) newev.save() if prod.prezzoprod != self.prev_prezzoprod: newev = Evento(fkev=prod.id, codiceev='PREZZO', tipoentev=enttype, entitaev=entname, c1ev=self.prev_prezzoprod, c2ev=prod.prezzoprod, utenteev=user) newev.save() if prod.minprezzoprod != self.prev_minprezzoprod: newev = Evento(fkev=prod.id, codiceev='VALMIN', tipoentev=enttype, entitaev=entname, c1ev=self.prev_minprezzoprod, c2ev=prod.minprezzoprod, utenteev=user) newev.save() if prod.pubprezzoprod != self.prev_pubprezzoprod: newev = Evento(fkev=prod.id, codiceev='PUBPREZ', tipoentev=enttype, entitaev=entname, c1ev=self.prev_pubprezzoprod, c2ev=prod.pubprezzoprod, utenteev=user) newev.save() if prod.minqtaprod != self.prev_minqtaprod: newev = Evento(fkev=prod.id, codiceev='QTAMIN', tipoentev=enttype, entitaev=entname, c1ev=self.prev_minqtaprod, c2ev=prod.minqtaprod, utenteev=user) newev.save() if prod.pesoprod != self.prev_pesoprod: newev = Evento(fkev=prod.id, codiceev='PESO', tipoentev=enttype, entitaev=entname, c1ev=self.prev_pesoprod, c2ev=prod.pesoprod, utenteev=user) newev.save() if prod.scortaprod != self.prev_scortaprod: newev = Evento(fkev=prod.id, codiceev='SCORTA', tipoentev=enttype, entitaev=entname, c1ev=self.prev_scortaprod, c2ev=prod.scortaprod, utenteev=user) newev.save() if prod.scortaminprod != self.prev_scortaminprod: newev = Evento(fkev=prod.id, codiceev='SCORTMIN', tipoentev=enttype, entitaev=entname, c1ev=self.prev_scortaminprod, c2ev=prod.scortaminprod, utenteev=user) newev.save() if prod.pubprod != self.prev_pubprod: newev = Evento(fkev=prod.id, codiceev='PUBB', tipoentev=enttype, entitaev=entname, c1ev=self.prev_pubprod, c2ev=prod.pubprod, utenteev=user) newev.save() if fotochanged: # a different file was specified newev = Evento(fkev=prod.id, codiceev='FOTO', tipoentev=enttype, entitaev=entname, c1ev=self.prev_fotoname, c2ev=prod.fotoprod.name, utenteev=user) newev.save() else: # obj being created now newev = Evento(fkev=prod.id, codiceev='CREAZ', tipoentev=enttype, entitaev=entname, c1ev=prod.faseprod, c2ev=prod.statoprod, c3ev=prod.dispprod, utenteev=user) newev.save() return prod
def save(self, *args, **kwargs): user = kwargs.pop('user', None) opz = super(OpzioneForm, self).save(*args, **kwargs) # Now let's add the appropriate events ts = datetime.datetime.today() enttype='OPZ' entname = opz.__str__() if self.objedit: # obj in db already newev = Evento(fkev=opz.id, codiceev='EDIT', tipoentev=enttype, entitaev=entname, c1ev=opz.faseopz, c2ev=opz.statoopz, c3ev=opz.dispopz, utenteev=user) newev.save() if opz.linea != self.prev_linea: newev = Evento(fkev=opz.id, codiceev='MIGRLIN', tipoentev=enttype, entitaev=entname, c1ev=self.prev_linea_name, c2ev=opz.linea.nomelinea, utenteev=user) newev.save() if opz.codiceopz != self.prev_codiceopz: newev = Evento(fkev=opz.id, codiceev='CODICE', tipoentev=enttype, entitaev=entname, c1ev=self.prev_codiceopz, c2ev=opz.codiceopz, utenteev=user) newev.save() if opz.faseopz != self.prev_faseopz: newev = Evento(fkev=opz.id, codiceev='FASE', tipoentev=enttype, entitaev=entname, c1ev=self.prev_faseopz, c2ev=opz.faseopz, utenteev=user) newev.save() if opz.statoopz != self.prev_statoopz: newev = Evento(fkev=opz.id, codiceev='STATO', tipoentev=enttype, entitaev=entname, c1ev=self.prev_statoopz, c2ev=opz.statoopz, utenteev=user) newev.save() if opz.dispopz != self.prev_dispopz: newev = Evento(fkev=opz.id, codiceev='DISP', tipoentev=enttype, entitaev=entname, c1ev=self.prev_dispopz, c2ev=opz.dispopz, utenteev=user) newev.save() if opz.prezzoopz != self.prev_prezzoopz: newev = Evento(fkev=opz.id, codiceev='PREZZO', tipoentev=enttype, entitaev=entname, c1ev=self.prev_prezzoopz, c2ev=opz.prezzoopz, utenteev=user) newev.save() if opz.minprezzoopz != self.prev_minprezzoopz: newev = Evento(fkev=opz.id, codiceev='VALMIN', tipoentev=enttype, entitaev=entname, c1ev=self.prev_minprezzoopz, c2ev=opz.minprezzoopz, utenteev=user) newev.save() if opz.pubprezzoopz != self.prev_pubprezzoopz: newev = Evento(fkev=opz.id, codiceev='PUBPREZ', tipoentev=enttype, entitaev=entname, c1ev=self.prev_pubprezzoopz, c2ev=opz.pubprezzoopz, utenteev=user) newev.save() if opz.minqtaopz != self.prev_minqtaopz: newev = Evento(fkev=opz.id, codiceev='QTAMIN', tipoentev=enttype, entitaev=entname, c1ev=self.prev_minqtaopz, c2ev=opz.minqtaopz, utenteev=user) newev.save() if opz.pesoopz != self.prev_pesoopz: newev = Evento(fkev=opz.id, codiceev='PESO', tipoentev=enttype, entitaev=entname, c1ev=self.prev_pesoopz, c2ev=opz.pesoopz, utenteev=user) newev.save() if opz.pubopz != self.prev_pubopz: newev = Evento(fkev=opz.id, codiceev='PUBB', tipoentev=enttype, entitaev=entname, c1ev=self.prev_pubopz, c2ev=opz.pubopz, utenteev=user) newev.save() else: # obj being created now newev = Evento(fkev=opz.id, codiceev='CREAZ', tipoentev=enttype, entitaev=entname, c1ev=opz.faseopz, c2ev=opz.statoopz, c3ev=opz.dispopz, utenteev=user) newev.save() return opz
def save(self, *args, **kwargs): user = kwargs.pop('user', None) if not self.instance.fotolinea.name: #if name is empty because cleared self.instance.fotolinea.name = tdj.IMGNOPIC linea = super(LineaForm, self).save(*args, **kwargs) fotochanged = 'fotolinea' in self.changed_data if fotochanged: # a different file was specified if (linea.fotolinea.name != tdj.IMGNOPIC): #but field not cleared im = Image.open(linea.fotolinea.path) im.thumbnail((tdj.IMGMAXSIDE,tdj.IMGMAXSIDE,), Image.ANTIALIAS) im.save(linea.fotolinea.path) if self.prev_fotoname != 'nopic.png': # prev is not empty img placeholder os.remove(settings.MEDIA_ROOT+self.prev_fotoname) # Now let's add the appropriate events ts = datetime.datetime.today() enttype='LIN' entname = linea.__str__() if self.objedit: # obj in db already newev = Evento(fkev=linea.id, codiceev='EDIT', tipoentev=enttype, entitaev=entname, c1ev=linea.faselinea, c2ev=linea.statolinea, c3ev=linea.displinea, utenteev=user) newev.save() if linea.famiglia != self.prev_famiglia: newev = Evento(fkev=linea.id, codiceev='MIGRFAM', tipoentev=enttype, entitaev=entname, c1ev=self.prev_famiglia_name, c2ev=linea.famiglia.nomefam, utenteev=user) newev.save() if linea.codicelinea != self.prev_codicelinea: newev = Evento(fkev=linea.id, codiceev='CODICE', tipoentev=enttype, entitaev=entname, c1ev=self.prev_codicelinea, c2ev=linea.codicelinea, utenteev=user) newev.save() if linea.nomelinea != self.prev_nomelinea: newev = Evento(fkev=linea.id, codiceev='NOME', tipoentev=enttype, entitaev=entname, c1ev=self.prev_nomelinea, c2ev=linea.nomelinea, utenteev=user) newev.save() if linea.faselinea != self.prev_faselinea: newev = Evento(fkev=linea.id, codiceev='FASE', tipoentev=enttype, entitaev=entname, c1ev=self.prev_faselinea, c2ev=linea.faselinea, utenteev=user) newev.save() if linea.statolinea != self.prev_statolinea: newev = Evento(fkev=linea.id, codiceev='STATO', tipoentev=enttype, entitaev=entname, c1ev=self.prev_statolinea, c2ev=linea.statolinea, utenteev=user) newev.save() if linea.displinea != self.prev_displinea: newev = Evento(fkev=linea.id, codiceev='DISP', tipoentev=enttype, entitaev=entname, c1ev=self.prev_displinea, c2ev=linea.displinea, utenteev=user) newev.save() if linea.publinea != self.prev_publinea: newev = Evento(fkev=linea.id, codiceev='PUBB', tipoentev=enttype, entitaev=entname, c1ev=self.prev_publinea, c2ev=linea.publinea, utenteev=user) newev.save() if fotochanged: # a different file was specified newev = Evento(fkev=linea.id, codiceev='FOTO', tipoentev=enttype, entitaev=entname, c1ev=self.prev_fotoname, c2ev=linea.fotolinea.name, utenteev=user) newev.save() else: # obj being created now newev = Evento(fkev=linea.id, codiceev='CREAZ', tipoentev=enttype, entitaev=entname, c1ev=linea.faselinea, c2ev=linea.statolinea, c3ev=linea.displinea, utenteev=user) newev.save() return linea
def alter_price(request): if request.method == 'POST': apform = forms.AlterPriceForm(request.POST) if apform.is_valid(): perc = int(apform.cleaned_data['perc']) oripricedelta = apform.cleaned_data['pricedelta'] orivalmindelta = apform.cleaned_data['valmindelta'] if perc: pricedelta = oripricedelta/100.0 + 1.0 valmindelta = orivalmindelta/100.0 + 1.0 oripricedelta = str(oripricedelta)+'%' orivalmindelta = str(orivalmindelta)+'%' else: pricedelta = oripricedelta valmindelta = orivalmindelta oripricedelta = str(oripricedelta)+tdj.CURRENCY orivalmindelta = str(orivalmindelta)+tdj.CURRENCY real = apform.cleaned_data.get('real',False) prodqs = Prodotto.objects.filter(statoprod=u'VAL').order_by('linea') opzqs = Opzione.objects.filter(statoopz=u'VAL').order_by('linea') #print prodqs.query, opzqs.query if real: for prod in prodqs: oriprezzo = prod.prezzoprod oriminprezzo = prod.minprezzoprod if perc: #percentage #print "perc", pricedelta, valmindelta prod.prezzoprod = round(prod.prezzoprod*pricedelta, 2) prod.minprezzoprod = round(prod.minprezzoprod*valmindelta, 2) else: #absolute value #print "abs", pricedelta, valmindelta prod.prezzoprod = round(prod.prezzoprod+pricedelta, 2) prod.minprezzoprod = round(prod.minprezzoprod+valmindelta, 2) prod.save() newev = Evento(fkev=prod.id, codiceev='PREZZO', tipoentev='PRD', entitaev=prod.__str__(), c1ev=oriprezzo, c2ev=prod.prezzoprod, c3ev=oripricedelta, utenteev=request.user) newev.save() newev = Evento(fkev=prod.id, codiceev='VALMIN', tipoentev='PRD', entitaev=prod.__str__(), c1ev=oriminprezzo, c2ev=prod.minprezzoprod, c3ev=orivalmindelta, utenteev=request.user) newev.save() for opz in opzqs: oriprezzo = opz.prezzoopz oriminprezzo = opz.minprezzoopz if perc: #percentage #print "perc", pricedelta, valmindelta opz.prezzoopz = round(opz.prezzoopz*pricedelta, 2) opz.minprezzoopz = round(opz.minprezzoopz*valmindelta, 2) else: #absolute value #print "abs", pricedelta, valmindelta opz.prezzoopz = round(opz.prezzoopz+pricedelta, 2) opz.minprezzoopz = round(opz.minprezzoopz+valmindelta, 2) opz.save() newev = Evento(fkev=opz.id, codiceev='PREZZO', tipoentev='OPZ', entitaev=opz.__str__(), c1ev=oriprezzo, c2ev=opz.prezzoopz, c3ev=oripricedelta, utenteev=request.user) newev.save() newev = Evento(fkev=opz.id, codiceev='VALMIN', tipoentev='OPZ', entitaev=opz.__str__(), c1ev=oriminprezzo, c2ev=opz.minprezzoopz, c3ev=orivalmindelta, utenteev=request.user) newev.save() numprod = prodqs.count() numopz = opzqs.count() return render_to_response('alterprice.html', {'prod_list':prodqs, 'opz_list':opzqs, 'pricedelta': oripricedelta, 'valmindelta': orivalmindelta, 'real': real, 'numprod':numprod, 'numopz':numopz}, context_instance=RequestContext(request)) else: # HTTP GET apform = forms.AlterPriceForm(initial={'perc':'1', 'pricedelta':0.0, 'valmindelta':0.0}) return render_to_response('alterform.html', {'form':apform}, context_instance=RequestContext(request))