Example #1
0
 def test_get_next_non_summer_quarter(self):
     with self.settings(RESTCLIENTS_SWS_DAO_CLASS=FDAO_SWS):
         now_request = RequestFactory().get("/")
         now_request.session = {}
         now_request.session["myuw_override_date"] = "2013-04-01"
         quarter = get_next_non_summer_quarter(now_request)
         self.assertEquals(quarter.year, 2013)
         self.assertEquals(quarter.quarter, 'autumn')
Example #2
0
 def test_get_next_non_summer_quarter(self):
     with self.settings(RESTCLIENTS_SWS_DAO_CLASS=FDAO_SWS):
         now_request = RequestFactory().get("/")
         now_request.session = {}
         now_request.session["myuw_override_date"] = "2013-04-01"
         quarter = get_next_non_summer_quarter(now_request)
         self.assertEquals(quarter.year, 2013)
         self.assertEquals(quarter.quarter, "autumn")
Example #3
0
    def GET(self, request):
        """
        GET returns 200 with the registered future quarters of the current user
                    if not registered, returns 200 with
                                       the future year & quarter.
                    543: data error
        """
        timer = Timer()
        try:
            try:
                future_quarters = get_registered_future_quarters(request)
            except DataFailureException as ex:
                if ex.status != 404:
                    raise
                future_quarters = []

            resp_data = {
                "terms": future_quarters
                }
            next_non_summer = get_next_non_summer_quarter(request)
            next_year = next_non_summer.year
            next_quarter = next_non_summer.quarter

            has_registration_for_next_term = False
            for term in future_quarters:
                if term["quarter"].lower() == next_quarter and\
                        term["year"] == next_year and\
                        term["section_count"] > 0:
                    has_registration_for_next_term = True

            resp_data["next_term_data"] = {
                "year": next_non_summer.year,
                "quarter": next_non_summer.quarter.capitalize(),
                "has_registration": has_registration_for_next_term,
                }

            highlight = should_highlight_future_quarters(
                future_quarters, request)
            resp_data["highlight_future_quarters"] = highlight
            log_success_response(logger, timer)
            return HttpResponse(json.dumps(resp_data))
        except Exception:
            return handle_exception(logger, timer, traceback)
Example #4
0
    def GET(self, request):
        """
        GET returns 200 with the registered future quarters of the current user
                    if not registered, returns 200 with
                                       the future year & quarter.
                    543: data error
        """
        timer = Timer()
        try:
            try:
                future_quarters = get_registered_future_quarters(request)
            except DataFailureException as ex:
                if ex.status != 404:
                    raise
                future_quarters = []

            resp_data = {"terms": future_quarters}
            next_non_summer = get_next_non_summer_quarter(request)
            next_year = next_non_summer.year
            next_quarter = next_non_summer.quarter

            has_registration_for_next_term = False
            for term in future_quarters:
                if term["quarter"].lower() == next_quarter and\
                        term["year"] == next_year and\
                        term["section_count"] > 0:
                    has_registration_for_next_term = True

            resp_data["next_term_data"] = {
                "year": next_non_summer.year,
                "quarter": next_non_summer.quarter.capitalize(),
                "has_registration": has_registration_for_next_term,
            }

            highlight = should_highlight_future_quarters(
                future_quarters, request)
            resp_data["highlight_future_quarters"] = highlight
            log_success_response(logger, timer)
            return HttpResponse(json.dumps(resp_data))
        except Exception:
            return handle_exception(logger, timer, traceback)
Example #5
0
    def GET(self, request):
        """
        GET returns 200 with the registered future quarters
        of the current user
        """

        future_quarters = get_registered_future_quarters(request)
        timer = Timer()
        logger = logging.getLogger(__name__)
        resp_data = {
            "terms": future_quarters
            }

        next_non_summer = get_next_non_summer_quarter(request)
        next_year = next_non_summer.year
        next_quarter = next_non_summer.quarter

        has_registration_for_next_term = False
        for term in future_quarters:
            if (
                    term["quarter"].lower() == next_quarter and
                    term["year"] == next_year and
                    term["section_count"] > 0
                    ):
                has_registration_for_next_term = True

        resp_data["next_term_data"] = {
            "year": next_non_summer.year,
            "quarter": next_non_summer.quarter.capitalize(),
            "has_registration": has_registration_for_next_term,
        }

        highlight = should_highlight_future_quarters(future_quarters, request)
        resp_data["highlight_future_quarters"] = highlight
        log_success_response(logger, timer)
        return HttpResponse(json.dumps(resp_data))