def upgrade(): # Devis op.add_column("estimation_line", sa.Column("tva", sa.Integer)) # Adding tva to the lines op.execute(""" update estimation_line as l join estimation as e on e.id=l.task_id set l.tva=e.tva; """) # Moving dicounts to a discount table for est in Estimation.query().all(): id_ = est.id op.execute(""" insert discount (description, amount, tva, task_id) select "Remise", discountHT, tva, id from estimation where estimation.id='%s' and estimation.discountHT!= 0 and estimation.discountHT is not null ; """% (id_)) # Factures op.add_column("invoice_line", sa.Column("tva", sa.Integer)) # Adding tva to the lines op.execute(""" update invoice_line as l join invoice as i on i.id=l.task_id set l.tva=i.tva; """) # Moving discounts to discount table for inv in Invoice.query().all(): id_ = inv.id op.execute(""" insert discount (description, amount, tva, task_id) select "Remise", discountHT, tva, id from invoice where invoice.id='%s' and invoice.discountHT!= 0 and invoice.discountHT is not null ; """% (id_)) # Avoirs add_column("cancelinvoice_line", sa.Column("tva", sa.Integer)) if column_exists("cancelinvoice", "tva"): # If the column exists, there may be some cancelinvoices op.execute(""" update cancelinvoice_line as l join cancelinvoice as i on i.id=l.task_id set l.tva=i.tva; """)
def manage(request): """ The manage view """ query = Estimation.query() query = query.join(Estimation.phase) query = query.filter( and_( Estimation.CAEStatus == 'wait', Phase.name is not None ) ) estimations = query.order_by(Task.statusDate).all() for item in estimations: item.url = request.route_path(item.type_, id=item.id) invoices = Task.query()\ .filter(Task.type_.in_(('invoice', 'cancelinvoice',)))\ .join(Task.phase)\ .filter(and_(Task.CAEStatus == 'wait', Phase.name is not None))\ .order_by(Task.type_).order_by(Task.statusDate).all() for item in invoices: item.url = request.route_path(item.type_, id=item.id) expenses = ExpenseSheet.query()\ .filter(ExpenseSheet.status == 'wait')\ .order_by(ExpenseSheet.month)\ .order_by(ExpenseSheet.status_date).all() for expense in expenses: expense.url = request.route_path("expensesheet", id=expense.id) user_id = request.user.id query = Activity.query() query = query.join(Activity.conseillers) query = query.filter( Activity.conseillers.any(User.id==user_id) ) query = query.filter(Activity.status=='planned') query = query.order_by(Activity.datetime).limit(10) activities = query.all() for activity in activities: activity.url = request.route_path("activity", id=activity.id) return dict(title=u"Documents en attente de validation", invoices=invoices, estimations=estimations, expenses = expenses, activities=activities)
def manage(request): """ The manage view """ query = Estimation.query() query = query.join(Estimation.phase) query = query.filter( and_(Estimation.CAEStatus == 'wait', Phase.name is not None)) estimations = query.order_by(Task.statusDate).all() for item in estimations: item.url = request.route_path(item.type_, id=item.id) invoices = Task.query()\ .filter(Task.type_.in_(('invoice', 'cancelinvoice',)))\ .join(Task.phase)\ .filter(and_(Task.CAEStatus == 'wait', Phase.name is not None))\ .order_by(Task.type_).order_by(Task.statusDate).all() for item in invoices: item.url = request.route_path(item.type_, id=item.id) expenses = ExpenseSheet.query()\ .filter(ExpenseSheet.status == 'wait')\ .order_by(ExpenseSheet.month).all() for expense in expenses: expense.url = request.route_path("expensesheet", id=expense.id) user_id = request.user.id query = Activity.query() query = query.join(Activity.conseillers) query = query.filter(Activity.conseillers.any(User.id == user_id)) query = query.filter(Activity.status == 'planned') query = query.order_by(Activity.datetime).limit(10) activities = query.all() for activity in activities: activity.url = request.route_path("activity", id=activity.id) return dict(title=u"Documents en attente de validation", invoices=invoices, estimations=estimations, expenses=expenses, activities=activities)
def query(self): query = Estimation.query().join(Task.project).join(Task.customer) company_id = self.request.context.id query = query.filter(Project.company_id==company_id) return query
def query(self): query = Estimation.query().join(Task.project).join(Task.customer) company_id = self.request.context.id query = query.filter(Project.company_id == company_id) return query