Beispiel #1
0
def event_add(request):
    """Add a new event for the logged in user

    **Attributes**:

        * ``form`` - EventForm
        * ``template`` - appointment/event/change.html

    **Logic Description**:

        * Add new event belonging to the logged in user
          via EventForm & get redirected to the event list
    """
    form = EventForm(request.user, request.POST or None)
    # Add event
    if form.is_valid():
        form.save()
        request.session["msg"] = _('"%s" is added') % request.POST['title']
        return HttpResponseRedirect(redirect_url_to_event_list)
    data = {
        'form': form,
        'action': 'add',
    }
    return render_to_response('appointment/event/change.html',
                              data,
                              context_instance=RequestContext(request))
Beispiel #2
0
def event_change(request, object_id):
    """Update/Delete event for the logged in user

    **Attributes**:

        * ``object_id`` - Selected event object
        * ``form`` - EventForm
        * ``template`` - appointment/event/change.html

    **Logic Description**:

        * Update/delete selected event from the event list
          via EventForm & get redirected to the event list
    """
    event = get_object_or_404(Event, pk=object_id)
    form = EventForm(request.user, request.POST or None, instance=event)
    if form.is_valid():
        # Delete event
        if request.POST.get('delete'):
            event_del(request, object_id)
            return HttpResponseRedirect(redirect_url_to_event_list)
        else:
            # Update event
            form.save()
            request.session["msg"] = _(
                '"%s" is updated.') % request.POST['title']
            return HttpResponseRedirect(redirect_url_to_event_list)

    data = {
        'form': form,
        'action': 'update',
    }
    return render_to_response('appointment/event/change.html',
                              data,
                              context_instance=RequestContext(request))
Beispiel #3
0
def event_change(request, object_id):
    """Update/Delete event for the logged in user

    **Attributes**:

        * ``object_id`` - Selected event object
        * ``form`` - EventForm
        * ``template`` - appointment/event/change.html

    **Logic Description**:

        * Update/delete selected event from the event list
          via EventForm & get redirected to the event list
    """
    event = get_object_or_404(Event, pk=object_id)
    form = EventForm(request.user, request.POST or None, instance=event)
    if form.is_valid():
        # Delete event
        if request.POST.get("delete"):
            event_del(request, object_id)
            return HttpResponseRedirect(redirect_url_to_event_list)
        else:
            # Update event
            form.save()
            request.session["msg"] = _('"%s" is updated.') % request.POST["title"]
            return HttpResponseRedirect(redirect_url_to_event_list)

    data = {"form": form, "action": "update"}
    return render_to_response("appointment/event/change.html", data, context_instance=RequestContext(request))
Beispiel #4
0
def event_add(request):
    """Add a new event for the logged in user

    **Attributes**:

        * ``form`` - EventForm
        * ``template`` - frontend/appointment/event/change.html

    **Logic Description**:

        * Add new event belonging to the logged in user
          via EventForm & get redirected to the event list
    """
    form = EventForm(request.user)
    error_msg = False
    # Add event
    if request.method == 'POST':
        form = EventForm(request.user, request.POST)
        if form.is_valid():
            form.save()
            request.session["msg"] = _('"%s" is added.') % request.POST['title']
            return HttpResponseRedirect(redirect_url_to_event_list)

    template = 'frontend/appointment/event/change.html'
    data = {
        'form': form,
        'action': 'add',
        'error_msg': error_msg,
        'dialer_setting_msg': user_dialer_setting_msg(request.user),
    }
    return render_to_response(template, data,
                              context_instance=RequestContext(request))
Beispiel #5
0
def event_add(request):
    """Add a new event for the logged in user

    **Attributes**:

        * ``form`` - EventForm
        * ``template`` - appointment/event/change.html

    **Logic Description**:

        * Add new event belonging to the logged in user
          via EventForm & get redirected to the event list
    """
    form = EventForm(request.user, request.POST or None)
    # Add event
    if form.is_valid():
        form.save()
        request.session["msg"] = _('"%s" is added') % request.POST["title"]
        return HttpResponseRedirect(redirect_url_to_event_list)
    data = {"form": form, "action": "add"}
    return render_to_response("appointment/event/change.html", data, context_instance=RequestContext(request))
Beispiel #6
0
def event_change(request, object_id):
    """Update/Delete event for the logged in user

    **Attributes**:

        * ``object_id`` - Selected event object
        * ``form`` - EventForm
        * ``template`` - frontend/appointment/event/change.html

    **Logic Description**:

        * Update/delete selected event from the event list
          via EventForm & get redirected to the event list
    """
    event = get_object_or_404(Event, pk=object_id)

    form = EventForm(request.user, instance=event)
    if request.method == 'POST':
        # Delete event
        if request.POST.get('delete'):
            event_del(request, object_id)
            return HttpResponseRedirect(redirect_url_to_event_list)
        else:
            # Update event
            form = EventForm(request.user, request.POST, instance=event)
            if form.is_valid():
                form.save()
                request.session["msg"] = _('"%s" is updated.') % request.POST['title']
                return HttpResponseRedirect(redirect_url_to_event_list)

    template = 'frontend/appointment/event/change.html'
    data = {
        'form': form,
        'action': 'update',
        'dialer_setting_msg': user_dialer_setting_msg(request.user),
    }
    return render_to_response(template, data,
                              context_instance=RequestContext(request))
Beispiel #7
0
def index(request):
    request.session['dash'] = 1
    request.session['emr'] = None
    request.session['profile'] = None
    request.session['messages'] = None

    request.session['name'] = None
    request.session['date'] = None
    request.session['start_time'] = None
    request.session['patient'] = None
    request.session['doctor'] = None
    new_event_form = EventForm()
    now = datetime.date.today()
    year = now.year
    month = now.month
    cal = calendar.Calendar(calendar.SUNDAY)
    month_days = cal.monthdatescalendar(year, month)

    events = []
    times = [datetime.time(9, 00),
             datetime.time(9, 30),
             datetime.time(10, 00),
             datetime.time(10, 30),
             datetime.time(11, 00),
             datetime.time(11, 30),
             datetime.time(12, 00),
             datetime.time(12, 30),
             datetime.time(13, 00),
             datetime.time(13, 30),
             datetime.time(14, 00),
             datetime.time(14, 30),
             datetime.time(15, 00),
             datetime.time(15, 30),
             datetime.time(16, 00),
             datetime.time(16, 30),
             datetime.time(17, 00)]
    if request.method == 'GET':
        for week in month_days:
            if now in week:
                weekly_events = []
                for day in week:
                    weekly_events.append((day, []))
                events.append(weekly_events)
        args = {'events': events, 'month': month, 'year': year, 'date': now, 'month_days': month_days}
        args.update(csrf(request))
        args['new_event_form'] = new_event_form
        args['calendar_view'] = 'Weekly'
        args['doctors'] = request.user.nurse.doctor_set.all()
        patients = []
        for doctor in request.user.nurse.doctor_set.all():
            for patient in doctor.patient_set.all():
                if patient.hospital == request.user.nurse.hospital:
                    patients.append(patient)
        args['patients'] = patients
        args['times'] = times
        return render(request, 'nurse_homepage/nurse_homepage.html', args)
    elif request.method == 'POST':
        if not request.POST['calendar_view']:
            calendar_view = 'Weekly'
        else:
            calendar_view = request.POST['calendar_view']

        if request.POST['dob_month']:
            month = int(request.POST['dob_month'])
        if request.POST['dob_year']:
            year = int(request.POST['dob_year'])
        if request.POST['dob_day']:
            day = int(request.POST['dob_day'])
            chosen_day = day
        else:
            chosen_day = now.day

        try:
            chosen_day = datetime.date(year, month, chosen_day)
        except ValueError:
            for week in month_days:
                if now in week:
                    weekly_events = []
                    for day in week:
                        weekly_events.append((day, []))
                    events.append(weekly_events)
            args = {'events': events, 'month': month, 'year': year, 'date': now, 'month_days': month_days}
            args.update(csrf(request))
            args['new_event_form'] = new_event_form
            args['calendar_view'] = 'Weekly'
            args['doctors'] = request.user.nurse.doctor_set.all()
            patients = []
            for doctor in request.user.nurse.doctor_set.all():
                for patient in doctor.patient_set.all():
                    if patient.hospital == request.user.nurse.hospital:
                        patients.append(patient)
            args['patients'] = patients
            args['times'] = times
            return render(request, 'nurse_homepage/nurse_homepage.html', args)

        month_days = cal.monthdatescalendar(year, month)

        chosen_doctor = None
        chosen_patient = None
        if request.POST['chosen_doctor']:
            chosen_doctor = Doctor.objects.get(pk=request.POST['chosen_doctor'])
        if request.POST['chosen_patient']:
            chosen_patient = Patient.objects.get(pk=request.POST['chosen_patient'])

        if (not chosen_doctor and not chosen_patient) or (chosen_doctor and chosen_patient):
            if calendar_view == 'Monthly':
                for week in month_days:
                    weekly_events = []
                    for day in week:
                        weekly_events.append((day, []))
                    events.append(weekly_events)
            elif calendar_view == 'Weekly':
                for week in month_days:
                    if chosen_day in week:
                        weekly_events = []
                        for day in week:
                            weekly_events.append((day, []))
                        events.append(weekly_events)
            elif calendar_view == 'Daily':
                for week in month_days:
                    weekly_events = []
                    for day in week:
                        if chosen_day == day:
                            weekly_events.append((day, []))
                    events.append(weekly_events)

        if chosen_doctor and not chosen_patient:
            if calendar_view == 'Monthly':
                for week in month_days:
                    weekly_events = []
                    for day in week:
                        events_for_one_day = []
                        events_for_doctor = Event.objects.filter(doctor=chosen_doctor, date=day).order_by('start_time')
                        for event in events_for_doctor:
                            if event.patient:
                                # if event.patient.hospital == request.user.nurse.hospital:
                                    events_for_one_day.append(event)
                        weekly_events.append((day, events_for_one_day))
                    events.append(weekly_events)
            elif calendar_view == 'Weekly':
                for week in month_days:
                    if chosen_day in week:
                        weekly_events = []
                        for day in week:
                            events_for_one_day = []
                            events_for_doctor = Event.objects.filter(doctor=chosen_doctor, date=day).order_by('start_time')
                            for event in events_for_doctor:
                                if event.patient:
                                    # if event.patient.hospital == request.user.nurse.hospital:
                                        events_for_one_day.append(event)
                            weekly_events.append((day, events_for_one_day))
                        events.append(weekly_events)
            elif calendar_view == 'Daily':
                for week in month_days:
                    weekly_events = []
                    for day in week:
                        if day == chosen_day:
                            events_for_one_day = []
                            events_for_doctor = Event.objects.filter(doctor=chosen_doctor, date=day).order_by('start_time')
                            for event in events_for_doctor:
                                if event.patient:
                                    # if event.patient.hospital == request.user.nurse.hospital:
                                        events_for_one_day.append(event)
                            weekly_events.append((day, events_for_one_day))
                    events.append(weekly_events)

        if chosen_patient and not chosen_doctor:
            if calendar_view == 'Monthly':
                for week in month_days:
                    week_events = [
                        (day, Event.objects.filter(patient=chosen_patient, date=day).order_by('start_time')) for
                        day in week]
                    events.append(week_events)
            elif calendar_view == 'Weekly':
                for week in month_days:
                    if chosen_day in week:
                        week_events = [
                            (day, Event.objects.filter(patient=chosen_patient, date=day).order_by('start_time'))
                            for day in week]
                        events.append(week_events)
            elif calendar_view == 'Daily':
                for week in month_days:
                    for day in week:
                        if day == chosen_day:
                            week_events = [(day, Event.objects.filter(patient=chosen_patient, date=day).order_by(
                                'start_time'))]
                            events.append(week_events)

        args = {'events': events, 'month': month, 'year': year, 'date': chosen_day, 'month_days': month_days}
        args.update(csrf(request))
        args['new_event_form'] = new_event_form
        args['calendar_view'] = calendar_view
        args['doctors'] = request.user.nurse.doctor_set.all()
        patients = []
        for doctor in request.user.nurse.doctor_set.all():
            for patient in doctor.patient_set.all():
                if patient.hospital == request.user.nurse.hospital:
                    patients.append(patient)
        args['patients'] = patients
        args['times'] = times
        if chosen_patient and not chosen_doctor:
            args['chosen_patient'] = chosen_patient
            if calendar_view == 'Daily':
                doctor_events = Event.objects.filter(doctor=chosen_patient.doctor, date=chosen_day).exclude(
                    patient=chosen_patient)
                args['doctor_events'] = doctor_events
        if chosen_doctor and not chosen_patient:
            args['chosen_doctor'] = chosen_doctor
            if calendar_view == 'Daily':
                doctor_events = Event.objects.filter(patient=None, date=chosen_day)
                args['doctor_events'] = doctor_events
        return render(request, 'nurse_homepage/nurse_homepage.html', args)
    return render(request, 'nurse_homepage/nurse_homepage.html')
Beispiel #8
0
def index(request):
    request.session['dash'] = 1
    request.session['emr'] = None
    request.session['profile'] = None
    request.session['messages'] = None

    request.session['name'] = None
    request.session['date'] = None
    request.session['start_time'] = None
    request.session['patient'] = None
    request.session['doctor'] = None

    new_event_form = EventForm()
    now = datetime.date.today()
    year = now.year
    month = now.month
    cal = calendar.Calendar(calendar.SUNDAY)
    month_days = cal.monthdatescalendar(year, month)

    events = []
    times = [
        datetime.time(9, 00),
        datetime.time(9, 30),
        datetime.time(10, 00),
        datetime.time(10, 30),
        datetime.time(11, 00),
        datetime.time(11, 30),
        datetime.time(12, 00),
        datetime.time(12, 30),
        datetime.time(13, 00),
        datetime.time(13, 30),
        datetime.time(14, 00),
        datetime.time(14, 30),
        datetime.time(15, 00),
        datetime.time(15, 30),
        datetime.time(16, 00),
        datetime.time(16, 30),
        datetime.time(17, 00)
    ]
    if request.method == 'GET':
        for week in month_days:
            for day in week:
                if day == now:
                    day_events = [
                        (day,
                         Event.objects.filter(doctor=request.user.doctor,
                                              date=now).order_by('start_time'))
                    ]
                    events.append(day_events)
        args = {
            'events': events,
            'month': month,
            'year': year,
            'date': now,
            'month_days': month_days
        }
        args.update(csrf(request))
        args['new_event_form'] = new_event_form
        args['calendar_view'] = 'Daily'
        args['times'] = times
        return render(request, 'doctor_homepage/doctor_homepage.html', args)
    elif request.method == 'POST':
        if request.POST['dob_month']:
            month = int(request.POST['dob_month'])
        if request.POST['dob_year']:
            year = int(request.POST['dob_year'])
        if request.POST['dob_day']:
            day = int(request.POST['dob_day'])
            chosen_day = day
        else:
            chosen_day = now.day
        try:
            chosen_day = datetime.date(year, month, chosen_day)
        except ValueError:
            for week in month_days:
                for day in week:
                    if day == now:
                        day_events = [(day,
                                       Event.objects.filter(
                                           doctor=request.user.doctor,
                                           date=now).order_by('start_time'))]
                        events.append(day_events)
            args = {
                'events': events,
                'month': now.month,
                'year': now.year,
                'date': now,
                'month_days': month_days
            }
            args.update(csrf(request))
            args['new_event_form'] = new_event_form
            args['calendar_view'] = 'Daily'
            args['times'] = times
            return render(request, 'doctor_homepage/doctor_homepage.html',
                          args)

        month_days = cal.monthdatescalendar(year, month)

        if not request.POST['calendar_view']:
            calendar_view = 'Daily'
        else:
            calendar_view = request.POST['calendar_view']

        if calendar_view == 'Monthly':
            for week in month_days:
                week_events = [
                    (day,
                     Event.objects.filter(doctor=request.user.doctor,
                                          date=day).order_by('start_time'))
                    for day in week
                ]
                events.append(week_events)
        elif calendar_view == 'Weekly':
            for week in month_days:
                if chosen_day in week:
                    week_events = [
                        (day,
                         Event.objects.filter(doctor=request.user.doctor,
                                              date=day).order_by('start_time'))
                        for day in week
                    ]
                    events.append(week_events)
        elif calendar_view == 'Daily':
            for week in month_days:
                for day in week:
                    if day == chosen_day:
                        day_events = [(day,
                                       Event.objects.filter(
                                           doctor=request.user.doctor,
                                           date=day).order_by('start_time'))]
                        events.append(day_events)

        args = {
            'events': events,
            'month': month,
            'year': year,
            'date': chosen_day,
            'month_days': month_days
        }
        args.update(csrf(request))
        args['new_event_form'] = new_event_form
        args['calendar_view'] = calendar_view
        args['times'] = times
        return render(request, 'doctor_homepage/doctor_homepage.html', args)
    return render(request, 'doctor_homepage/doctor_homepage.html')