def event_list(request): """Event list for the logged in user **Attributes**: * ``template`` - appointment/event/list.html **Logic Description**: * List all events which belong to the logged in user. """ today = datetime.utcnow().replace(tzinfo=utc) form = EventSearchForm(request.user, request.POST or None, initial={'start': today.strftime('%Y-%m-%d %H:%M')}) sort_col_field_list = [ 'id', 'start', 'end', 'title', 'calendar', 'status', 'created_on' ] pag_vars = get_pagination_vars(request, sort_col_field_list, default_sort_field='id') start_date = '' calendar_id = '' calendar_user_id = '' post_var_with_page = 0 if form.is_valid(): field_list = ['start_date', 'calendar_id', 'calendar_user_id'] unset_session_var(request, field_list) start_date = getvar(request, 'start_date') start_date = ceil_strdate(str(start_date), 'start') converted_start_date = start_date.strftime('%Y-%m-%d') request.session['session_start_date'] = converted_start_date calendar_id = getvar(request, 'calendar_id', setsession=True) calendar_user_id = getvar(request, 'calendar_user_id', setsession=True) post_var_with_page = 1 if request.GET.get('page') or request.GET.get('sort_by'): post_var_with_page = 1 start_date = request.session.get('session_start_date') start_date = ceil_strdate(start_date, 'start') calendar_id = request.session.get('session_calendar_id') calendar_user_id = request.session.get('session_calendar_user_id') form = EventSearchForm(request.user, initial={ 'start_date': start_date.strftime('%Y-%m-%d %H:%M'), 'calendar_id': calendar_id, 'calendar_user_id': calendar_user_id, }) if post_var_with_page == 0: # default unset session var field_list = ['start_date', 'calendar_id', 'calendar_user_id'] unset_session_var(request, field_list) kwargs = {} calendar_user_id_list = get_calendar_user_id_list(request.user) kwargs['calendar__user_id__in'] = calendar_user_id_list if start_date: kwargs['start__gte'] = start_date if calendar_id and int(calendar_id) != 0: kwargs['calendar_id'] = calendar_id if calendar_user_id and int(calendar_user_id) != 0: kwargs['creator_id'] = calendar_user_id all_event_list = Event.objects.filter(**kwargs).order_by( pag_vars['sort_order']) event_list = all_event_list[pag_vars['start_page']:pag_vars['end_page']] data = { 'form': form, 'msg': request.session.get('msg'), 'all_event_list': all_event_list, 'event_list': event_list, 'total_event': all_event_list.count(), 'EVENT_COLUMN_NAME': EVENT_COLUMN_NAME, 'col_name_with_order': pag_vars['col_name_with_order'], } request.session['msg'] = '' request.session['error_msg'] = '' return render_to_response('appointment/event/list.html', data, context_instance=RequestContext(request))