def last_closed_event(self): query = Activity.query().options( orm.load_only('action', 'datetime', 'id')) query = self.filter_participant(query, None) query = query.filter_by(status='closed') query = query.order_by(desc(Activity.datetime)) last = query.first() if last is not None: if not last.action.strip(): last = None return last
def activity(dbsession, activitytype): appstruct = { 'datetime': datetime.now(), 'type_id': activitytype, 'mode': 'par mail', 'name': 'test', } a = Activity(**appstruct) dbsession.add(a) dbsession.flush() return a
def new_activity(request, appstruct): """ Add a new activity in the database """ activity = Activity(status="planned") appstruct = handle_rel_in_appstruct(appstruct) merge_session_with_post(activity, appstruct) request.dbsession.add(activity) request.dbsession.flush() return activity
def last_closed_event(self): query = Activity.query().options( orm.load_only('action', 'datetime', 'id') ) query = self.filter_participant(query, None) query = query.filter_by(status='closed') query = query.order_by(desc(Activity.datetime)) last = query.first() if last is not None: if not last.action.strip(): last = None return last
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 test_user_status(): attendance = Attendance(account_id=1) attendance.status = 'registered' a = Activity() a.attendances = [attendance] assert a.user_status(1) == 'Attendu' assert a.user_status(2) == 'Statut inconnu' assert a.is_participant(1) assert not a.is_participant(2)
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 manage(request): """ The manage view """ estimations = Task.get_waiting_estimations().all() invoices = Task.get_waiting_invoices().all() for item in estimations: item.url = request.route_path(item.type_, id=item.id) 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 query(self): query = Activity.query() return query
def query(): return Activity.query().first()