def post(self, *args, **kwargs): recipient_form = RequisitesForm(self.request.arguments) bill_content_form = BillContentForm(self.request.arguments) if not (recipient_form.validate() and bill_content_form.validate()): if not recipient_form.validate(): logging.debug(u'Форма получателя не валидна.') if not bill_content_form.validate(): logging.debug(u'Форма содержимого не валидна.') self.context.update({'title': u'Создание счёта', 'module_name': url_base, 'sender': RequisitesDB.get_one({'inn': '772160030650'}), 'recipient': recipient_form, 'bill_content': bill_content_form, 'bill_num': Counter.next_key('bill'), 'date': datetime.now(), }) self.render(tmpl('create')) else: req = RequisitesDB.create_from_data(recipient_form.data) contr = ContactorDB.create(self.user_id, req['_id'])['_id'] items_from_form = bill_content_form.data['items'] items = [] for i in items_from_form: if i['count'] > 0.0 and i['name']: items.append(i) cont = ContentDB.create(items)['_id'] bill_num = Counter.next_key('bill') date = datetime.now() sender_user = UserDB.get_one({'id': 1}) bill = BillDB.create_simple(sender_user['_id'], contr, cont, bill_num, date) logging.debug(u'Счёт сохранен.') self.redirect('/%s/full/%s' % (url_base, bill['_id']))
def post(self, *args, **kwargs): requisites_form = RequisitesForm(self.request.arguments) if not requisites_form.validate(): """ Не валидна форма реквизитов """ if not requisites_form.validate(): logging.debug(u'Форма реквизитов контрагента не валидна.') self.context.update({'title': u'Создание контрагента', 'module_name': url_base, 'requisites_form': requisites_form, 'contractor_form': ContractorForm(self.request.arguments), }) self.render(tmpl('create')) else: req = RequisitesDB.create_from_data(requisites_form.data) contractor_data = self.request.arguments contractor_data.update({'user': [str(self.user_id)], 'requisites': [str(req['_id'])]}) contractor_form = ContractorForm(contractor_data) if not contractor_form.validate(): logging.error(u'С какого-то хуя форма контрагента не валидна: %s' % contractor_form.errors) con = ContactorDB.create_from_data(contractor_form.data) logging.debug(u'Контрагент сохранен.') self.redirect('/%s/full/%s' % (url_base, con['_id']))
def post(self, *args, **kwargs): recipient_form = RequisitesForm(self.request.arguments) bill_content_form = BillContentForm(self.request.arguments) if not (recipient_form.validate() and bill_content_form.validate()): if not recipient_form.validate(): logging.debug(u'Форма получателя не валидна.') if not bill_content_form.validate(): logging.debug(u'Форма содержимого не валидна.') self.context.update({ 'title': u'Создание счёта', 'module_name': url_base, 'sender': RequisitesDB.get_one({'inn': '772160030650'}), 'recipient': recipient_form, 'bill_content': bill_content_form, 'bill_num': Counter.next_key('bill'), 'date': datetime.now(), }) self.render(tmpl('create')) else: req = RequisitesDB.create_from_data(recipient_form.data) contr = ContactorDB.create(self.user_id, req['_id'])['_id'] items_from_form = bill_content_form.data['items'] items = [] for i in items_from_form: if i['count'] > 0.0 and i['name']: items.append(i) cont = ContentDB.create(items)['_id'] bill_num = Counter.next_key('bill') date = datetime.now() sender_user = UserDB.get_one({'id': 1}) bill = BillDB.create_simple(sender_user['_id'], contr, cont, bill_num, date) logging.debug(u'Счёт сохранен.') self.redirect('/%s/full/%s' % (url_base, bill['_id']))