Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

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 = {}));