invited_ctrl.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import coreModule from "../core_module";
  2. import config from "app/core/config";
  3. export class InvitedCtrl {
  4. /** @ngInject */
  5. constructor($scope, $routeParams, contextSrv, backendSrv) {
  6. contextSrv.sidemenu = false;
  7. $scope.formModel = {};
  8. $scope.navModel = {
  9. main: {
  10. icon: "gicon gicon-branding",
  11. subTitle: "Register your Grafana account",
  12. breadcrumbs: [{ title: "Login", url: "/login" }, { title: "Invite" }]
  13. }
  14. };
  15. $scope.init = function() {
  16. backendSrv
  17. .get("/api/user/invite/" + $routeParams.code)
  18. .then(function(invite) {
  19. $scope.formModel.name = invite.name;
  20. $scope.formModel.email = invite.email;
  21. $scope.formModel.username = invite.email;
  22. $scope.formModel.inviteCode = $routeParams.code;
  23. $scope.greeting = invite.name || invite.email || invite.username;
  24. $scope.invitedBy = invite.invitedBy;
  25. });
  26. };
  27. $scope.submit = function() {
  28. if (!$scope.inviteForm.$valid) {
  29. return;
  30. }
  31. backendSrv
  32. .post("/api/user/invite/complete", $scope.formModel)
  33. .then(function() {
  34. window.location.href = config.appSubUrl + "/";
  35. });
  36. };
  37. $scope.init();
  38. }
  39. }
  40. coreModule.controller("InvitedCtrl", InvitedCtrl);