def save_schedule(request):
    # todo: check if the session is still valid
    save_name = request.GET['SaveName']
    # Save the nurse schedules
    nurse_group = NurseScheduleGroups(Name=generate_key(20), UserCreated=False, Chairs=UserSettings.get("MaxChairs"))
    nurse_group.save()
    for wrapper in serializers.deserialize('json', request.session.get('nurseSchedules')):
        wrapper.object.ScheduleGroupName = nurse_group
        wrapper.object.save()
    # Save the schedule object that links nurses and appointments
    schedule = SavedSchedule(Name=save_name, NurseSchedule=nurse_group)
    schedule.save()
    # Save the appointments
    for wrapper in serializers.deserialize('json', request.session.get('appointments')):
        wrapper.object.SavedSchedule = schedule
        wrapper.object.save()
    return HttpResponse('The schedule ' + save_name + ' has been saved', content_type="application/json")
def add_to_schedule_group(request):
    r = request.GET
    group_name = r['ScheduleGroupName']
    try:  # check if the name has already been used
        group_object = NurseScheduleGroups.objects.get(Name=group_name, UserCreated=True)
    except (KeyError, NurseScheduleGroups.DoesNotExist):
        # if the name has already been used add the nurse to the group
        group_object = NurseScheduleGroups(Name=group_name, UserCreated=True, Chairs=UserSettings.get("MaxChairs"))
        group_object.save()
    rn = NurseSchedule(
        Team=r['Team'],
        ScheduleGroupName=group_object,
        StartTime=r['StartTime'],
        LunchTime=r['LunchTime'],
        LunchDuration=r['LunchDuration'],
        EndTime=r['EndTime']
    )
    rn.save()
    return HttpResponse('The rn schedule ' + group_name + 'has been saved', content_type="application/json")