Project

General

Profile

« Previous | Next » 

Revision 92ce8fbd

Added by Serghei Mihai over 11 years ago

personnes: fixing the multiple holidays when using 'for_worker' manager.
The Holiday's 'services' attribute can't be empty and is initiated on holiday creation

View differences:

calebasse/personnes/views.py
458 458

  
459 459
    def post(self, request, *args, **kwargs):
460 460
        worker, post = self.update_post_data(request)
461
        service = Service.objects.get(slug = kwargs['service'])
462
        post.update({'services': service.id})
461 463
        form = self.form_class(post)
462 464
        if form.is_valid():
463 465
            return self.form_valid(form)
......
478 480

  
479 481
    def post(self, request, *args, **kwargs):
480 482
        worker, post = self.update_post_data(request)
481
        obj = self.model.objects.for_worker(worker).get(pk = kwargs['pk'])
483
        obj = self.model.objects.get(pk = kwargs['pk'])
482 484
        form = self.form_class(post, instance = obj)
483 485
        if form.is_valid():
484 486
            return self.form_valid(form)
485 487
        else:
486 488
            return self.form_invalid(form)
487 489

  
488

  
489 490
edit_holiday = EditHolidayView.as_view()
490 491

  
491 492
class DeleteHolidayView(cbv.DeleteView):
......
496 497
        response = HttpResponse('', content_type = 'application/json')
497 498
        context = {'err': 0, 'message': ''}
498 499
        try:
499
            #worker = models.Worker.objects.get(pk = self.kwargs['worker_pk'])
500 500
            super(DeleteHolidayView, self).post(request, *args, **kwargs)
501
            #self.model.objects.for_worker(worker).get(pk = self.kwargs['pk']).delete()
502 501
        except Exception, e:
503 502
            context['message'] = '%s' % e.message
504 503
        response.content = json.dumps(context)
......
506 505

  
507 506
delete_holiday = DeleteHolidayView.as_view()
508 507

  
509
#user_delete = UserCreateView.as_view()
510

  

Also available in: Unified diff