def on_confirm(self): self.model.base_value = self.model.value facet = self.person.read() if facet and facet is not ValueUnset: setattr(self.model.group, self.person_attribute, facet.person) self.model.attachment = self.fields['attachment'].attachment # We can only change the identifier if the object is branch new (not edit_mode). If the # object is being edited and the identifier is not temporary, it has already being synced # with the destination branch and the identifier should no longer change. # XXX: We can probably remove the temporary identifiers now that we have the station_id as # part of the key in the identifiable domain. other_branch = self._is_for_another_branch() if other_branch and not self.edit_mode: self.model.identifier = Payment.get_temporary_identifier( self.store) self.store.add(self.model.group) self.store.add(self.model) if self.repeat.get_selected() != _ONCE: Payment.create_repeated(self.store, self.model, self.repeat.get_selected(), self.model.due_date.date(), self.end_date.get_date(), temporary_identifiers=other_branch)
def on_confirm(self): self.model.base_value = self.model.value facet = self.person.read() if facet and facet is not ValueUnset: setattr(self.model.group, self.person_attribute, facet.person) self.model.attachment = self.fields['attachment'].attachment # We can only change the identifier if the object is branch new (not edit_mode). If the # object is being edited and the identifier is not temporary, it has already being synced # with the destination branch and the identifier should no longer change. # XXX: We can probably remove the temporary identifiers now that we have the station_id as # part of the key in the identifiable domain. other_branch = self._is_for_another_branch() if other_branch and not self.edit_mode: self.model.identifier = Payment.get_temporary_identifier(self.store) self.store.add(self.model.group) self.store.add(self.model) if self.repeat.get_selected() != _ONCE: Payment.create_repeated(self.store, self.model, self.repeat.get_selected(), self.model.due_date.date(), self.end_date.get_date(), temporary_identifiers=other_branch)
def on_confirm(self): self.model.base_value = self.model.value facet = self.person.read() if facet and facet is not ValueUnset: setattr(self.model.group, self.person_attribute, facet.person) self.model.attachment = self.fields['attachment'].attachment self.store.add(self.model.group) self.store.add(self.model) if self.repeat.get_selected() != _ONCE: Payment.create_repeated(self.store, self.model, self.repeat.get_selected(), self.model.due_date.date(), self.end_date.get_date())
def test_create_repeated_with_temporary_identifier(self): payment = self.create_payment() payment.description = u'temporary' payments = Payment.create_repeated(self.store, payment, INTERVALTYPE_MONTH, localdate(2012, 1, 1).date(), localdate(2012, 3, 1).date(), temporary_identifiers=True) (self.assertTrue(p.identifier < 0) for p in payments)
def on_confirm(self): self.model.base_value = self.model.value person = self.person.get_selected_data() if (person is not None and person is not ValueUnset and # FIXME: PersonField should never let get_selected_data() # return anything different from None and the model. person != ""): setattr(self.model.group, self.person_attribute, self.store.fetch(person.person)) self.model.attachment = self.fields['attachment'].attachment self.store.add(self.model.group) self.store.add(self.model) if self.repeat.get_selected() != _ONCE: Payment.create_repeated(self.store, self.model, self.repeat.get_selected(), self.model.due_date.date(), self.end_date.get_date())
def test_create_repeated_month(self): p = self.create_payment() p.description = u'Rent' p.category = self.create_payment_category() with self.assertRaises(AssertionError): Payment.create_repeated(self.store, p, INTERVALTYPE_MONTH, localdate(2012, 1, 1).date(), localdate(2012, 1, 1).date()) payments = Payment.create_repeated(self.store, p, INTERVALTYPE_MONTH, localdate(2012, 1, 1).date(), localdate(2012, 12, 31).date()) self.assertEqual(len(payments), 11) self.assertEqual(p.due_date, localdatetime(2012, 1, 1)) self.assertEqual(p.description, u'1/12 Rent') self.assertEqual(payments[0].due_date, localdatetime(2012, 2, 1)) self.assertEqual(payments[1].due_date, localdatetime(2012, 3, 1)) self.assertEqual(payments[10].due_date, localdatetime(2012, 12, 1)) self.assertEqual(payments[0].description, u'2/12 Rent') self.assertEqual(payments[10].description, u'12/12 Rent')
def test_create_repeated_month(self): p = self.create_payment() p.description = u"Rent" p.category = self.create_payment_category() with self.assertRaises(AssertionError): Payment.create_repeated( self.store, p, INTERVALTYPE_MONTH, localdate(2012, 1, 1).date(), localdate(2012, 1, 1).date() ) payments = Payment.create_repeated( self.store, p, INTERVALTYPE_MONTH, localdate(2012, 1, 1).date(), localdate(2012, 12, 31).date() ) self.assertEquals(len(payments), 11) self.assertEquals(p.due_date, localdatetime(2012, 1, 1)) self.assertEquals(p.description, u"1/12 Rent") self.assertEquals(payments[0].due_date, localdatetime(2012, 2, 1)) self.assertEquals(payments[1].due_date, localdatetime(2012, 3, 1)) self.assertEquals(payments[10].due_date, localdatetime(2012, 12, 1)) self.assertEquals(payments[0].description, u"2/12 Rent") self.assertEquals(payments[10].description, u"12/12 Rent")
def testCreateRepeatedMonth(self): p = self.create_payment() p.description = u"Rent" p.category = self.create_payment_category() payments = Payment.create_repeated( self.store, p, INTERVALTYPE_MONTH, datetime.date(2012, 1, 1), datetime.date(2012, 12, 31) ) self.assertEquals(len(payments), 11) self.assertEquals(p.due_date, datetime.datetime(2012, 1, 1)) self.assertEquals(p.description, u"1/12 Rent") self.assertEquals(payments[0].due_date, datetime.datetime(2012, 2, 1)) self.assertEquals(payments[1].due_date, datetime.datetime(2012, 3, 1)) self.assertEquals(payments[10].due_date, datetime.datetime(2012, 12, 1)) self.assertEquals(payments[0].description, u"2/12 Rent") self.assertEquals(payments[10].description, u"12/12 Rent")
def test_create_repeated_month(self): p = self.create_payment() p.description = u'Rent' p.category = self.create_payment_category() payments = Payment.create_repeated(self.store, p, INTERVALTYPE_MONTH, localdate(2012, 1, 1).date(), localdate(2012, 12, 31).date()) self.assertEquals(len(payments), 11) self.assertEquals(p.due_date, localdatetime(2012, 1, 1)) self.assertEquals(p.description, u'1/12 Rent') self.assertEquals(payments[0].due_date, localdatetime(2012, 2, 1)) self.assertEquals(payments[1].due_date, localdatetime(2012, 3, 1)) self.assertEquals(payments[10].due_date, localdatetime(2012, 12, 1)) self.assertEquals(payments[0].description, u'2/12 Rent') self.assertEquals(payments[10].description, u'12/12 Rent')