Example #1
0
def single_present(request,user_id,year,month,day):
    users = User.objects.all()
    selected = User.objects.get(pk=user_id)
    user_days = Day.objects.filter_user(user_id)

    url_day = datetime.date(int(year),int(month),int(day))
    present_days = Day.objects.select_related().filter(leave_date = url_day)

    year_form = YearChangeForm({'year':request.session.get('year',2013)})
    year = int(request.session.get('year',2013))

    #check if logged useed already used that day, if no form will appear, otherwise warning will be shown
    user_day = user_days.filter(leave_date = url_day)
    if user_day:
        user_day = user_day[0]

    form = SinglePresentForm(instance=Day(user_id=selected.id,status_id=Status.objects.get(status="Obecny").id,leave_date=url_day))

    cal = MikranCalendar(user_days,year,selected.id)

    if request.method == 'POST': # If the form has been submitted...
        form = SinglePresentForm(request.POST, instance=Day(user_id=selected.id,status_id=Status.objects.get(status="Obecny").id,leave_date=url_day))
        if form.is_valid(): # All validation rules pass
            #display OK message for the user
            form.save()
            messages.add_message(request,messages.INFO, 'Ten dzień (%s) jest już zarezerwowany' %(url_day))
            return HttpResponseRedirect(reverse('leave.views.show_user',args=(selected.id,)))
        

    return render_to_response('present.html',{'users': users,
                                              'selected':selected,
                                              'user_days':user_days,
                                              'user_day':user_day,
                                              'days_present': user_days.filter_present().count(),
                                              'days_sick':user_days.filter_sick().count(),
                                              'days_planned':user_days.filter_planned().count(),
                                              'days_accepted':user_days.filter_accepted().count(),
                                              'selected':selected,
                                              'cal':mark_safe(cal.formatyear(year,4)),
                                              'year_form':year_form,
                                              'form':form, 
                                              'year':year, 
                                              'month':month, 
                                              'day':day, 
                                              'statuses':cal.group_days_by_statuses(present_days)
                                              },
                              context_instance=RequestContext(request))
Example #2
0
def show_present(request,year,month,day):
    users = User.objects.all()
    user_days = Day.objects.select_related()

    url_day = datetime.date(int(year),int(month),int(day))
    present_days = Day.objects.select_related().filter(leave_date = url_day)

    year_form = YearChangeForm({'year':request.session.get('year',2013)})
    year = int(request.session.get('year',2013))
    cal = MikranCalendar(user_days,year)

    return render_to_response('show_present.html',{'users': users,
                                                   'cal':mark_safe(cal.formatyear(year,4)),
                                                   'year_form':year_form,
                                                   'year':year, 
                                                   'month':month, 
                                                   'day':day, 
                                                   'statuses':cal.group_days_by_statuses(present_days)
                                                   },
                              context_instance=RequestContext(request))