def __call__(self): form = self.request.form context = aq_inner(self.context) annotations = IAnnotations(context)['collective.pfg.payment'] if form.get("form.button.UpdateNumber", None) is not None: sdm = getToolByName(context, 'session_data_manager') session = sdm.getSessionData(create=False) if session is not None: if session.get('collective.pfg.payment.number', None) is not None: del session['collective.pfg.payment.number'] re = getUtility(IRegularExpression) numbering_type = form.get('numbering_type') if numbering_type == 'Incremental': annotations.numbering_type = 'Incremental' next_incremental_number = form.get('next_incremental_number', None) if re.integer(next_incremental_number): annotations.next_incremental_number = int(next_incremental_number) else: message = _(u"Please input integer number for the incremental number.") IStatusMessage(self.request).addStatusMessage(message, type='warn') elif numbering_type == 'Random': annotations.numbering_type = 'Random' random_number_digits = form.get('random_number_digits', None) if re.integer(random_number_digits): annotations.random_number_digits = int(random_number_digits) else: message = _(u"Please input integer number for the randome digits.") IStatusMessage(self.request).addStatusMessage(message, type='warn') return self.template()
def number(self): context = aq_inner(self.context) parent = aq_parent(context) if IAnnotations(parent).get('collective.pfg.payment') is not None: annotations = IAnnotations(parent)['collective.pfg.payment'] sdm = getToolByName(context, 'session_data_manager') session = sdm.getSessionData(create=True) number = session.get('collective.pfg.payment.number', None) if number is None: if annotations.numbering_type == 'Incremental': number = annotations.next_incremental_number new_number = number + 1 annotations.next_incremental_number = new_number number = str(number) if annotations.numbering_type == 'Random': digits = annotations.random_number_digits ids = annotations.numbers rd = getUtility(IRandomDigits) number = rd(digits, ids) annotations.numbers.append(number) session.set('collective.pfg.payment.number', number) return number
def number(self): context = aq_inner(self.context) parent = aq_parent(context) if IAnnotations(parent).get('collective.pfg.payment') is not None: annotations = IAnnotations(parent)['collective.pfg.payment'] sdm = getToolByName(context, 'session_data_manager') session = sdm.getSessionData(create=True) number = session.get('collective.pfg.payment.number', None) if number is None: if annotations.numbering_type == 'Incremental': number = annotations.next_incremental_number new_number = number + 1 annotations.next_incremental_number = new_number number = str(number) if annotations.numbering_type == 'Random': digits = annotations.random_number_digits ids = annotations.numbers rd = getUtility(IRandomDigits) number = rd(digits, ids) annotations.numbers.append(number) session.set('collective.pfg.payment.number', number) return number
def __call__(self): form = self.request.form context = aq_inner(self.context) annotations = IAnnotations(context)['collective.pfg.payment'] if form.get("form.button.UpdateNumber", None) is not None: sdm = getToolByName(context, 'session_data_manager') session = sdm.getSessionData(create=False) if session is not None: if session.get('collective.pfg.payment.number', None) is not None: del session['collective.pfg.payment.number'] re = getUtility(IRegularExpression) numbering_type = form.get('numbering_type') if numbering_type == 'Incremental': annotations.numbering_type = 'Incremental' next_incremental_number = form.get('next_incremental_number', None) if re.integer(next_incremental_number): annotations.next_incremental_number = int( next_incremental_number) else: message = _( u"Please input integer number for the incremental number." ) IStatusMessage(self.request).addStatusMessage(message, type='warn') elif numbering_type == 'Random': annotations.numbering_type = 'Random' random_number_digits = form.get('random_number_digits', None) if re.integer(random_number_digits): annotations.random_number_digits = int( random_number_digits) else: message = _( u"Please input integer number for the randome digits.") IStatusMessage(self.request).addStatusMessage(message, type='warn') return self.template()