Exemple #1
0
def format_strikeout_price(user,
                           course,
                           base_price=None,
                           check_for_discount=True):
    """
    Return a formatted price, including a struck-out original price if a discount applies, and also
        whether a discount was applied, as the tuple (formatted_price, has_discount).
    """
    if base_price is None:
        base_price = get_course_prices(course, verified_only=True)[0]

    original_price = format_course_price(base_price)

    if not check_for_discount or can_receive_discount(user, course):
        discount_price = base_price * (
            (100.0 - discount_percentage(course)) / 100)
        if discount_price == int(discount_price):
            discount_price = format_course_price(
                "{:0.0f}".format(discount_price))
        else:
            discount_price = format_course_price(
                "{:0.2f}".format(discount_price))

        # Separate out this string because it has a lot of syntax but no actual information for
        # translators to translate
        formatted_discount_price = HTML(
            u"{s_dp}{discount_price}{e_p} {s_st}{s_op}{original_price}{e_p}{e_st}"
        ).format(
            original_price=original_price,
            discount_price=discount_price,
            s_op=HTML("<span class='price original'>"),
            s_dp=HTML("<span class='price discount'>"),
            s_st=HTML("<del aria-hidden='true'>"),
            e_p=HTML("</span>"),
            e_st=HTML("</del>"),
        )

        return (HTML(
            _(u"{s_sr}Original price: {s_op}{original_price}{e_p}, discount price: {e_sr}{formatted_discount_price}"
              )).format(
                  original_price=original_price,
                  formatted_discount_price=formatted_discount_price,
                  s_sr=HTML("<span class='sr-only'>"),
                  s_op=HTML("<span class='price original'>"),
                  e_p=HTML("</span>"),
                  e_sr=HTML("</span>"),
              ), True)
    else:
        return (HTML(u"<span class='price'>{}</span>").format(original_price),
                False)
Exemple #2
0
 def get_course_price(self, model):
     registration_price, course_price = get_course_prices(model)
     return course_price
Exemple #3
0
def user_courseenrollment_post_save_callback(sender, instance, **kwargs):
    marketo_data = {}
    marketo_data["action"] = "createOrUpdate"
    marketo_data["lookupField"] = "enrollmentId"
    input_dict = {}
    input_list = []
    enrollment_id = instance.id
    email = instance.user.email
    course_id = instance.course_id
    if instance.course.start_date:
        start_date = instance.course.start_date.strftime("%Y-%m-%d,T%H:%M:%S")
    else:
        start_date = ""
    if instance.course.end_date:
        end_date = instance.course.end_date.strftime("%Y-%m-%d,T%H:%M:%S")
    else:
        end_date = ""
    language = instance.course.language
    title = instance.course.display_name_with_default
    univercity = instance.course.display_org_with_default
    course_url = settings.LMS_BASE + "/courses" + str(course_id) + "/course"
    status = "In Progress"
    registration_price, course_price = get_course_prices(instance.course)
    if course_price:
        price = registration_price
    else:
        price = 0
    input_dict["enrollmentId"] = enrollment_id
    input_dict["emailAddress"] = email
    input_dict["courseEndDate"] = end_date
    input_dict["courseID"] = str(course_id)
    input_dict["courseLanguage"] = language
    input_dict["coursePrice"] = price
    input_dict["courseStartDate"] = start_date
    input_dict["courseTitle"] = title
    input_dict["courseUniversity"] = univercity
    input_dict["courseURL"] = course_url
    input_dict["status"] = status
    input_list.append(input_dict)
    marketo_data["input"] = input_list
    log.info("marketo data %s", marketo_data)
    url = "https://329-HDZ-280.mktorest.com/identity/oauth/token?grant_type=client_credentials&client_id=363c80f1-9401-429d-bc10-d88819845677&client_secret=OlkWcLXzboXYxiLIkSsxHOg1egZkn51P"
    payload = {}
    headers = {}
    import requests
    response = requests.request("GET", url, headers=headers, data=payload)
    result = response.json()
    access_token = result['access_token']
    log.info("access token --------------> %s", access_token)
    log.info("marketo data --->%s", marketo_data)
    if access_token:
        marketo_url = "https://329-hdz-280.mktorest.com/rest/v1/customobjects/courseEnrollment_c.json"
        payload = json.dumps(marketo_data)
        header_data = 'Bearer ' + access_token
        headers = {
            'Authorization': header_data,
            'Content-Type': 'application/json'
        }
        response = requests.request("POST",
                                    marketo_url,
                                    headers=headers,
                                    data=payload)
        final_result = response.json()
        log.info("final responsee ---> %s", response)
        log.info("final result ---> %s", final_result)