Built files from Bizgaze WebServer
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

inviteuser.js 28KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let InviteUsers;
  6. (function (InviteUsers) {
  7. let Components;
  8. (function (Components) {
  9. class InviteUser extends Platform.Core.BaseComponent {
  10. cssFiles() {
  11. return [];
  12. }
  13. jsFiles() {
  14. return ["platform/inviteusers/components/resetpassword.js"];
  15. }
  16. html(id, containerid) {
  17. let html = `<form id="formSendEmail" method="post" class="" data-validate="parsley">
  18. <div class="header bg-white modal-header">
  19. <strong class="text-dark">Invite Mail</strong>
  20. <a class="btn btn-sm"><i class="ti-help-alt" title="help" href="undefined" target="_blank"></i></a>
  21. </div>
  22. <div data-simplebar class="modal-body bg-light simple-scroll-bar">
  23. <div class="card">
  24. <div id="bizgaze_SpiltErrorMessages" class="clear"></div>
  25. <div class="bg-white card-body">
  26. <div class="col-sm-12">
  27. <div class="floating-label-form-group floating-label-form-group-with-value">
  28. <label for="lbl" id="lbl_subject">Subject<span class="text-danger"> *</span></label>
  29. <input type="text" id="txt_Subject" class="type-control form-control type-control value-control required floating-label-control" data-required="true" placeholder="Subject *" data-placeholder="Enter Subject" data-label="Subject *" />
  30. </div>
  31. </div>
  32. <div class="col-sm-12">
  33. <div class="floating-label-form-group">
  34. <label for="txt_Message">Message<span class="text-danger"> *</span></label>
  35. <input type="text" id="txt_Message" class="form-control value-control required floating-label-control" data-required="true" placeholder="Message *" data-placeholder="Enter Message " data-label="Message *" />
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. </div>
  41. <div class="bg-white modal-footer">
  42. <a href="javascript:;" id="btn_CloseForm" class="btn btn-light btn-sm">Close</a>
  43. <a href="javascript:;" id="btnSendMail" class="btn btn-primary btn-sm ml-auto">Send</a>
  44. </div>
  45. </form>`;
  46. return html;
  47. }
  48. load(id, containerid, callback) {
  49. var subjects = $("#Column1").text();
  50. let subject = "Welcome to " + subjects;
  51. $('#txt_Subject').val(subject);
  52. $("#btn_CloseForm").click(function () {
  53. $('#' + containerid).modal('hide');
  54. $('#' + containerid).remove();
  55. });
  56. $("#btnSendMail").click(function () {
  57. var tenantid = "";
  58. var unibaseid = "";
  59. var emailaddress = "";
  60. var phonenumber = "";
  61. if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
  62. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  63. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_tenantid") {
  64. tenantid = obj.Value.toString();
  65. }
  66. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_unibaseid") {
  67. unibaseid = obj.Value.toString();
  68. }
  69. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_emailaddress") {
  70. emailaddress = obj.Value.toString();
  71. }
  72. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_phonenumber") {
  73. phonenumber = obj.Value.toString();
  74. if (phonenumber == null || phonenumber == undefined || phonenumber == "")
  75. phonenumber = "0";
  76. }
  77. }
  78. }
  79. var subject = $("#txt_Subject").val().toString();
  80. unibaseid = unibaseid.replace(/-/g, '');
  81. var url = window.location.origin + "/#/register" + "/" + unibaseid + "/" + tenantid + "/" + emailaddress + "/" + phonenumber;
  82. var body = $("#txt_Message").val().toString() + "," + url;
  83. if ($("#txt_Message").val() == "" || $("#txt_Subject").val() == "") {
  84. MessageHelper.Instance().showError("Mandatory fields missing!", 'bizgaze_SpiltErrorMessages');
  85. return false;
  86. }
  87. Unibase.Platform.InviteUsers.Components.InviteUser.Instance().sendmail(containerid, emailaddress, subject, body);
  88. });
  89. }
  90. init(containerid) {
  91. var instance = this;
  92. instance.fileCacheHelper.loadJsFile("platform/inviteusers/managers/inviteusermanager.js", function () {
  93. Unibase.Platform.InviteUsers.Managers.InviteUserManager.Instance();
  94. instance.render(containerid);
  95. });
  96. }
  97. render(containerid) {
  98. var instance = this;
  99. var portletwidgetid = Number($("#hf_PortletWidgetId").val());
  100. $("." + containerid).empty();
  101. let html = `<div class="invite-section-container" id="invitesection_div">
  102. <div class=" InviteDiv" id="inviteButtonDiv">
  103. <div class="card invite-card" style="margin-bottom:0px;" >
  104. <div class="card-header border-1">
  105. <span class="biz-highlight-bg-color">Security & Login</span>
  106. </div>
  107. <div class="card-body bg-white biz-transparent-text-color d-flex flex-wrap p-3">
  108. <div class="w-100 w-md-50 d-flex flex-row">
  109. <span class="w-25 w-sm-50" >Email</span>:
  110. <span class="text-light-60 text-overflow w-75 w-sm-50 ml-1" id="invite_mail">
  111. </span>
  112. </div>
  113. <div class="w-100 pt-2 pt-sm-0 w-md-50 d-flex flex-row">
  114. <span class="w-25 w-sm-50">Phone</span>:
  115. <span class="text-light-60 text-overflow w-75 w-sm-50 ml-1" id="invite_number">
  116. </span>
  117. </div>
  118. </div>
  119. <div class="p-3 pt-0 lblmsgdiv hidden"><label id="lblmsg"></label></div>
  120. <div class="text-center mb-3" id="">
  121. <a href="javascript:;" id="btnRegister" onclick="Unibase.Platform.InviteUsers.Components.InviteUser.Instance().inviteMail();" class="btn btn-outline-primary rounded-4 font-14 p-2">
  122. <i class="fa fa-user font-18 mr-5"></i>
  123. Invite User
  124. </a>
  125. </div>
  126. </div>
  127. </div>
  128. <div class="" id="PasswordDiv" style="display:none;">
  129. <div class="card invite-card">
  130. <div class="card-header border-1">
  131. <span class="biz-highlight-bg-color">Security & Login</span>
  132. </div>
  133. <div class="card-body bg-white px-20 py-5">
  134. <div class="row my-sm-2">
  135. <div class="col-6 my-2">
  136. <button
  137. class="btn btn-outline-blue rounded-4 font-14 p-3 text-left btn_btnchngepassword" id="btnchngepassword"><i
  138. class="fa fa-key font-18 mr-5"></i>
  139. Change Password</button>
  140. </div>
  141. <div class="col-6 my-2 text-right">
  142. <button
  143. class="btn btn-outline-red rounded-4 font-14 p-3 text-left" onclick='' id="btnChangeLockStatus"><i
  144. class="fa fa-lock mr-5 font-18"></i>
  145. Lock User</button>
  146. </div>
  147. </div>
  148. </div>
  149. </div>
  150. </div>
  151. <div class="col-12 p-0" id="UserLockStatusDiv" style="display:none;">
  152. <div class="card">
  153. <div class="card-header border-1 style="border-bottom-right-radius: 0px !important;border-bottom-left-radius: 0px !important;">
  154. <span class="biz-highlight-bg-color">Security & Login</span>
  155. </div>
  156. <div class="card-body px-20 py-5" >
  157. <div class="row my-sm-2">
  158. <div class="col-6 my-2 ">
  159. <button
  160. class="btn btn-outline-blue rounded-4 font-14 p-3 text-left font-weight-500 btn_btnchngepassword" id="changepassword_btn" ><i
  161. class="fa fa-key font-18 mr-5"></i>
  162. Change Password</button>
  163. </div>
  164. <div class="col-6 my-2 text-right">
  165. <button
  166. class="btn btn-outline-green rounded-4 font-14 p-3 text-left font-weight-500" id="btnChangeUnLockStatus"><i
  167. class="fa fa-unlock-alt font-18 mr-5"></i>
  168. UnLock</button>
  169. </div>
  170. </div>
  171. </div>
  172. </div>
  173. </div>
  174. </div>
  175. `;
  176. $("." + containerid).append(html);
  177. instance.loadDetails();
  178. }
  179. loadDetails() {
  180. var instance = this;
  181. var emailaddress = "";
  182. var phonenumber = "";
  183. $(".btn_btnchngepassword").click(function () {
  184. instance.fileCacheHelper.loadJsFile('platform/inviteusers/components/resetpassword.js', function () {
  185. instance.navigationHelper.popup(0, '', Unibase.Platform.InviteUsers.Components.ResetPassword.Instance(), null, Platform.Helpers.Size.DockLeft);
  186. });
  187. });
  188. if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
  189. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  190. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_emailaddress") {
  191. if (obj.Value != null)
  192. emailaddress = obj.Value.toString();
  193. }
  194. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_phonenumber") {
  195. if (obj.Value != null)
  196. phonenumber = obj.Value.toString();
  197. if (phonenumber == null || phonenumber == undefined || phonenumber == "")
  198. phonenumber = "0";
  199. }
  200. }
  201. }
  202. if (emailaddress == "" || emailaddress == "[object Object]") {
  203. let emailError = '<span class="text-warning ml-1">Email Address Mandatory * </span>';
  204. $("#invite_mail").html(emailError);
  205. $("#btnRegister").hide();
  206. }
  207. else {
  208. $("#invite_mail").text(emailaddress);
  209. }
  210. $("#invite_number").text(phonenumber);
  211. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  212. var contactid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_contactid").Value);
  213. var userid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_userid").Value);
  214. if (userid == 0) {
  215. userid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_contactid").Value);
  216. }
  217. var IsUser = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_loginenabled").Value;
  218. Unibase.Platform.InviteUsers.Managers.InviteUserManager.Instance().getcontactconflicts(contactid, userid).then(function (response) {
  219. var resp = response.result;
  220. if (response.result == null || response.result == null) {
  221. }
  222. var data1 = null;
  223. if (resp != null) {
  224. data1 = resp.toString().replace('[', '').replace('"', '').replace(']', '').replace('"', '');
  225. var data = data1.split(',');
  226. }
  227. if (resp == null && IsUser == true) {
  228. $("#changePasswordDiv").html('<a href="javascript:;" id="btnChangePassword" class="btn btn-block btn-lg btn-s-md btn-warning btn-block">Change Password</a>');
  229. $(".InviteDiv").hide();
  230. $("#PasswordDiv").show();
  231. $("#headerdiv").hide();
  232. $("#UserLockStatusDiv").hide();
  233. }
  234. else if (data.length == 1 && data[0] != "") {
  235. $('.lblmsgdiv').removeClass('hidden');
  236. $("#lblmsg").html('');
  237. $("#lblmsg").append("<p class='text-warning font-weight-500 font-16'>Prerequisite<p>");
  238. $("#lblmsg").append("<span class='font-14'>" + 1 + ". " + data[0] + "</span>");
  239. $(".InviteDiv").show();
  240. $(".headerdiv").show();
  241. $("#btnRegister").addClass("hidden");
  242. }
  243. else {
  244. if (IsUser == false) {
  245. if ($("#hf_" + $("#hfLayout_InstalledPageId").val() + "_StageName").val() != "Relieved") {
  246. $(".InviteDiv").show();
  247. $(".headerdiv").show();
  248. $("#PasswordDiv").hide();
  249. }
  250. }
  251. else if (IsUser == true) {
  252. $("#invite").text("");
  253. $("#changePasswordDiv").html('<a href="javascript:;" id="btnChangePassword" class="btn btn-block btn-lg btn-s-md btn-warning btn-block">Change Password</a>');
  254. $(".InviteDiv").hide();
  255. $("#headerdiv").hide();
  256. }
  257. }
  258. instance.LockDetails();
  259. instance.loadType();
  260. });
  261. $("#btnChangePassword").click(function () {
  262. instance.fileCacheHelper.loadJsFile('platform/inviteusers/components/resetpassword.js', function () {
  263. instance.navigationHelper.popup(0, '', Unibase.Platform.InviteUsers.Components.ResetPassword.Instance(), null, Platform.Helpers.Size.DockLeft);
  264. });
  265. });
  266. $("#btnChangeLockStatus").off('click').click(function () {
  267. var instance = this;
  268. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  269. var status = "UnLock";
  270. if (Unibase.Platform.InviteUsers.Components.InviteUser.Instance().lockstatus == 'Un-Lock')
  271. status = "Lock";
  272. bootbox.confirm("User gets " + status + " Are you sure?", function (result) {
  273. if (result) {
  274. var unibaseid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_unibaseid").Value;
  275. Unibase.Platform.InviteUsers.Managers.InviteUserManager.Instance().changeuserslocktatus(unibaseid).then(function (response) {
  276. MessageHelper.Instance().showSuccess(response.message, '');
  277. var detailobj = Unibase.Themes.Compact.Components.Details.Instance();
  278. detailobj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
  279. detailobj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  280. detailobj._containerId = $("._bizgaze_detail_container:visible").attr("id");
  281. var idetailObj = detailobj;
  282. detailobj.loadPortlets(idetailObj);
  283. });
  284. }
  285. });
  286. });
  287. $("#btnChangeUnLockStatus").off("click").click(function () {
  288. var instance = this;
  289. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  290. var status = "UnLock";
  291. if (Unibase.Platform.InviteUsers.Components.InviteUser.Instance().lockstatus == 'Un-Lock')
  292. status = "Lock";
  293. bootbox.confirm("User gets " + status + " Are you sure?", function (result) {
  294. if (result) {
  295. var unibaseid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_unibaseid").Value;
  296. Unibase.Platform.InviteUsers.Managers.InviteUserManager.Instance().changeuserslocktatus(unibaseid).then(function (response) {
  297. MessageHelper.Instance().showSuccess(response.message, '');
  298. var detailobj = Unibase.Themes.Compact.Components.Details.Instance();
  299. detailobj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
  300. detailobj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  301. detailobj._containerId = $("._bizgaze_detail_container:visible").attr("id");
  302. var idetailObj = detailobj;
  303. detailobj.loadPortlets(idetailObj);
  304. });
  305. }
  306. });
  307. });
  308. instance.LockDetails();
  309. }
  310. loadType() {
  311. if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
  312. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  313. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_refstatusid") {
  314. var isrestricteduser = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_isrestricteduser").Value;
  315. var refstatusid = obj.Value;
  316. if (refstatusid != "3" && isrestricteduser.toString() == "false") {
  317. $("#invitesection_div").addClass("hidden");
  318. }
  319. else {
  320. $("#invitesection_div").removeClass("hidden");
  321. }
  322. }
  323. }
  324. }
  325. }
  326. LockDetails() {
  327. var instance = this;
  328. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  329. var unibaseid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_unibaseid").Value;
  330. var Stagename = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_stagename").Value;
  331. Unibase.Platform.InviteUsers.Managers.InviteUserManager.Instance().validatelocktatus(unibaseid).then(function (response) {
  332. if (response != undefined && response.toString() == "Lock" && Stagename != "Relieved") {
  333. $("#btnUserLogin").hide();
  334. $("#userMsg").show().text("User Locked");
  335. $("#btnChangeLockStatus").off('click');
  336. instance.lockstatus = 'Lock';
  337. if ($('#divLock').hasClass('fa-unlock-alt'))
  338. $("#divLock").removeClass('fa-unlock-alt').addClass('fa-lock');
  339. $("#LockStatus").text(response.toString());
  340. $("#PasswordDiv").hide();
  341. $("#UserLockStatusDiv").show();
  342. $("#inviteButtonDiv").hide();
  343. }
  344. else if (response != undefined && response.toString() == "UnLock" && Stagename != "Relieved") {
  345. instance.lockstatus = 'Un-Lock';
  346. $("#LockStatus").text(response.toString());
  347. if ($('#divLock').hasClass('fa-lock'))
  348. $("#divLock").removeClass('fa-lock').addClass('fa-unlock-alt');
  349. $("#UserLockStatusDiv").hide();
  350. $("#PasswordDiv").show();
  351. $("#inviteButtonDiv").hide();
  352. $("#btnUserLogin").show();
  353. $("#userMsg").hide();
  354. }
  355. if (response != undefined && response.toString() == "Lock" && Stagename == "Relieved") {
  356. $("#btnUserLogin").hide();
  357. $("#userMsg").show().text("User Relieved");
  358. $("#btnChangeLockStatus").off('click');
  359. instance.lockstatus = 'Lock';
  360. if ($('#divLock').hasClass('fa-unlock-alt'))
  361. $("#divLock").removeClass('fa-unlock-alt').addClass('fa-lock');
  362. $("#LockStatus").text(response.toString());
  363. $("#PasswordDiv").hide();
  364. $("#UserLockStatusDiv").show();
  365. $("#inviteButtonDiv").hide();
  366. }
  367. });
  368. }
  369. inviteMail() {
  370. var instance = this;
  371. instance.navigationHelper.popup(0, '', Unibase.Platform.InviteUsers.Components.InviteUser.Instance(), null, Platform.Helpers.Size.DockLeft);
  372. }
  373. sendmail(containerid, emailaddress, subject, body) {
  374. $(".preloader-it").fadeIn();
  375. var mailpostData = {
  376. EmailAddress: emailaddress,
  377. Subject: subject,
  378. Body: body
  379. };
  380. this.fileCacheHelper.loadJsFile('platform/inviteusers/managers/inviteusermanager.js', function () {
  381. Unibase.Platform.InviteUsers.Managers.InviteUserManager.Instance().sendMail(mailpostData).then(function (response) {
  382. $('#' + containerid).modal('hide');
  383. $('#' + containerid).remove();
  384. $(".preloader-it").delay(200).fadeOut("slow");
  385. MessageHelper.Instance().showSuccess(response.message, '');
  386. });
  387. });
  388. }
  389. static Instance() {
  390. if (this.instance === undefined) {
  391. this.instance = new InviteUser();
  392. }
  393. return this.instance;
  394. }
  395. }
  396. Components.InviteUser = InviteUser;
  397. })(Components = InviteUsers.Components || (InviteUsers.Components = {}));
  398. })(InviteUsers = Platform.InviteUsers || (Platform.InviteUsers = {}));
  399. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  400. })(Unibase || (Unibase = {}));