Exemplo n.º 1
0
 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']))
Exemplo n.º 2
0
 def get(self):
     from units.documents import create_context, create_bill, create_pdf_bill
     from models.requisites import RequisitesDB
     from datetime import datetime
     from units.export import send_mail_by_queue
     
     sender = RequisitesDB.get_one({'inn': '772160030650'})
     recipient = RequisitesDB.get_one({'inn': '7729687715'})
     bill_num = 156
     date = datetime.now()
     items = [{  'name': u'Услуги по поддержке сайта за май 2014г',
                 'unit': u'мес.',      
                 'count': 1,
                 'price': 10000  },
              {  'name': u'Оплата хостинга',
                 'unit': u'мес.',      
                 'count': 6,
                 'price': 250  },
              {  'name': u'За красивые глаза',
                 'unit': u'шт.',      
                 'count': 2,
                 'price': 666.6  }]
     
     context = create_context(sender, recipient, bill_num, date, items)
     self.write(create_bill(context))
     self.xsrf_token
     self.flush()
     create_pdf_bill(context, 'asdf.pdf')
     send_mail_by_queue('*****@*****.**', u'Привет!', create_bill(context))
Exemplo n.º 3
0
    def get(self):
        from units.documents import create_context, create_bill, create_pdf_bill
        from models.requisites import RequisitesDB
        from datetime import datetime
        from units.export import send_mail_by_queue

        sender = RequisitesDB.get_one({'inn': '772160030650'})
        recipient = RequisitesDB.get_one({'inn': '7729687715'})
        bill_num = 156
        date = datetime.now()
        items = [{
            'name': u'Услуги по поддержке сайта за май 2014г',
            'unit': u'мес.',
            'count': 1,
            'price': 10000
        }, {
            'name': u'Оплата хостинга',
            'unit': u'мес.',
            'count': 6,
            'price': 250
        }, {
            'name': u'За красивые глаза',
            'unit': u'шт.',
            'count': 2,
            'price': 666.6
        }]

        context = create_context(sender, recipient, bill_num, date, items)
        self.write(create_bill(context))
        self.xsrf_token
        self.flush()
        create_pdf_bill(context, 'asdf.pdf')
        send_mail_by_queue('*****@*****.**', u'Привет!',
                           create_bill(context))
Exemplo n.º 4
0
def create_context_by_bill(bill):
    sender_req = RequisitesDB.get_by_id(
        UserDB.get_by_id(bill['user'])['requisites'])
    recipient_req = RequisitesDB.get_by_id(
        ContactorDB.get_by_id(bill['contractor'])['requisites'])
    items = ContentDB.get_by_id(bill['content'])['items']
    return create_context(sender_req, recipient_req, bill['number'],
                          bill['date_created'], items)
Exemplo n.º 5
0
 def create():
     a = connection.UserDB()
     a['id'] = Counter.insert('user')
     a['requisites'] = RequisitesDB.create()['_id']
     a['emailsettings'] = EmailSettingsDB.create()['_id']
     a.save() 
     return a
Exemplo n.º 6
0
 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']))
Exemplo n.º 7
0
class UserForm(Form):
    requisites = SelectField(u'Реквизиты',
                             choices=RequisitesDB.get_for_select(),
                             validators=[REQ])
    emailsettings = SelectField(u'Настройки Email',
                                choices=EmailSettingsDB.get_for_select(),
                                validators=[REQ])
Exemplo n.º 8
0
 def get(self, _id):
     con = ContactorDB.get_full(_id)
     self.context.update({'title': u'Контрагент: %s' % 'asdf',
                          'module_name': url_base,
                          'item': con, 
                          'requisites': RequisitesDB.get_full(con['requisites']), })
     self.render(tmpl('full'))
     
Exemplo n.º 9
0
class ContractorForm(Form):
    user = SelectField(u'Юзер',
                       choices=UserDB.get_for_select(),
                       validators=[REQ])
    requisites = SelectField(u'Реквизиты',
                             choices=RequisitesDB.get_for_select(),
                             validators=[REQ])
    email = StringField(u'Email')
    comment = TextAreaField(u'Комментарий')
Exemplo n.º 10
0
 def get(self):
     
     self.context.update({'title': u'Создание счёта',
                          'module_name': url_base,
                          'sender': RequisitesDB.get_one({'inn': '772160030650'}),
                          'recipient': RequisitesForm(),
                          'bill_content': BillContentForm(),
                          'bill_num': Counter.next_key('bill'),
                          'date': datetime.now(),
                          })
     self.render(tmpl('create'))
Exemplo n.º 11
0
 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']))
Exemplo n.º 12
0
    def get(self):

        self.context.update({
            'title':
            u'Создание счёта',
            'module_name':
            url_base,
            'sender':
            RequisitesDB.get_one({'inn': '772160030650'}),
            'recipient':
            RequisitesForm(),
            'bill_content':
            BillContentForm(),
            'bill_num':
            Counter.next_key('bill'),
            'date':
            datetime.now(),
        })
        self.render(tmpl('create'))
Exemplo n.º 13
0
def create_context_by_bill(bill):
    sender_req = RequisitesDB.get_by_id(UserDB.get_by_id(bill['user'])['requisites'])
    recipient_req = RequisitesDB.get_by_id(ContactorDB.get_by_id(bill['contractor'])['requisites'])
    items = ContentDB.get_by_id(bill['content'])['items']
    return create_context(sender_req, recipient_req, bill['number'], bill['date_created'], items)
Exemplo n.º 14
0
 def name(self):
     try:
         return RequisitesDB.get_one({'_id': self['requisites']}, ['name'])['name']
     except:
         logging.error(u'Ошибка с целостностью данных: нет реквизитов для user_id = %s' % self['_id'])
         return 'ERROR'
Exemplo n.º 15
0
 def test_r(self):
     for curr in UserDB.get_cursor(fields=["requisites"]):
         assert RequisitesDB.exists(curr["requisites"])
Exemplo n.º 16
0
 def test_r(self):
     for curr in UserDB.get_cursor(fields=['requisites']):
         assert RequisitesDB.exists(curr['requisites'])