Changeset 773 in main
- Timestamp:
- 02/17/12 14:03:14 (10 years ago)
- Location:
- trunk/openPLM/plmapp
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/openPLM/plmapp/controllers/plmobject.py
r767 r773 270 270 rx_bad_ref.search(new_revision): 271 271 raise RevisionError("Bad value for new_revision") 272 if models.RevisionLink.objects.filter(old=self.object.pk): 273 raise RevisionError("a revision already exists for %s" % self.object) 272 if self.is_cancelled or self.is_deprecated: 273 raise RevisionError("Object is deprecated or cancelled.") 274 if models.RevisionLink.objects.filter(old=self.object.pk).exists(): 275 raise RevisionError("A revision already exists for %s" % self.object) 274 276 data = {} 275 277 fields = self.get_modification_fields() + self.get_creation_fields() -
trunk/openPLM/plmapp/tests/controllers/plmobject.py
r766 r773 167 167 self.assertEqual(user, rev.owner) 168 168 169 def assertOneRevision(self, ctrl): 170 count = models.PLMObject.objects.filter(reference=ctrl.reference).count() 171 self.assertEqual(1, count) 172 169 173 def test_revise_error_other_group(self): 170 174 """ … … 177 181 self.failIf(ctrl.is_revisable()) 178 182 self.assertRaises(exc.PermissionError, ctrl.revise, "b") 179 count = models.PLMObject.objects.filter(reference=controller.reference).count() 180 self.assertEqual(1, count) 181 182 def test_revise_error1(self): 183 self.assertOneRevision(controller) 184 185 def test_revise_error_empty_revision(self): 183 186 "Revision : error : empty new revision" 184 187 controller = self.create("Part1") 185 188 self.assertRaises(exc.RevisionError, controller.revise, "") 186 count = models.PLMObject.objects.filter(reference=controller.reference).count() 187 self.assertEqual(1, count) 189 self.assertOneRevision(controller) 188 190 189 def test_revise_error 2(self):191 def test_revise_error_same_revision(self): 190 192 "Revision : error : same revision name" 191 193 controller = self.create("Part1") 192 194 self.assertRaises(exc.RevisionError, controller.revise, "a") 193 count = models.PLMObject.objects.filter(reference=controller.reference).count() 194 self.assertEqual(1, count) 195 self.assertOneRevision(controller) 196 197 def test_revise_error_cancelled_object(self): 198 """ Tests it is not possible to revise a cancelled object.""" 199 controller = self.create("Part1") 200 controller.cancel() 201 self.assertFalse(controller.is_revisable()) 202 self.assertRaises(exc.RevisionError, controller.revise, "n") 203 self.assertOneRevision(controller) 204 205 def test_revise_error_deprecated_object(self): 206 """ Tests it is not possible to revise a deprecated object.""" 207 controller = self.create("Part1") 208 controller.object.is_promotable = lambda: True 209 controller.promote() 210 controller.promote() 211 self.assertFalse(controller.is_revisable()) 212 self.assertRaises(exc.RevisionError, controller.revise, "n") 213 self.assertOneRevision(controller) 195 214 196 215 def test_promote_to_official_revision_previous_is_official(self):
Note: See TracChangeset
for help on using the changeset viewer.