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/models.py
341 341
                           services = None) \
342 342
              | models.Q(worker__isnull=True,
343 343
                           services__in = worker.services.all())
344
        return self.filter(filter_query)
344
        return self.filter(filter_query).distinct()
345 345

  
346 346
    def for_worker_id(self, worker_id):
347 347
        worker = None
......
405 405
            verbose_name=u'Type de congé')
406 406
    worker = models.ForeignKey(Worker, blank=True, null=True,
407 407
            verbose_name=u"Personnel")
408
    services = models.ManyToManyField(Service, null = True,
409
                                      blank = True, verbose_name = u'Services')
408
    services = models.ManyToManyField(Service, blank = True, verbose_name = u'Services')
410 409
    start_date = models.DateField(verbose_name=u"Date de début",
411 410
        help_text=u'format: jj/mm/aaaa')
412 411
    end_date = models.DateField(verbose_name=u"Date de fin",
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