def burning_data(self): burnings = Burning.query.filter( Burning.team == self, Burning.day >= utils.get_current_monday(), Burning.day < utils.get_next_monday()) today_remaining = Task.query.session.query(func.sum(Task.price).label('remaining')).filter( or_(Task.status == 'READY', Task.status == 'PROGRESS'), Task.team == self).one().remaining or 0 today_burning = Task.query.session.query(func.sum(Task.price).label( 'burning')).filter(Task.status == 'DONE', Task.last_updated > utils.today(), Task.team == self).one().burning or 0 return json.dumps([[b.remaining for b in burnings] + [today_remaining], [b.burning for b in burnings] + [today_burning]])
def burning_data(self): burnings = Burning.query.filter( Burning.team == self, Burning.day >= utils.get_current_monday(), Burning.day < utils.get_next_monday()) today_remaining = Task.query.session.query( func.sum(Task.price).label('remaining')).filter( or_(Task.status == 'READY', Task.status == 'PROGRESS'), Task.team == self).one().remaining or 0 today_burning = Task.query.session.query( func.sum(Task.price).label('burning')).filter( Task.status == 'DONE', Task.last_updated > utils.today(), Task.team == self).one().burning or 0 return json.dumps([[b.remaining for b in burnings] + [today_remaining], [b.burning for b in burnings] + [today_burning]])
def zeroing(): begin = utils.now().replace(hour=0, minute=0, second=0, microsecond=0) tasks = Task.query.filter(Task.start_time > utils.get_current_monday(), Task.start_time < utils.now()) burnings = {} for task in tasks: if task.status == 'PROGRESS': task.status = 'READY' end_time = utils.now() if end_time.hour > 18: end_time = end_time.replace(hour=18, minute=0, second=0) task.time_slots.append(TimeSlot(task.start_time, (end_time - task.start_time).total_seconds(), task.owner, partner=task.partner)) task.owner = None task.partner = None burning = burnings.setdefault(task.team.id, Burning(task.team, begin)) burning.add(task) for key, item in burnings.iteritems(): db.session.add(item) db.session.commit()
def load_tasks(status): team_conditions = [Task.team is None] team_id = int(request.args.get('team_id', '0')) if team_id > 0: team_conditions.append(Task.team == Team.query.get_or_404(team_id)) else: for team in current_user.teams: team_conditions.append(Task.team == team) if status == 'DONE': return jsonify(objects=[ t.toJSON() for t in Task.query.filter( Task.start_time > utils.get_current_monday(), Task.status == status, or_(*team_conditions)) ]) # return render_template('task_card.html', # tasks=Task.query.filter(Task.start_time > utils.get_current_monday(), # Task.status == status, or_(*team_conditions)), user=current_user) return jsonify(objects=[ t.toJSON() for t in Task.query.filter(Task.status == status, or_( *team_conditions)).order_by(desc(Task.priority)) ])
def zeroing(): begin = utils.now().replace(hour=0, minute=0, second=0, microsecond=0) tasks = Task.query.filter(Task.start_time > utils.get_current_monday(), Task.start_time < utils.now()) burnings = {} for task in tasks: if task.status == 'PROGRESS': task.status = 'READY' end_time = utils.now() if end_time.hour > 18: end_time = end_time.replace(hour=18, minute=0, second=0) task.time_slots.append( TimeSlot(task.start_time, (end_time - task.start_time).total_seconds(), task.owner, partner=task.partner)) task.owner = None task.partner = None burning = burnings.setdefault(task.team.id, Burning(task.team, begin)) burning.add(task) for key, item in burnings.iteritems(): db.session.add(item) db.session.commit()
def load_tasks(status): team_conditions = [Task.team is None] team_id = int(request.args.get('team_id', '0')) if team_id > 0: team_conditions.append(Task.team == Team.query.get_or_404(team_id)) else: for team in current_user.teams: team_conditions.append(Task.team == team) if status == 'DONE': return jsonify(objects=[t.toJSON() for t in Task.query.filter(Task.start_time > utils.get_current_monday(), Task.status == status, or_(*team_conditions))]) # return render_template('task_card.html', # tasks=Task.query.filter(Task.start_time > utils.get_current_monday(), # Task.status == status, or_(*team_conditions)), user=current_user) return jsonify(objects=[t.toJSON() for t in Task.query.filter(Task.status == status, or_(*team_conditions)).order_by(desc(Task.priority))])