mirror of https://github.com/zulip/zulip.git
91 lines
2.5 KiB
JavaScript
91 lines
2.5 KiB
JavaScript
import $ from "jquery";
|
|
|
|
import * as helpers from "./helpers";
|
|
|
|
export function create_update_license_request() {
|
|
helpers.create_ajax_request(
|
|
"/json/billing/plan",
|
|
"licensechange",
|
|
undefined,
|
|
["licenses_at_next_renewal"],
|
|
undefined,
|
|
"PATCH",
|
|
);
|
|
}
|
|
|
|
export function initialize() {
|
|
helpers.set_tab("billing");
|
|
|
|
const stripe_key = $("#payment-method").data("key");
|
|
const card_change_handler = StripeCheckout.configure({
|
|
key: stripe_key,
|
|
image: "/static/images/logo/zulip-icon-128x128.png",
|
|
locale: "auto",
|
|
token(stripe_token) {
|
|
helpers.create_ajax_request("/json/billing/sources/change", "cardchange", stripe_token);
|
|
},
|
|
});
|
|
|
|
$("#update-card-button").on("click", (e) => {
|
|
const email = $("#payment-method").data("email");
|
|
card_change_handler.open({
|
|
name: "Zulip",
|
|
zipCode: true,
|
|
billingAddress: true,
|
|
panelLabel: "Update card",
|
|
email,
|
|
label: "Update card",
|
|
allowRememberMe: false,
|
|
});
|
|
e.preventDefault();
|
|
});
|
|
|
|
$("#update-licenses-button").on("click", (e) => {
|
|
if (helpers.is_valid_input($("#new_licenses_input")) === false) {
|
|
return;
|
|
}
|
|
e.preventDefault();
|
|
const current_licenses = $("#licensechange-input-section").data("licenses");
|
|
const new_licenses = $("#new_licenses_input").val();
|
|
if (new_licenses > current_licenses) {
|
|
$("#new_license_count_holder").text(new_licenses);
|
|
$("#current_license_count_holder").text(current_licenses);
|
|
$("#confirm-licenses-modal").modal("show");
|
|
} else {
|
|
create_update_license_request();
|
|
}
|
|
});
|
|
|
|
$("#confirm-license-update-button").on("click", () => {
|
|
create_update_license_request();
|
|
});
|
|
|
|
$("#update-licenses-at-next-renewal-button").on("click", (e) => {
|
|
e.preventDefault();
|
|
helpers.create_ajax_request(
|
|
"/json/billing/plan",
|
|
"licensechange",
|
|
undefined,
|
|
["licenses"],
|
|
undefined,
|
|
"PATCH",
|
|
);
|
|
});
|
|
|
|
$("#change-plan-status").on("click", (e) => {
|
|
helpers.create_ajax_request(
|
|
"/json/billing/plan",
|
|
"planchange",
|
|
undefined,
|
|
undefined,
|
|
undefined,
|
|
"PATCH",
|
|
);
|
|
e.preventDefault();
|
|
});
|
|
}
|
|
|
|
$(() => {
|
|
initialize();
|
|
});
|