Exemple #1
0
def start(request):

    # admin do not have profile
    try:
        profile = request.user.get_profile()
    except:
        return HttpResponseRedirect(ADMIN_URL)

    date = datetime.now()

    # current month
    month = (datetime.now().month) # integer
    month_string = datetime.now().strftime("%B").capitalize # string
    month_list = ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro']
    active = True

    if request.POST:
        month = int(request.POST.get('month_filter')) # integer
        month_string  = month_list[int(month)-1]
        active_filter = int(request.POST.get('active_filter')) # integer
        active = True if active_filter == 1 else False

    """ user's client home page """
    if request.user.get_profile().person.is_client():
        object = Client.objects.get(pk=request.user.get_profile().person.client.id)
        return render_to_response('frontend/frontend_client_start.html', locals(), context_instance=RequestContext(request))
    
    """ user's professional and student home page """
    if request.user.get_profile().person.is_careprofessional() or request.user.get_profile().person.is_student():
        object = CareProfessional.objects.get(pk=request.user.get_profile().person.careprofessional.id)
        events = schedule_occurrences(request, datetime.now().strftime('%Y'), datetime.now().strftime('%m'), datetime.now().strftime('%d')).filter(event__referral__professional=object)
        referrals = object.referral_set.filter(status='01').order_by('-date')[:10]
        queues = Queue.objects.filter(referral__professional=object, date_out=None).order_by('priority','date_in')
        birthdate_list = birthdate_filter(request,'careprofessional',month,object,active)
        return render_to_response('frontend/frontend_careprofessional_start.html', locals(), context_instance=RequestContext(request))
    
    """ user's employee home page """
    if request.user.get_profile().person.is_employee():
        """
            events of all careprofessional
            birth date of all persons
        """
        birthdate_list = birthdate_filter(request,'secretary',month,active)
        events = schedule_occurrences(request,\
                datetime.now().strftime('%Y'),\
                datetime.now().strftime('%m'),\
                datetime.now().strftime('%d')).filter(event__referral__professional__person__organization=request.user.get_profile().org_active )
        return render_to_response('frontend/frontend_secretary.html', locals(), context_instance=RequestContext(request))

    raise Http404
Exemple #2
0
def start(request):
    profile = request.user.get_profile()
    date = datetime.now()

    #code for testing the charging system
    #from gestorpsi.async_tasks.tasks import check_and_charge
    #check_and_charge()

    """ user's client home page """
    if request.user.get_profile().person.is_client():
        object = Client.objects.get(pk=request.user.get_profile().person.client.id)
        return render_to_response('frontend/frontend_client_start.html', locals(), context_instance=RequestContext(request))
    
    """ user's professional and student home page """
    if request.user.get_profile().person.is_careprofessional() or request.user.get_profile().person.is_student():
        object = CareProfessional.objects.get(pk=request.user.get_profile().person.careprofessional.id)
        events = schedule_occurrences(request, datetime.now().strftime('%Y'), datetime.now().strftime('%m'), datetime.now().strftime('%d')).filter(event__referral__professional=object)
        referrals = object.referral_set.filter(status='01').order_by('-date')[:10]
        queues = Queue.objects.filter(referral__professional=object, date_out=None).order_by('priority','date_in')
        return render_to_response('frontend/frontend_careprofessional_start.html', locals(), context_instance=RequestContext(request))
    
    """ user's employee home page """
    if request.user.get_profile().person.is_employee():
        """ items to be added in secretary home page:
            - today event list
            - referrals (complete information)
            - queue """
        return HttpResponseRedirect('/schedule/events/')

    raise Http404
Exemple #3
0
def start(request, month=False):

    # admin do not have profile
    try:
        profile = request.user.get_profile()
    except:
        return HttpResponseRedirect(ADMIN_URL)

    date = datetime.now()

    # current month
    month_string = datetime.now().strftime("%B")
    month_list = ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro']

    if month:
        month_string = month_list[int(month)-1]

    birthdate_list = [] 
    # birthDate of month, order by day
    for d in range(1,32):
        for p in Person.objects.filter(active=True, birthDate__month=month, birthDate__day=d ).order_by('name'):
            if not p in birthdate_list:
                birthdate_list.append(p)

    #code for testing the charging system
    #from gestorpsi.async_tasks.tasks import check_and_charge
    #check_and_charge()

    """ user's client home page """
    if request.user.get_profile().person.is_client():
        object = Client.objects.get(pk=request.user.get_profile().person.client.id)
        return render_to_response('frontend/frontend_client_start.html', locals(), context_instance=RequestContext(request))
    
    """ user's professional and student home page """
    if request.user.get_profile().person.is_careprofessional() or request.user.get_profile().person.is_student():
        object = CareProfessional.objects.get(pk=request.user.get_profile().person.careprofessional.id)
        events = schedule_occurrences(request, datetime.now().strftime('%Y'), datetime.now().strftime('%m'), datetime.now().strftime('%d')).filter(event__referral__professional=object)
        referrals = object.referral_set.filter(status='01').order_by('-date')[:10]
        queues = Queue.objects.filter(referral__professional=object, date_out=None).order_by('priority','date_in')
        return render_to_response('frontend/frontend_careprofessional_start.html', locals(), context_instance=RequestContext(request))
    
    """ user's employee home page """
    if request.user.get_profile().person.is_employee():
        """ items to be added in secretary home page:
            - today event list
            - referrals (complete information)
            - queue """
        return HttpResponseRedirect('/schedule/events/')

    raise Http404
Exemple #4
0
def start(request):
    profile = request.user.get_profile()
    date = datetime.now()

    #code for testing the charging system
    #from gestorpsi.async_tasks.tasks import check_and_charge
    #check_and_charge()
    """ user's client home page """
    if request.user.get_profile().person.is_client():
        object = Client.objects.get(
            pk=request.user.get_profile().person.client.id)
        return render_to_response('frontend/frontend_client_start.html',
                                  locals(),
                                  context_instance=RequestContext(request))
    """ user's professional and student home page """
    if request.user.get_profile().person.is_careprofessional(
    ) or request.user.get_profile().person.is_student():
        object = CareProfessional.objects.get(
            pk=request.user.get_profile().person.careprofessional.id)
        events = schedule_occurrences(request,
                                      datetime.now().strftime('%Y'),
                                      datetime.now().strftime('%m'),
                                      datetime.now().strftime('%d')).filter(
                                          event__referral__professional=object)
        referrals = object.referral_set.filter(
            status='01').order_by('-date')[:10]
        queues = Queue.objects.filter(referral__professional=object,
                                      date_out=None).order_by(
                                          'priority', 'date_in')
        return render_to_response(
            'frontend/frontend_careprofessional_start.html',
            locals(),
            context_instance=RequestContext(request))
    """ user's employee home page """
    if request.user.get_profile().person.is_employee():
        """ items to be added in secretary home page:
            - today event list
            - referrals (complete information)
            - queue """
        return HttpResponseRedirect('/schedule/events/')

    raise Http404
Exemple #5
0
def start(request):
    tab_index_class = 'active'  # tab settings active

    # admin do not have profile
    try:
        profile = request.user.get_profile()
    except:
        return HttpResponseRedirect(ADMIN_URL)

    # no frontendProfile
    if not FrontendProfile.objects.filter(user=request.user):
        return HttpResponseRedirect('/frontend/settings/')

    date = datetime.now()
    td = date.today()
    # last day of current month
    last_day_month = calendar.monthrange(td.year, td.month)[1]
    current_month = (td.day - last_day_month) + td.day
    last3months = (td - relativedelta(months=3)).strftime("%d-%m-%Y")
    last6months = (td - relativedelta(months=6)).strftime("%d-%m-%Y")

    # list
    list_subscribe = False
    list_queue = False
    list_birthdate = False
    list_schedule = False
    list_student = False
    list_service = False
    list_referral = False

    # current month
    month = (datetime.now().month)  # integer
    month_string = datetime.now().strftime("%B").capitalize  # string
    month_list = [
        'Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho',
        'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'
    ]
    active = True

    if request.POST:
        month = int(request.POST.get('month_filter'))  # integer
        month_string = month_list[int(month) - 1]
        active_filter = int(request.POST.get('active_filter'))  # integer
        active = True if active_filter == 1 else False
    """ user's client home page """
    if request.user.get_profile().person.is_client():
        object = Client.objects.get(
            pk=request.user.get_profile().person.client.id)
        return render_to_response('frontend/frontend_client_start.html',
                                  locals(),
                                  context_instance=RequestContext(request))
    """ user's professional and student home page """
    if request.user.get_profile().person.is_careprofessional(
    ) or request.user.get_profile().person.is_student():
        object = CareProfessional.objects.get(
            pk=request.user.get_profile().person.careprofessional.id)

        if request.user.frontendprofile.schedule > 0:
            list_schedule = schedule_occurrences(
                request,
                datetime.now().strftime('%Y'),
                datetime.now().strftime('%m'),
                datetime.now().strftime('%d')).filter(
                    event__referral__professional=object
                )[:request.user.frontendprofile.schedule]

        if request.user.frontendprofile.referral > 0:
            if request.user.frontendprofile.referral_sort == 1:
                list_referral = object.referral_set.filter(
                    status='01').order_by(
                        'client__person__name')[:request.user.frontendprofile.
                                                referral]
            if request.user.frontendprofile.referral_sort == 2:
                list_referral = object.referral_set.filter(
                    status='01').order_by(
                        '-date')[:request.user.frontendprofile.referral]

        if request.user.frontendprofile.queue > 0:
            if request.user.frontendprofile.queue_sort == 1:
                list_queue = Queue.objects.filter(
                    referral__professional=object, date_out=None).order_by(
                        '-date_in')[:request.user.frontendprofile.queue]
            if request.user.frontendprofile.queue_sort == 2:
                list_queue = Queue.objects.filter(
                    referral__professional=object, date_out=None).order_by(
                        'date_in')[:request.user.frontendprofile.queue]

        if request.user.frontendprofile.birthdate_client > 0:
            list_birthdate = birthdate_filter(request, 'careprofessional',
                                              month, object, active,
                                              'increase')

        if request.user.frontendprofile.student > 0:
            list_student = []

            for srv in Service.objects.filter(
                    active=True,
                    responsibles=request.user.profile.person.careprofessional,
                    organization=request.user.get_profile().org_active):
                for st in srv.professionals.filter(
                        studentprofile__isnull=False, active=True):
                    tmp = []

                    # all services where responsible is request user.
                    for ss in st.prof_services.filter(
                            active=True,
                            responsibles=request.user.profile.person.
                            careprofessional):
                        if not ss in tmp:
                            tmp.append(ss)

                    # avoid duplicate student
                    if not [st.person.name, st.id, tmp] in list_student:
                        list_student.append([st.person.name, st.id, tmp])

            # limit
            from operator import itemgetter
            list_student = sorted(list_student,
                                  key=itemgetter(0),
                                  reverse=False)
            list_student = list_student[:request.user.frontendprofile.student]
    """ user's employee home page """
    if request.user.get_profile().person.is_employee():
        """
            events of all careprofessional
            birth date of all persons
        """
        list_birthdate = birthdate_filter(request, 'secretary', month, active,
                                          'increase')
        list_schedule = schedule_occurrences(request,\
                datetime.now().strftime('%Y'),\
                datetime.now().strftime('%m'),\
                datetime.now().strftime('%d')).filter(event__referral__professional__person__organization=request.user.get_profile().org_active)

    return render_to_response('frontend/frontend_index.html',
                              locals(),
                              context_instance=RequestContext(request))