コード例 #1
0
ファイル: rpc.py プロジェクト: jaxvy/Errandr_openshift
def list_events(request):
    user = request.user
    search_keywords = request.GET.get('search_keywords', None)
    tags = request.GET.get('tags', None)
    start_date = convert_string_to_datetime(request.GET.get('start_date', None))
    future_query = convert_string_to_boolean(request.GET.get('future_query', None))
    pagination_count = request.GET.get('pagination_count', None)
    state = request.GET.get('state', None)

    events_info = get_events_info(user, search_keywords, tags,
                                  start_date, future_query, pagination_count, state)

    response = {
        'success': True,
        'event_instance_list': events_info['event_instance_list'],
        'schedule_skeleton_map': events_info['schedule_skeletons_dict'],
        'total_event_count': events_info['total_event_count'],
        'future_event_count': events_info['future_event_count'],
        'request': {
            'tag_list': tags.split(",") if tags else None,
            'search_keywords': search_keywords,
            'future_query': future_query,
            'state': state,
        },
    }
    return render_json(response)
コード例 #2
0
ファイル: rpc.py プロジェクト: jaxvy/Errandr_openshift
def update_event(request):
    update_type = request.POST.get('update_type', None)
    event_instance_id = request.POST.get('event_instance_id', None)
    schedule_skeleton_id = request.POST.get('schedule_skeleton_id', None)

    new_time_start = convert_string_to_datetime(request.POST.get('time_start', None))
    new_time_end = convert_string_to_datetime(request.POST.get('time_end', None))
    new_is_all_day = convert_string_to_boolean(request.POST.get('is_all_day', False))
    new_is_recurring = convert_string_to_boolean(request.POST.get('is_recurring', False))
    new_interval_type = request.POST.get('interval_type', '')
    new_interval_end_date = convert_string_to_datetime(request.POST.get('interval_end_date', None))
    new_title = request.POST.get('title', None)
    new_description = request.POST.get('description', None)
    new_tag = request.POST.get('tag', None)

    if event_instance_id:
        if update_type == "update_single_event_instance":
            if update_single_event_instance(event_instance_id, new_title, new_description, new_tag,
                                            new_time_start, new_time_end, new_is_all_day):
                response = {'success': True}
            else:
                response = {'success': False,
                            'errors': ['Event update failed.']}
        elif update_type == "update_all_event_instances":
            if update_all_events(event_instance_id, schedule_skeleton_id, new_title, new_description, new_tag,
                                 new_time_start, new_time_end, new_is_all_day,
                                 new_is_recurring, new_interval_type, new_interval_end_date):
                response = {'success': True}
            else:
                response = {'success': False,
                            'errors': ['Event update failed.']}
        else:
            response = {'success': False,
                        'errors': ['Must provide update_type']}
    else:
        response = {'success': False,
                    'errors': ['Must provide event_instance_id']}

    return render_json(response)
コード例 #3
0
ファイル: rpc.py プロジェクト: jaxvy/Errandr_openshift
def create_event(request):
    time_start = convert_string_to_datetime(request.POST.get('time_start', None))
    time_end = convert_string_to_datetime(request.POST.get('time_end', None))
    is_all_day = convert_string_to_boolean(request.POST.get('is_all_day', False))
    is_recurring = convert_string_to_boolean(request.POST.get('is_recurring', False))
    interval_type = request.POST.get('interval_type', '')
    interval_end_date = convert_string_to_datetime(request.POST.get('interval_end_date', None))
    title = request.POST.get('title', None)
    description = request.POST.get('description', None)
    tag = request.POST.get('tag', None)

    if time_start:
        user = request.user
        schedule_skeleton = create_schedule_skeleton(user, time_start, time_end, is_all_day,
                                                     is_recurring, interval_type, interval_end_date)
        create_event_instances(schedule_skeleton, title, description, tag)

        response = {'success': True}
    else:
        response = {'success': False,
                    'errors': ['Event start time is not provided']}
    return render_json(response)