Beispiel #1
0
 def get_dates(self, request):
     to_ret = {}
     if self.request.POST:
         form = DateRangeForm(self.request.POST)
         if form.is_valid():
             to_ret['start'] = form.cleaned_data['start']
             to_ret['end'] = form.cleaned_data['end']
     return to_ret
 def get_dates(self, request):
     to_ret = {}
     if self.request.POST:
         form = DateRangeForm(self.request.POST)
         if form.is_valid():
             to_ret['start'] = form.cleaned_data['start']
             to_ret['end'] = form.cleaned_data['end']
     return to_ret
Beispiel #3
0
    def get_dates(self, request):
        """
        Process date variables from POST, session, or defaults
        """
        if request.POST:
            form = DateRangeForm(request.POST)
            if form.is_valid():
                cursor = connection.cursor()
                cursor.execute(
                    "select min(created) from rapidsms_xforms_xformsubmission")
                min_date = cursor.fetchone()[0] or (datetime.datetime.now() -
                                                    datetime.timedelta(365))
                start_date = form.cleaned_data['start']
                end_date = form.cleaned_data['end']
                request.session['start_date'] = start_date
                request.session['end_date'] = end_date
                return {
                    'max': datetime.datetime.now(),
                    'min': min_date,
                    'start': start_date,
                    'end': end_date,
                }
            else:
                return {}
        else:
            cursor = connection.cursor()
            cursor.execute(
                "select min(created), max(created) from rapidsms_xforms_xformsubmission"
            )
            min_date, end_date = cursor.fetchone()
            end_date = end_date or datetime.datetime.now()
            min_date = min_date or (datetime.datetime.now() -
                                    datetime.timedelta(365))
            start_date = end_date - datetime.timedelta(days=30)
            if request.session.get('start_date', None) and request.session.get(
                    'end_date', None):
                start_date = request.session['start_date']
                end_date = request.session['end_date']

            return {
                'max': datetime.datetime.now(),
                'min': min_date,
                'start': start_date,
                'end': end_date,
            }
    def get_dates(self, request):
        """
        Process date variables from POST, session, or defaults
        """
        if request.POST:
            form = DateRangeForm(request.POST)
            if form.is_valid():
                cursor = connection.cursor()
                cursor.execute("select min(created) from rapidsms_xforms_xformsubmission")
                min_date = cursor.fetchone()[0] or (datetime.datetime.now() - datetime.timedelta(365))
                start_date = form.cleaned_data['start']
                end_date = form.cleaned_data['end']
                request.session['start_date'] = start_date
                request.session['end_date'] = end_date
                return {
                    'max':datetime.datetime.now(),
                    'min':min_date,
                    'start':start_date,
                    'end':end_date,
                }
            else:
                return {}
        else:
            cursor = connection.cursor()
            cursor.execute("select min(created), max(created) from rapidsms_xforms_xformsubmission")
            min_date, end_date = cursor.fetchone()
            end_date = end_date or datetime.datetime.now()
            min_date = min_date or (datetime.datetime.now() - datetime.timedelta(365))
            start_date = end_date - datetime.timedelta(days=30)
            if request.session.get('start_date', None)  and request.session.get('end_date', None):
                start_date = request.session['start_date']
                end_date = request.session['end_date']

            return {
                'max':datetime.datetime.now(),
                'min':min_date,
                'start':start_date,
                'end':end_date,
            }