コード例 #1
0
ファイル: views.py プロジェクト: jamesdouglas/newfies-dialer
def calendar_list(request):
    """Calendar list for the logged in user

    **Attributes**:

        * ``template`` - appointment/calendar/list.html

    **Logic Description**:

        * List all calendars which belong to the logged in user.
    """
    sort_col_field_list = ["id", "name", "user", "max_concurrent", "created_date"]
    pag_vars = get_pagination_vars(request, sort_col_field_list, default_sort_field="id")
    calendar_user_id_list = get_calendar_user_id_list(request.user)
    calendar_list = Calendar.objects.filter(user_id__in=calendar_user_id_list).order_by(pag_vars["sort_order"])

    data = {
        "msg": request.session.get("msg"),
        "calendar_list": calendar_list,
        "total_calendar": calendar_list.count(),
        "CALENDAR_COLUMN_NAME": CALENDAR_COLUMN_NAME,
        "col_name_with_order": pag_vars["col_name_with_order"],
    }
    request.session["msg"] = ""
    request.session["error_msg"] = ""
    return render_to_response("appointment/calendar/list.html", data, context_instance=RequestContext(request))
コード例 #2
0
ファイル: forms.py プロジェクト: Lautitia/newfies-dialer
    def __init__(self, user, *args, **kwargs):
        super(AlarmForm, self).__init__(*args, **kwargs)

        self.fields.keyOrder = [
            'date_start_notice', 'event', 'alarm_phonenumber', 'alarm_email',
            'method', 'survey', 'mail_template', 'sms_template',
            'daily_start', 'daily_stop', 'advance_notice', 'maxretry',
            'result', 'retry_delay', 'url_cancel', 'phonenumber_sms_failure',
            'url_confirm', 'phonenumber_transfer']

        for i in self.fields.keyOrder:
            self.fields[i].widget.attrs['class'] = "form-control"
        list_survey = []
        list_survey.append((0, '---'))
        survey_list = Survey.objects.values_list(
            'id', 'name').filter(user=user).order_by('id')
        for l in survey_list:
            list_survey.append((l[0], l[1]))
        self.fields['survey'].choices = list_survey

        calendar_user_list = get_calendar_user_id_list(user)

        list_event = []
        list_event.append((0, '---'))
        event_list = Event.objects.values_list(
            'id', 'title').filter(calendar__user_id__in=calendar_user_list,
                                  status=EVENT_STATUS.PENDING).order_by('id')
        for l in event_list:
            list_event.append((l[0], l[1]))
        self.fields['event'].choices = list_event
コード例 #3
0
def calendar_list(request):
    """Calendar list for the logged in user

    **Attributes**:

        * ``template`` - appointment/calendar/list.html

    **Logic Description**:

        * List all calendars which belong to the logged in user.
    """
    sort_col_field_list = [
        'id', 'name', 'user', 'max_concurrent', 'created_date'
    ]
    pag_vars = get_pagination_vars(request,
                                   sort_col_field_list,
                                   default_sort_field='id')
    calendar_user_id_list = get_calendar_user_id_list(request.user)
    calendar_list = Calendar.objects.filter(
        user_id__in=calendar_user_id_list).order_by(pag_vars['sort_order'])

    data = {
        'msg': request.session.get('msg'),
        'calendar_list': calendar_list,
        'total_calendar': calendar_list.count(),
        'CALENDAR_COLUMN_NAME': CALENDAR_COLUMN_NAME,
        'col_name_with_order': pag_vars['col_name_with_order'],
    }
    request.session['msg'] = ''
    request.session['error_msg'] = ''
    return render_to_response('appointment/calendar/list.html',
                              data,
                              context_instance=RequestContext(request))
コード例 #4
0
def alarm_list(request):
    """Alarm list for the logged in user

    **Attributes**:

        * ``template`` - appointment/alarm/list.html

    **Logic Description**:

        * List all alarms which belong to the logged in user.
    """
    sort_col_field_list = [
        'id', 'alarm_phonenumber', 'alarm_email', 'daily_start', 'daily_stop',
        'method', 'survey', 'event', 'date_start_notice', 'status'
    ]
    pag_vars = get_pagination_vars(request,
                                   sort_col_field_list,
                                   default_sort_field='id')
    calendar_user_id_list = get_calendar_user_id_list(request.user)
    alarm_list = Alarm.objects.filter(
        event__calendar__user_id__in=calendar_user_id_list).order_by(
            pag_vars['sort_order'])
    data = {
        'msg': request.session.get('msg'),
        'alarm_list': alarm_list,
        'total_alarm': alarm_list.count(),
        'ALARM_COLUMN_NAME': ALARM_COLUMN_NAME,
        'col_name_with_order': pag_vars['col_name_with_order'],
    }
    request.session['msg'] = ''
    request.session['error_msg'] = ''
    return render_to_response('appointment/alarm/list.html',
                              data,
                              context_instance=RequestContext(request))
コード例 #5
0
ファイル: forms.py プロジェクト: bitonator/newfies-dialer
    def __init__(self, user, *args, **kwargs):
        super(EventForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.form_class = 'well'
        css_class = 'col-md-6'
        self.helper.layout = Layout(
            Fieldset(_('Event Settings')),
            Div(
                Div('title', css_class=css_class),
                Div('calendar', css_class=css_class),
                Div('creator', css_class=css_class),
                Div('created_on', css_class=css_class),
                Div('rule', css_class=css_class),
                Div('end_recurring_period', css_class=css_class),
                Div('start', css_class=css_class),
                Div('end', css_class=css_class),
                css_class='row'
            ),
            Div(
                Div('description', css_class=css_class),
                Div('data', css_class=css_class),
                css_class='row'
            ),
        )
        if self.instance.id:
            common_submit_buttons(self.helper.layout, 'update')
        else:
            common_submit_buttons(self.helper.layout)

        calendar_user_list = get_calendar_user_id_list(user)
        self.fields['calendar'].choices = get_calendar_list(calendar_user_list)
        self.fields['creator'].choices = get_calendar_user_list(calendar_user_list)
コード例 #6
0
 def get_queryset(self):
     if self.request.user.is_superuser:
         queryset = Event.objects.all()
     else:
         calendar_user_list = get_calendar_user_id_list(self.request.user)
         queryset = Event.objects.filter(creator_id__in=calendar_user_list)
     return queryset
コード例 #7
0
ファイル: views.py プロジェクト: bitonator/newfies-dialer
def alarm_list(request):
    """Alarm list for the logged in user

    **Attributes**:

        * ``template`` - appointment/alarm/list.html

    **Logic Description**:

        * List all alarms which belong to the logged in user.
    """
    sort_col_field_list = ['id', 'alarm_phonenumber', 'alarm_email', 'daily_start',
                           'daily_stop', 'method', 'survey', 'event',
                           'date_start_notice', 'status']
    pag_vars = get_pagination_vars(request, sort_col_field_list, default_sort_field='id')
    calendar_user_id_list = get_calendar_user_id_list(request.user)
    alarm_list = Alarm.objects\
        .filter(event__calendar__user_id__in=calendar_user_id_list)\
        .order_by(pag_vars['sort_order'])
    data = {
        'msg': request.session.get('msg'),
        'alarm_list': alarm_list,
        'total_alarm': alarm_list.count(),
        'ALARM_COLUMN_NAME': ALARM_COLUMN_NAME,
        'col_name_with_order': pag_vars['col_name_with_order'],
    }
    request.session['msg'] = ''
    request.session['error_msg'] = ''
    return render_to_response('appointment/alarm/list.html', data, context_instance=RequestContext(request))
コード例 #8
0
ファイル: views.py プロジェクト: bitonator/newfies-dialer
def calendar_list(request):
    """Calendar list for the logged in user

    **Attributes**:

        * ``template`` - appointment/calendar/list.html

    **Logic Description**:

        * List all calendars which belong to the logged in user.
    """
    sort_col_field_list = ['id', 'name', 'user', 'max_concurrent', 'created_date']
    pag_vars = get_pagination_vars(request, sort_col_field_list, default_sort_field='id')
    calendar_user_id_list = get_calendar_user_id_list(request.user)
    calendar_list = Calendar.objects.filter(user_id__in=calendar_user_id_list).order_by(pag_vars['sort_order'])

    data = {
        'msg': request.session.get('msg'),
        'calendar_list': calendar_list,
        'total_calendar': calendar_list.count(),
        'CALENDAR_COLUMN_NAME': CALENDAR_COLUMN_NAME,
        'col_name_with_order': pag_vars['col_name_with_order'],
    }
    request.session['msg'] = ''
    request.session['error_msg'] = ''
    return render_to_response('appointment/calendar/list.html', data, context_instance=RequestContext(request))
コード例 #9
0
    def __init__(self, user, *args, **kwargs):
        super(EventForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.form_class = 'well'
        css_class = 'col-md-6'
        self.helper.layout = Layout(
            Fieldset(_('event settings').capitalize()),
            Div(Div('title', css_class=css_class),
                Div('calendar', css_class=css_class),
                Div('creator', css_class=css_class),
                Div('created_on', css_class=css_class),
                Div('rule', css_class=css_class),
                Div('end_recurring_period', css_class=css_class),
                Div('start', css_class=css_class),
                Div('end', css_class=css_class),
                css_class='row'),
            Div(Div('description', css_class=css_class),
                Div('data', css_class=css_class),
                css_class='row'),
        )
        if self.instance.id:
            common_submit_buttons(self.helper.layout, 'update')
        else:
            common_submit_buttons(self.helper.layout)

        calendar_user_list = get_calendar_user_id_list(user)
        self.fields['calendar'].choices = get_calendar_list(calendar_user_list)
        self.fields['creator'].choices = get_calendar_user_list(
            calendar_user_list)
コード例 #10
0
ファイル: forms.py プロジェクト: Lautitia/newfies-dialer
 def __init__(self, user, *args, **kwargs):
     super(EventSearchForm, self).__init__(*args, **kwargs)
     calendar_user_list = get_calendar_user_id_list(user)
     self.fields['calendar_id'].choices = get_calendar_list(calendar_user_list)
     self.fields['calendar_user_id'].choices = get_calendar_user_list(calendar_user_list)
     for i in ['calendar_id', 'calendar_user_id']:
         self.fields[i].widget.attrs['class'] = "form-control"
コード例 #11
0
 def get_queryset(self):
     if self.request.user.is_superuser:
         queryset = Event.objects.all()
     else:
         calendar_user_list = get_calendar_user_id_list(self.request.user)
         queryset = Event.objects.filter(creator_id__in=calendar_user_list)
     return queryset
コード例 #12
0
 def get_fields(self, *args, **kwargs):
     """filter content_type field"""
     fields = super(AlarmRequestSerializer, self).get_fields(*args, **kwargs)
     request = self.context['request']
     calendar_user_list = get_calendar_user_id_list(request.user)
     fields['alarm'].queryset = Alarm.objects.filter(event__creator_id__in=calendar_user_list)
     fields['callrequest'].queryset = Callrequest.objects.filter(campaign__user=request.user)
     return fields
コード例 #13
0
    def get_fields(self, *args, **kwargs):
        """filter calendar user field"""
        fields = super(CalendarSerializer, self).get_fields(*args, **kwargs)
        request = self.context['request']
        calendar_user_list = get_calendar_user_id_list(request.user)
        fields['user'].queryset = CalendarUser.objects.filter(id__in=calendar_user_list).order_by('id')

        return fields
コード例 #14
0
    def get_fields(self, *args, **kwargs):
        """filter field"""
        fields = super(AgentProfileSerializer, self).get_fields(*args, **kwargs)
        request = self.context['request']
        calendar_user_list = get_calendar_user_id_list(request.user)
        fields['user'].queryset = Agent.objects.filter(is_staff=False, is_superuser=False).exclude(id__in=calendar_user_list)

        return fields
コード例 #15
0
    def get_fields(self, *args, **kwargs):
        """filter content_type field"""
        fields = super(AlarmSerializer, self).get_fields(*args, **kwargs)
        request = self.context['request']
        calendar_user_list = get_calendar_user_id_list(request.user)

        fields['event'].queryset = Event.objects.filter(calendar__user_id__in=calendar_user_list).order_by('id')
        fields['survey'].queryset = Survey.objects.filter(user=request.user)
        return fields
コード例 #16
0
    def get_fields(self, *args, **kwargs):
        """filter calendar user field"""
        fields = super(CalendarSerializer, self).get_fields(*args, **kwargs)
        request = self.context['request']
        calendar_user_list = get_calendar_user_id_list(request.user)
        fields['user'].queryset = CalendarUser.objects.filter(
            id__in=calendar_user_list).order_by('id')

        return fields
コード例 #17
0
    def get_fields(self, *args, **kwargs):
        """filter content_type field"""
        fields = super(AlarmSerializer, self).get_fields(*args, **kwargs)
        request = self.context['request']
        calendar_user_list = get_calendar_user_id_list(request.user)

        fields['event'].queryset = Event.objects.filter(
            calendar__user_id__in=calendar_user_list).order_by('id')
        fields['survey'].queryset = Survey.objects.filter(user=request.user)
        return fields
コード例 #18
0
 def get_queryset(self):
     """
     This view should return a list of all the calendars
     for the currently authenticated user.
     """
     if self.request.user.is_superuser:
         queryset = Calendar.objects.all()
     else:
         calendar_user_list = get_calendar_user_id_list(self.request.user)
         queryset = Calendar.objects.filter(user_id__in=calendar_user_list)
     return queryset
コード例 #19
0
    def get_fields(self, *args, **kwargs):
        """filter content_type field"""
        fields = super(EventSerializer, self).get_fields(*args, **kwargs)
        request = self.context["request"]
        calendar_user_list = get_calendar_user_id_list(request.user)

        fields["creator"].queryset = CalendarUser.objects.filter(id__in=calendar_user_list).order_by("id")
        fields["calendar"].queryset = Calendar.objects.filter(user_id__in=calendar_user_list).order_by("id")
        fields["parent_event"].queryset = Event.objects.filter(calendar__user_id__in=calendar_user_list).order_by("id")

        return fields
コード例 #20
0
ファイル: forms.py プロジェクト: Lautitia/newfies-dialer
    def __init__(self, user, *args, **kwargs):
        super(EventForm, self).__init__(*args, **kwargs)
        self.fields.keyOrder = [
            'title', 'calendar', 'creator', 'rule', 'start', 'end',
            'end_recurring_period', 'description', 'data'
        ]

        for i in self.fields.keyOrder:
            self.fields[i].widget.attrs['class'] = "form-control"
        calendar_user_list = get_calendar_user_id_list(user)
        self.fields['calendar'].choices = get_calendar_list(calendar_user_list)
        self.fields['creator'].choices = get_calendar_user_list(calendar_user_list)
コード例 #21
0
    def get_nested_alarm_request(self, request, pk=None):
        """it will get all nested alarm request"""
        #alarm_request = self.get_object()

        if self.request.user.is_superuser:
            try:
                event = Event.objects.get(pk=pk)
            except:
                final_data = {"error": "event id is not valid"}
                return Response(final_data)
        else:
            try:
                calendar_user_list = get_calendar_user_id_list(
                    self.request.user)
                event = Event.objects.get(pk=pk,
                                          creator_id__in=calendar_user_list)
            except:
                final_data = {"error": "event id is not valid"}
                return Response(final_data)

        event_url = 'http://%s/rest-api/event/%s/' % (
            self.request.META['HTTP_HOST'], str(event.id))
        final_data = {}
        final_data["event-url"] = event_url
        final_data["event-%s" % str(event.id)] = {}
        alarm_list = Alarm.objects.filter(
            event__parent_event=event).order_by('id')
        for alarm in alarm_list:
            alarm_url = 'http://%s/rest-api/alarm/%s/' % (
                self.request.META['HTTP_HOST'], str(alarm.id))
            final_data["event-%s" % str(event.id)]["alarm-%s" %
                                                   str(alarm.id)] = {
                                                       'url': alarm_url
                                                   }

            alarm_requests = AlarmRequest.objects.filter(
                alarm=alarm).order_by('id')
            for alarm_request in alarm_requests:
                alarm_request_url = 'http://%s/rest-api/alarm-request/%s/' % \
                    (self.request.META['HTTP_HOST'], str(alarm_request.id))
                callrequest_url = 'http://%s/rest-api/callrequest/%s/' % \
                    (self.request.META['HTTP_HOST'], str(alarm_request.callrequest_id))
                final_data["event-%s" % str(event.id)]["alarm-%s" % str(
                    alarm.id)]['alarm-request-%s' % str(alarm_request.id)] = {
                        "url": alarm_request_url,
                        "alarm-callrequest": callrequest_url,
                        "date": str(alarm_request.date),
                        "status": str(alarm_request.status),
                        "callstatus": str(alarm_request.callstatus),
                        "duration": str(alarm_request.duration),
                    }

        return Response(final_data)
コード例 #22
0
ファイル: forms.py プロジェクト: bharathi26/newfies-dialer
 def __init__(self, user, *args, **kwargs):
     super(CalendarForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_class = 'well'
     self.helper.layout = Layout(
         Fieldset('', 'name', 'user', 'max_concurrent', css_class='col-xs-4')
     )
     if self.instance.id:
         form_action = common_submit_buttons(default_action='update')
     else:
         form_action = common_submit_buttons(default_action='add')
     self.helper.layout.append(form_action)
     calendar_user_list = get_calendar_user_id_list(user)
     self.fields['user'].choices = get_calendar_user_list(calendar_user_list)
コード例 #23
0
ファイル: forms.py プロジェクト: bitonator/newfies-dialer
 def __init__(self, user, *args, **kwargs):
     super(CalendarForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_class = 'well'
     self.helper.layout = Layout(
         Fieldset('', 'name', 'user', 'max_concurrent', css_class='col-xs-4')
     )
     if self.instance.id:
         form_action = common_submit_buttons(default_action='update')
     else:
         form_action = common_submit_buttons(default_action='add')
     self.helper.layout.append(form_action)
     calendar_user_list = get_calendar_user_id_list(user)
     self.fields['user'].choices = get_calendar_user_list(calendar_user_list)
コード例 #24
0
    def get_fields(self, *args, **kwargs):
        """filter content_type field"""
        fields = super(EventSerializer, self).get_fields(*args, **kwargs)
        request = self.context['request']
        calendar_user_list = get_calendar_user_id_list(request.user)

        fields['creator'].queryset = CalendarUser.objects.filter(
            id__in=calendar_user_list).order_by('id')
        fields['calendar'].queryset = Calendar.objects.filter(
            user_id__in=calendar_user_list).order_by('id')
        fields['parent_event'].queryset = Event.objects.filter(
            calendar__user_id__in=calendar_user_list).order_by('id')

        return fields
コード例 #25
0
    def get_nested_alarm_request(self, request, pk=None):
        """it will get all nested alarm request"""
        # alarm_request = self.get_object()

        if self.request.user.is_superuser:
            try:
                event = Event.objects.get(pk=pk)
            except:
                final_data = {"error": "event id is not valid"}
                return Response(final_data)
        else:
            try:
                calendar_user_list = get_calendar_user_id_list(self.request.user)
                event = Event.objects.get(pk=pk, creator_id__in=calendar_user_list)
            except:
                final_data = {"error": "event id is not valid"}
                return Response(final_data)

        event_url = "http://%s/rest-api/event/%s/" % (self.request.META["HTTP_HOST"], str(event.id))
        final_data = {}
        final_data["event-url"] = event_url
        final_data["event-%s" % str(event.id)] = {}
        alarm_list = Alarm.objects.filter(event__parent_event=event).order_by("id")
        for alarm in alarm_list:
            alarm_url = "http://%s/rest-api/alarm/%s/" % (self.request.META["HTTP_HOST"], str(alarm.id))
            final_data["event-%s" % str(event.id)]["alarm-%s" % str(alarm.id)] = {"url": alarm_url}

            alarm_requests = AlarmRequest.objects.filter(alarm=alarm).order_by("id")
            for alarm_request in alarm_requests:
                alarm_request_url = "http://%s/rest-api/alarm-request/%s/" % (
                    self.request.META["HTTP_HOST"],
                    str(alarm_request.id),
                )
                callrequest_url = "http://%s/rest-api/callrequest/%s/" % (
                    self.request.META["HTTP_HOST"],
                    str(alarm_request.callrequest_id),
                )
                final_data["event-%s" % str(event.id)]["alarm-%s" % str(alarm.id)][
                    "alarm-request-%s" % str(alarm_request.id)
                ] = {
                    "url": alarm_request_url,
                    "alarm-callrequest": callrequest_url,
                    "date": str(alarm_request.date),
                    "status": str(alarm_request.status),
                    "callstatus": str(alarm_request.callstatus),
                    "duration": str(alarm_request.duration),
                }

        return Response(final_data)
コード例 #26
0
 def __init__(self, user, *args, **kwargs):
     super(EventSearchForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_class = 'well'
     css_class = 'col-md-4'
     self.helper.layout = Layout(
         Div(Div('start_date', css_class=css_class),
             Div('calendar_id', css_class=css_class),
             Div('calendar_user_id', css_class=css_class),
             css_class='row'), )
     common_submit_buttons(self.helper.layout, 'search')
     calendar_user_list = get_calendar_user_id_list(user)
     self.fields['calendar_id'].choices = get_calendar_list(
         calendar_user_list)
     self.fields['calendar_user_id'].choices = get_calendar_user_list(
         calendar_user_list)
コード例 #27
0
ファイル: forms.py プロジェクト: bitonator/newfies-dialer
 def __init__(self, user, *args, **kwargs):
     super(EventSearchForm, self).__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.form_class = 'well'
     css_class = 'col-md-4'
     self.helper.layout = Layout(
         Div(
             Div('start_date', css_class=css_class),
             Div('calendar_id', css_class=css_class),
             Div('calendar_user_id', css_class=css_class),
             css_class='row'
         ),
     )
     common_submit_buttons(self.helper.layout, 'search')
     calendar_user_list = get_calendar_user_id_list(user)
     self.fields['calendar_id'].choices = get_calendar_list(calendar_user_list)
     self.fields['calendar_user_id'].choices = get_calendar_user_list(calendar_user_list)
コード例 #28
0
    def list(self, request, *args, **kwargs):
        """get list of all CalendarUser objects"""
        if self.request.user.is_superuser:
            calendar_user_list = get_all_calendar_user_id_list()
        else:
            calendar_user_list = get_calendar_user_id_list(request.user)

        snippets = CalendarUser.objects.filter(
            id__in=calendar_user_list).order_by('id')
        list_data = []

        for c_user in snippets:
            try:
                calendar_obj = Calendar.objects.get(user=c_user)
                calendar_dict = {
                    'name': calendar_obj.name,
                    'max_concurrent': calendar_obj.max_concurrent,
                }
            except:
                calendar_dict = {}

            user_url = 'http://%s/rest-api/calendar-user/%s/' % (
                self.request.META['HTTP_HOST'], str(c_user.id))
            data = {
                'url': user_url,
                'id': c_user.id,
                'username': c_user.username,
                'password': c_user.password,
                'last_name': c_user.last_name,
                'first_name': c_user.first_name,
                'email': c_user.email,
                #'groups': c_user.groups,
                'calendar': calendar_dict,
            }
            list_data.append(data)

        if list_data:
            temp_data = ", ".join(str(e) for e in list_data)
            final_data = ast.literal_eval(temp_data)
        else:
            final_data = {"note": "no calendar-user found"}
        #serializer = CalendarUserSerializer(snippets, many=True)
        return Response(final_data)
コード例 #29
0
    def list(self, request, *args, **kwargs):
        """get list of all CalendarUser objects"""
        if self.request.user.is_superuser:
            calendar_user_list = get_all_calendar_user_id_list()
        else:
            calendar_user_list = get_calendar_user_id_list(request.user)

        profiles = CalendarUserProfile.objects.filter(
            user_id__in=calendar_user_list).order_by('id')
        list_data = []
        for c_user_profile in profiles:
            user_url = 'http://%s/rest-api/calendar-user-profile/%s/' % (
                self.request.META['HTTP_HOST'], str(c_user_profile.id))
            calendar_setting_url = 'http://%s/rest-api/calendar-setting/%s/' % (
                self.request.META['HTTP_HOST'],
                str(c_user_profile.calendar_setting_id))

            data = {
                'url': user_url,
                'id': c_user_profile.id,
                'accountcode': c_user_profile.accountcode,
                'calendar_setting': calendar_setting_url,
                'manager': str(c_user_profile.manager),
                'address': c_user_profile.address,
                'city': c_user_profile.city,
                'state': c_user_profile.state,
                'zip_code': c_user_profile.zip_code,
                'phone_no': c_user_profile.phone_no,
                'fax': c_user_profile.fax,
                'company_name': c_user_profile.company_name,
                'company_website': c_user_profile.company_website,
                #'language': c_user_profile.language,
            }
            list_data.append(data)

        if list_data:
            temp_data = ", ".join(str(e) for e in list_data)
            final_data = ast.literal_eval(temp_data)
        else:
            final_data = {"note": "no calendar-user-profile found"}
        #serializer = CalendarUserSerializer(snippets, many=True)
        return Response(final_data)
コード例 #30
0
    def list(self, request, *args, **kwargs):
        """get list of all CalendarUser objects"""
        if self.request.user.is_superuser:
            calendar_user_list = get_all_calendar_user_id_list()
        else:
            calendar_user_list = get_calendar_user_id_list(request.user)

        snippets = CalendarUser.objects.filter(id__in=calendar_user_list).order_by('id')
        list_data = []

        for c_user in snippets:
            try:
                calendar_obj = Calendar.objects.get(user=c_user)
                calendar_dict = {
                    'name': calendar_obj.name,
                    'max_concurrent': calendar_obj.max_concurrent,
                }
            except:
                calendar_dict = {}

            user_url = 'http://%s/rest-api/calendar-user/%s/' % (self.request.META['HTTP_HOST'], str(c_user.id))
            data = {
                'url': user_url,
                'id': c_user.id,
                'username': c_user.username,
                'password': c_user.password,
                'last_name': c_user.last_name,
                'first_name': c_user.first_name,
                'email': c_user.email,
                #'groups': c_user.groups,
                'calendar': calendar_dict,
            }
            list_data.append(data)

        if list_data:
            temp_data = ", ".join(str(e) for e in list_data)
            final_data = ast.literal_eval(temp_data)
        else:
            final_data = {"note": "no calendar-user found"}
        #serializer = CalendarUserSerializer(snippets, many=True)
        return Response(final_data)
コード例 #31
0
    def list(self, request, *args, **kwargs):
        """get list of all CalendarUser objects"""
        if self.request.user.is_superuser:
            calendar_user_list = get_all_calendar_user_id_list()
        else:
            calendar_user_list = get_calendar_user_id_list(request.user)

        profiles = CalendarUserProfile.objects.filter(user_id__in=calendar_user_list).order_by('id')
        list_data = []
        for c_user_profile in profiles:
            user_url = 'http://%s/rest-api/calendar-user-profile/%s/' % \
                (self.request.META['HTTP_HOST'], str(c_user_profile.id))
            calendar_setting_url = 'http://%s/rest-api/calendar-setting/%s/' % \
                (self.request.META['HTTP_HOST'], str(c_user_profile.calendar_setting_id))

            data = {
                'url': user_url,
                'id': c_user_profile.id,
                'accountcode': c_user_profile.accountcode,
                'calendar_setting': calendar_setting_url,
                'manager': str(c_user_profile.manager),
                'address': c_user_profile.address,
                'city': c_user_profile.city,
                'state': c_user_profile.state,
                'zip_code': c_user_profile.zip_code,
                'phone_no': c_user_profile.phone_no,
                'fax': c_user_profile.fax,
                'company_name': c_user_profile.company_name,
                'company_website': c_user_profile.company_website,
                #'language': c_user_profile.language,
            }
            list_data.append(data)

        if list_data:
            temp_data = ", ".join(str(e) for e in list_data)
            final_data = ast.literal_eval(temp_data)
        else:
            final_data = {"note": "no calendar-user-profile found"}
        #serializer = CalendarUserSerializer(snippets, many=True)
        return Response(final_data)
コード例 #32
0
ファイル: views.py プロジェクト: jamesdouglas/newfies-dialer
def alarm_list(request):
    """Alarm list for the logged in user

    **Attributes**:

        * ``template`` - appointment/alarm/list.html

    **Logic Description**:

        * List all alarms which belong to the logged in user.
    """
    sort_col_field_list = [
        "id",
        "alarm_phonenumber",
        "alarm_email",
        "daily_start",
        "daily_stop",
        "method",
        "survey",
        "event",
        "date_start_notice",
        "status",
    ]
    pag_vars = get_pagination_vars(request, sort_col_field_list, default_sort_field="id")
    calendar_user_id_list = get_calendar_user_id_list(request.user)
    alarm_list = Alarm.objects.filter(event__calendar__user_id__in=calendar_user_id_list).order_by(
        pag_vars["sort_order"]
    )
    data = {
        "msg": request.session.get("msg"),
        "alarm_list": alarm_list,
        "total_alarm": alarm_list.count(),
        "ALARM_COLUMN_NAME": ALARM_COLUMN_NAME,
        "col_name_with_order": pag_vars["col_name_with_order"],
    }
    request.session["msg"] = ""
    request.session["error_msg"] = ""
    return render_to_response("appointment/alarm/list.html", data, context_instance=RequestContext(request))
コード例 #33
0
ファイル: views.py プロジェクト: Lautitia/newfies-dialer
def event_list(request):
    """Event list for the logged in user

    **Attributes**:

        * ``template`` - frontend/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,
                           initial={'start': today.strftime('%Y-%m-%d %H:%M:%S')})
    sort_col_field_list = ['id', 'start', 'end', 'title',
                           'calendar', 'status', 'created_on']
    default_sort_field = 'id'
    pagination_data = get_pagination_vars(
        request, sort_col_field_list, default_sort_field)

    PAGE_SIZE = pagination_data['PAGE_SIZE']
    sort_order = pagination_data['sort_order']
    start_page = pagination_data['start_page']
    end_page = pagination_data['end_page']

    #search_tag = 1
    start_date = ''
    calendar_id = ''
    calendar_user_id = ''

    if request.method == 'POST':
        form = EventSearchForm(request.user, request.POST)
        if form.is_valid():
            field_list = ['start_date', 'calendar_id', 'calendar_user_id']
            unset_session_var(request, field_list)

            if request.POST.get('start_date'):
                # start date
                start_date = ceil_strdate(request.POST['start_date'], 'start')
                request.session['session_start_date'] = start_date

            calendar_id = getvar(request, 'calendar_id', setsession=True)
            calendar_user_id = getvar(request, 'calendar_user_id', setsession=True)

    post_var_with_page = 0
    try:
        if request.GET.get('page') or request.GET.get('sort_by'):
            post_var_with_page = 1
            start_date = request.session.get('session_start_date')
            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,
                                                          'calendar_id': calendar_id,
                                                          'calendar_user_id': calendar_user_id,
                                                          })
        else:
            post_var_with_page = 1
            if request.method == 'GET':
                post_var_with_page = 0
    except:
        pass

    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 = {}
    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

    calendar_user_id_list = get_calendar_user_id_list(request.user)
    event_list = Event.objects.filter(
        calendar__user_id__in=calendar_user_id_list).order_by(sort_order)
    if kwargs:
        event_list = event_list.filter(**kwargs)
    event_list = event_list[start_page:end_page]

    template = 'frontend/appointment/event/list.html'
    data = {
        'form': form,
        'msg': request.session.get('msg'),
        'event_list': event_list,
        'total_event': event_list.count(),
        'PAGE_SIZE': PAGE_SIZE,
        'EVENT_COLUMN_NAME': EVENT_COLUMN_NAME,
        'col_name_with_order': pagination_data['col_name_with_order'],
        'dialer_setting_msg': user_dialer_setting_msg(request.user),
    }
    request.session['msg'] = ''
    request.session['error_msg'] = ''
    return render_to_response(template, data,
                              context_instance=RequestContext(request))
コード例 #34
0
ファイル: views.py プロジェクト: bitonator/newfies-dialer
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))
コード例 #35
0
ファイル: forms.py プロジェクト: bitonator/newfies-dialer
    def __init__(self, user, *args, **kwargs):
        super(AlarmForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper()

        if self.instance.id:
            form_action = common_submit_buttons(default_action='update')
        else:
            form_action = common_submit_buttons(default_action='add')

        css_class = 'col-md-6'
        self.helper.layout = Layout(
            TabHolder(
                Tab(_('General Settings'),
                    Div(
                        Div('date_start_notice', css_class=css_class),
                        Div('event', css_class=css_class),
                        Div('alarm_phonenumber', css_class=css_class),
                        Div('alarm_email', css_class=css_class),
                        Div('method', css_class=css_class),
                        Div('survey', css_class=css_class),
                        Div('mail_template', css_class=css_class),
                        Div('sms_template', css_class=css_class),
                        css_class='row'
                    ),
                    form_action,
                    css_class='well'
                    ),
                Tab(_('Alarm Settings'),
                    Div(
                        Div('daily_start', css_class=css_class),
                        Div('daily_stop', css_class=css_class),
                        Div('maxretry', css_class=css_class),
                        Div('retry_delay', css_class=css_class),
                        Div('advance_notice', css_class=css_class),
                        css_class='row'
                    ),
                    form_action,
                    css_class='well'
                    ),
                Tab(_('Result Settings'),
                    Div(
                        Div('result', css_class=css_class),
                        Div('url_cancel', css_class=css_class),
                        Div('phonenumber_sms_failure', css_class=css_class),
                        Div('url_confirm', css_class=css_class),
                        Div('phonenumber_transfer', css_class=css_class),
                        css_class='row'
                    ),
                    form_action,
                    css_class='well'
                    ),
            ),
        )

        list_survey = []
        list_survey.append((0, '---'))
        for l in Survey.objects.values_list('id', 'name').filter(user=user).order_by('id'):
            list_survey.append((l[0], l[1]))
        self.fields['survey'].choices = list_survey

        calendar_user_list = get_calendar_user_id_list(user)

        list_event = []
        list_event.append((0, '---'))
        event_list = Event.objects.values_list('id', 'title')\
            .filter(calendar__user_id__in=calendar_user_list,
                    status=EVENT_STATUS.PENDING).order_by('id')
        for l in event_list:
            list_event.append((l[0], l[1]))
        self.fields['event'].choices = list_event
コード例 #36
0
ファイル: views.py プロジェクト: jamesdouglas/newfies-dialer
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))
コード例 #37
0
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))
コード例 #38
0
    def __init__(self, user, *args, **kwargs):
        super(AlarmForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper()

        if self.instance.id:
            form_action = common_submit_buttons(default_action='update')
        else:
            form_action = common_submit_buttons(default_action='add')

        css_class = 'col-md-6'
        self.helper.layout = Layout(
            TabHolder(
                Tab(_('general settings').title(),
                    Div(Div('date_start_notice', css_class=css_class),
                        Div('event', css_class=css_class),
                        Div('alarm_phonenumber', css_class=css_class),
                        Div('alarm_email', css_class=css_class),
                        Div('method', css_class=css_class),
                        Div('survey', css_class=css_class),
                        Div('mail_template', css_class=css_class),
                        Div('sms_template', css_class=css_class),
                        css_class='row'),
                    form_action,
                    css_class='well'),
                Tab(_('alarm settings').title(),
                    Div(Div('daily_start', css_class=css_class),
                        Div('daily_stop', css_class=css_class),
                        Div('maxretry', css_class=css_class),
                        Div('retry_delay', css_class=css_class),
                        Div('advance_notice', css_class=css_class),
                        css_class='row'),
                    form_action,
                    css_class='well'),
                Tab(_('result settings').title(),
                    Div(Div('result', css_class=css_class),
                        Div('url_cancel', css_class=css_class),
                        Div('phonenumber_sms_failure', css_class=css_class),
                        Div('url_confirm', css_class=css_class),
                        Div('phonenumber_transfer', css_class=css_class),
                        css_class='row'),
                    form_action,
                    css_class='well'),
            ), )

        list_survey = []
        list_survey.append((0, '---'))
        for l in Survey.objects.values_list(
                'id', 'name').filter(user=user).order_by('id'):
            list_survey.append((l[0], l[1]))
        self.fields['survey'].choices = list_survey

        calendar_user_list = get_calendar_user_id_list(user)

        list_event = []
        list_event.append((0, '---'))
        event_list = Event.objects.values_list('id', 'title')\
            .filter(calendar__user_id__in=calendar_user_list,
                    status=EVENT_STATUS.PENDING).order_by('id')
        for l in event_list:
            list_event.append((l[0], l[1]))
        self.fields['event'].choices = list_event
コード例 #39
0
ファイル: forms.py プロジェクト: Lautitia/newfies-dialer
 def __init__(self, user, *args, **kwargs):
     super(CalendarForm, self).__init__(*args, **kwargs)
     calendar_user_list = get_calendar_user_id_list(user)
     self.fields['user'].choices = get_calendar_user_list(calendar_user_list)
     for i in self.fields.keyOrder:
         self.fields[i].widget.attrs['class'] = "form-control"