import Controller from "@ember/controller";
import I18n from "I18n";
import { ajax } from "discourse/lib/ajax";
import bootbox from "bootbox";
import { popupAjaxError } from "discourse/lib/ajax-error";

export default Controller.extend({
  saving: false,
  replaceBadgeOwners: false,

  actions: {
    massAward() {
      const file = document.querySelector("#massAwardCSVUpload").files[0];

      if (this.model && file) {
        const options = {
          type: "POST",
          processData: false,
          contentType: false,
          data: new FormData(),
        };

        options.data.append("file", file);
        options.data.append("replace_badge_owners", this.replaceBadgeOwners);

        this.set("saving", true);

        ajax(`/admin/badges/award/${this.model.id}`, options)
          .then(() => {
            bootbox.alert(I18n.t("admin.badges.mass_award.success"));
          })
          .catch(popupAjaxError)
          .finally(() => this.set("saving", false));
      } else {
        bootbox.alert(I18n.t("admin.badges.mass_award.aborted"));
      }
    },
  },
});
