示例#1
0
 def testDontSaveAutoInitialIgnoreDuplicatesOnAdd(self):
     with reversion.create_revision():
         reversion.set_ignore_duplicates(True)
         reversion.set_auto_initial(True, [ReversionTestModel1])
         self.test13.name = "model1 instance3 version2"
         self.test13.save()
     # Test that no revision at all is saved because it's a new object
     # and ignore duplicates is activated
     self.assertEqual(reversion.get_for_object(self.test13).count(), 0)
示例#2
0
 def testCanSaveAutoInitialIgnoreDuplicatesOnChange(self):
     self.assertEqual(reversion.get_for_object(self.test11).count(), 0)
     with reversion.create_revision():
         reversion.set_ignore_duplicates(True)
         reversion.set_auto_initial(True, [ReversionTestModel1, ReversionTestModel2])
         self.test11.name = "model1 instance1 version2"
         self.test11.save()
         self.test12.save()
         self.test21.save()
         self.test22.save()
     # Test that an initial is save because there's a data change and no previous revision
     self.assertEqual(reversion.get_for_object(self.test11).count(), 2)
示例#3
0
文件: tests.py 项目: scsi110/mes-1
 def testCanSaveIgnoringDuplicates(self):
     with reversion.create_revision():
         self.test11.save()
         self.test12.save()
         self.test21.save()
         self.test22.save()
         self.assertFalse(reversion.get_ignore_duplicates())
         reversion.set_ignore_duplicates(True)
         self.assertTrue(reversion.get_ignore_duplicates())
     self.assertEqual(reversion.get_for_object(self.test11).count(), 2)
     # Save a non-duplicate revision.
     with reversion.create_revision():
         self.test11.save()
         self.assertFalse(reversion.get_ignore_duplicates())
         reversion.set_ignore_duplicates(True)
     self.assertEqual(reversion.get_for_object(self.test11).count(), 3)
示例#4
0
 def testCanSaveIgnoringDuplicates(self):
     with reversion.create_revision():
         self.test11.save()
         self.test12.save()
         self.test21.save()
         self.test22.save()
         self.assertFalse(reversion.get_ignore_duplicates())
         reversion.set_ignore_duplicates(True)
         self.assertTrue(reversion.get_ignore_duplicates())
     self.assertEqual(reversion.get_for_object(self.test11).count(), 2)
     # Save a non-duplicate revision.
     with reversion.create_revision():
         self.test11.save()
         self.assertFalse(reversion.get_ignore_duplicates())
         reversion.set_ignore_duplicates(True)
     self.assertEqual(reversion.get_for_object(self.test11).count(), 3)
示例#5
0
 def testDontSaveAutoInitialIgnoreDuplicatesOnDelete(self):
     self.assertEqual(Version.objects.count(), 0)
     with reversion.create_revision():
         self.test11.save()
         self.test12.save()
         self.test21.save()
         self.test22.save()
     self.assertEqual(reversion.get_for_object(self.test11).count(), 1)
     with reversion.create_revision():
         reversion.set_ignore_duplicates(True)
         reversion.set_auto_initial(True, [ReversionTestModel1])
         self.test11.delete()
     # Test that no initial is saved on delete
     versions = reversion.get_deleted(ReversionTestModel1)
     self.assertEqual(len(versions), 1)
     self.assertEqual(Version.objects.filter(type=VERSION_ADD).count(), 0)
     self.assertEqual(Version.objects.filter(type=VERSION_CHANGE).count(), 4)
     self.assertEqual(Version.objects.filter(type=VERSION_DELETE).count(), 1)
示例#6
0
 def testDontSaveAutoInitialIgnoreDuplicatesOnChange(self):
     self.assertEqual(reversion.get_for_object(self.test11).count(), 0)
     with reversion.create_revision():
         reversion.set_ignore_duplicates(True)
         reversion.set_auto_initial(True, [ReversionTestModel1, ReversionTestModel2])
         self.test11.save()
         self.test12.save()
         self.test21.save()
         self.test22.save()
     # Test that no revision at all is saved because there's no data change
     # and ignore duplicates is activated
     self.assertEqual(reversion.get_for_object(self.test11).count(), 0)
     with reversion.create_revision():
         reversion.set_ignore_duplicates(True)
         reversion.set_auto_initial(True, [ReversionTestModel1])
         self.test11.name = "model1 instance1 version3"
         self.test11.save()
     # Test that initial and normal revision are saved because there's data change
     self.assertEqual(reversion.get_for_object(self.test11).count(), 2)
示例#7
0
	def save(self, *args, **kwargs):
		with create_revision():
			set_ignore_duplicates(True)
			concepto = False
			primer_tecnico = False
			if not self.pk:
				try:
					self.folio = Orden.objects.all().order_by('-folio')[0].folio + 1
				except:
					self.folio = 10100#
				if self.servicio == 'Icon' and self.concepto == 'Armado':
					concepto = Concepto()
					concepto.nombre = '**Orden de armado'
					concepto.cantidad = 333.5
					concepto.usuario = self.operador
				elif self.servicio == 'Icon' and self.concepto == 'Revision':
					concepto = Concepto()
					concepto.nombre = '**Icon revision'
					concepto.cantidad = 609
					concepto.usuario = self.operador
				elif self.servicio == 'Icon' and self.concepto == 'OrdenesIcon':
					concepto = Concepto()
					concepto.nombre = '**Orden Icon'
					concepto.cantidad = 609
					concepto.usuario = self.operador
				elif self.servicio == 'Icon' and self.concepto == 'Mantenimiento':
					concepto = Concepto()
					concepto.nombre = '**Icon mantenimiento'
					concepto.cantidad = 609
					concepto.usuario = self.operador
				elif self.servicio == 'Icon' and self.concepto == 'Servicio':
					concepto = Concepto()
					concepto.nombre = '**Icon servicio'
					concepto.cantidad = 609
					concepto.usuario = self.operador#
				primer_tecnico = Tecnico_orden()
				primer_tecnico.tecnico = self.tecnico
				primer_tecnico.usuario = self.operador#
			else:
				orig = Orden.objects.get(id=self.id)
				if orig.tecnico != self.tecnico:
					tecnico_orden = Tecnico_orden()
					tecnico_orden.tecnico = self.tecnico
					tecnico_orden.usuario = self.operador
					tecnico_orden.orden = self
					tecnico_orden.save(concepto_nombre='**Cambio de tecnico ('+orig.tecnico.username+' a '+self.tecnico.username+')')

			fail_silently = True
			c = Context({
				'tecnico': self.tecnico.username,
				'folio': str(self.folio),
				'link': reverse( 'editar_orden', args=[self.folio]),
				'dominio': DOMINIO,
				})
			html_content = get_template('email/mail_nueva_orden.html').render(c)
			plaintext = get_template('email/mail_nueva_orden.txt').render(c)
			msg = EmailMultiAlternatives(
				subject="Nueva orden asignada",
				body=plaintext,
				from_email=DEFAULT_FROM_EMAIL,
				to= (self.tecnico.email,),
			)
			msg.attach_alternative(html_content, "text/html")
			msg.send(fail_silently)
			
			super(Orden, self).save(*args, **kwargs)#
			if concepto:
				concepto.orden = self
				corte = Corte()
				concepto.corte = corte.asignar()
				concepto.save()#
			if primer_tecnico:
				primer_tecnico.orden = self
				primer_tecnico.save(concepto_nombre='**Nuevo tecnico (' + self.tecnico.username +')')