Exemplo n.º 1
0
 def update_task(self, request, task_act_uuid, data):
     obj = TaskActivityDbio().get_taskactivity(task_act_uuid)
     TaskActivityDbio().update_obj(obj, {'state': data.get('state')})
     if obj.state == StatesStatus.COMPLETED:
         TaskDbio().update_task_state(obj.task, StatesStatus.COMPLETED)
     elif obj.state == StatesStatus.DECLINED:
         TaskDbio().update_task_state(obj.task, StatesStatus.NEW)
     return self.cur_user_tasks(request)
Exemplo n.º 2
0
 def accepted_by_other(self, request):
     cur_user = TaskActivityDbio.get_current_users()
     dvr_man = [
         user.profile for user in cur_user
         if user.profile.user_type == UserType.DELIVERY
     ]
     return TaskActivityDbio().filter_objects({
         'dvr_man__in': dvr_man,
         'state': StatesStatus.ACCEPTED
     }).exclude(dvr_man=request.user.profile)
Exemplo n.º 3
0
 def handle_task(self, request, task_uuid, accept):
     if request.user.profile.dvr_man.filter(
             state=StatesStatus.ACCEPTED).count() == MAX_LIMIT:
         return {'message': 'You accept limit of task is over'}
     obj = TaskDbio().get_task(task_uuid)
     data = {'task': obj, 'dvr_man': request.user.profile}
     if accept:
         return self.accept_task(obj, data)
     data['state'] = StatesStatus.DECLINED
     return TaskActivityDbio().create_obj(data)
Exemplo n.º 4
0
 def retreive_single_task(self, task_uuid):
     return (TaskDbio().get_task(task_uuid),
             TaskActivityDbio().various_state(task_uuid))
Exemplo n.º 5
0
 def cur_user_tasks(self, request):
     return TaskActivityDbio().filter_objects({
         'dvr_man':
         request.user.profile
     }).order_by('state')
Exemplo n.º 6
0
 def accept_task(self, obj, data):
     data['state'] = StatesStatus.ACCEPTED
     TaskActivityDbio().create_obj(data)
     return TaskDbio().update_obj(obj, {'state': StatesStatus.ACCEPTED})
Exemplo n.º 7
0
 def get(self, request, task_act_uuid):
     """
     view a previously task before complete/decline
     """
     obj = TaskActivityDbio().get_taskactivity(task_act_uuid)
     return render(request, DELIVERY_UPDATE, {'info': obj})