clientareacontacts.tpl 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. {*
  2. **********************************************************
  3. * Developed by: Team Theme Metro
  4. * Website: http://www.thememetro.com
  5. **********************************************************
  6. *}
  7. {if $contactid}
  8. {if $successful}
  9. {include file="$template/includes/alert.tpl" type="success" msg=$LANG.changessavedsuccessfully textcenter=true}
  10. {/if}
  11. {if $errormessage}
  12. {include file="$template/includes/alert.tpl" type="error" errorshtml=$errormessage}
  13. {/if}
  14. <script type="text/javascript" src="{$BASE_PATH_JS}/StatesDropdown.js"></script>
  15. <h4>{$LANG.clientareachoosecontact}</h4>
  16. <form role="form" method="post" action="{$smarty.server.PHP_SELF}?action=contacts">
  17. <div class="TM-card">
  18. <div class="row">
  19. <div class="col-sm-6">
  20. <select name="contactid" id="inputContactId" onchange="submit()" class="form-control">
  21. {foreach item=contact from=$contacts}
  22. <option value="{$contact.id}"{if $contact.id eq $contactid} selected="selected"{/if}>{$contact.name} - {$contact.email}</option>
  23. {/foreach}
  24. <option value="new">{$LANG.clientareanavaddcontact}</option>
  25. </select>
  26. </div>
  27. </div>
  28. </div>
  29. </form>
  30. <form role="form" method="post" action="{$smarty.server.PHP_SELF}?action=contacts&id={$contactid}">
  31. <input type="hidden" name="submit" value="true" />
  32. <h4>{$LANG.orderForm.personalInformation}</h4>
  33. <div class="TM-card">
  34. <div class="row">
  35. <div class="col-sm-6">
  36. <div class="form-group">
  37. <label for="inputFirstName" class="control-label">{$LANG.clientareafirstname}</label>
  38. <input type="text" name="firstname" id="inputFirstName" value="{$contactfirstname}" class="form-control" />
  39. </div>
  40. </div>
  41. <div class="col-sm-6">
  42. <div class="form-group">
  43. <label for="inputLastName" class="control-label">{$LANG.clientarealastname}</label>
  44. <input type="text" name="lastname" id="inputLastName" value="{$contactlastname}" class="form-control" />
  45. </div>
  46. </div>
  47. </div>
  48. <div class="row">
  49. <div class="col-sm-6">
  50. <div class="form-group">
  51. <label for="inputEmail" class="control-label">{$LANG.clientareaemail}</label>
  52. <input type="email" name="email" id="inputEmail" value="{$contactemail}" class="form-control" />
  53. </div>
  54. </div>
  55. <div class="col-sm-6">
  56. <div class="form-group">
  57. <label for="inputPhone" class="control-label">{$LANG.clientareaphonenumber}</label>
  58. <input type="tel" name="phonenumber" id="inputPhone" value="{$contactphonenumber}" class="form-control" />
  59. </div>
  60. </div>
  61. </div>
  62. </div>
  63. <h4>{$LANG.orderForm.billingAddress}</h4>
  64. <div class="TM-card">
  65. <div class="form-group">
  66. <label for="inputCompanyName" class="control-label">{$LANG.clientareacompanyname}</label>
  67. <input type="text" name="companyname" id="inputCompanyName" value="{$contactcompanyname}" class="form-control" />
  68. </div>
  69. <div class="row">
  70. <div class="col-sm-6">
  71. <div class="form-group">
  72. <label for="inputAddress1" class="control-label">{$LANG.clientareaaddress1}</label>
  73. <input type="text" name="address1" id="inputAddress1" value="{$contactaddress1}" class="form-control" />
  74. </div>
  75. </div>
  76. <div class="col-sm-6">
  77. <div class="form-group">
  78. <label for="inputAddress2" class="control-label">{$LANG.clientareaaddress2}</label>
  79. <input type="text" name="address2" id="inputAddress2" value="{$contactaddress2}" class="form-control" />
  80. </div>
  81. </div>
  82. </div>
  83. <div class="row">
  84. <div class="col-sm-6">
  85. <div class="row">
  86. <div class="col-sm-6">
  87. <div class="form-group">
  88. <label for="inputCity" class="control-label">{$LANG.clientareacity}</label>
  89. <input type="text" name="city" id="inputCity" value="{$contactcity}" class="form-control" />
  90. </div>
  91. </div>
  92. <div class="col-sm-6">
  93. <div class="form-group">
  94. <label for="inputState" class="control-label">{$LANG.clientareastate}</label>
  95. <input type="text" name="state" id="inputState" value="{$contactstate}" class="form-control" />
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. <div class="col-sm-6">
  101. <div class="row">
  102. <div class="col-sm-6">
  103. <div class="form-group">
  104. <label for="inputPostcode" class="control-label">{$LANG.clientareapostcode}</label>
  105. <input type="text" name="postcode" id="inputPostcode" value="{$contactpostcode}" class="form-control" />
  106. </div>
  107. </div>
  108. <div class="col-sm-6">
  109. <div class="form-group">
  110. <label class="control-label" for="country">{$LANG.clientareacountry}</label>
  111. {$countriesdropdown}
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. <div class="form-group">
  118. <label for="inputTaxId" class="control-label">{lang key=$taxIdLabel}</label>
  119. <input type="text" name="tax_id" id="inputTaxId" class="form-control" value="{$contactTaxId}" />
  120. </div>
  121. </div>
  122. <h4>{$LANG.subaccountactivate}</h4>
  123. <div class="form-group">
  124. <div class="controls checkbox">
  125. <label>
  126. <input type="checkbox" name="subaccount" id="inputSubaccountActivate"{if $subaccount} checked{/if} /> {$LANG.subaccountactivatedesc}
  127. </label>
  128. </div>
  129. </div>
  130. <div id="subacct-container" class="TM-card{if !$subaccount} hidden{/if}">
  131. <h4>{$LANG.subaccountpermissions}</h4>
  132. <button type="button" class="btn btn-sm btn-primary btn-check-all" data-checkbox-container="contactPermissions" data-btn-check-toggle="1" id="btnSelectAll-contactPermissions" data-label-text-select="{lang key='checkAll'}" data-label-text-deselect="{lang key='uncheckAll'}">
  133. {lang key='checkAll'}
  134. </button>
  135. <div class="form-group">
  136. <label class="full control-label"></label>
  137. <div class="checkbox clearfix" id="contactPermissions">
  138. {foreach $allPermissions as $permission}
  139. <div class="col-sm-6">
  140. <label>
  141. <input type="checkbox" name="permissions[]" value="{$permission}"{if in_array($permission, $permissions)} checked{/if} />
  142. <span>
  143. {assign var='langPermission' value='subaccountperms'|cat:$permission}{$LANG.$langPermission}
  144. </span>
  145. </label>
  146. </div>
  147. {/foreach}
  148. </div>
  149. </div>
  150. <div class="form-group">
  151. <div class="row">
  152. <div class="col-sm-9">
  153. <div id="newPassword1" class="form-group has-feedback">
  154. <label for="inputNewPassword1">{$LANG.newpassword}</label>
  155. <input type="password" class="form-control" id="inputNewPassword1" name="password" autocomplete="off" />
  156. <span class="form-control-feedback glyphicon"></span>
  157. {include file="$template/includes/pwstrength.tpl" noDisable=true}
  158. </div>
  159. </div>
  160. <div class="col-sm-3">
  161. <div class="form-group">
  162. <label>&nbsp;</label>
  163. <button type="button" class="btn btn-default form-control generate-password" data-targetfields="inputNewPassword1,inputNewPassword2">
  164. {$LANG.generatePassword.btnLabel}
  165. </button>
  166. </div>
  167. </div>
  168. </div>
  169. <div class="row">
  170. <div class="col-sm-9">
  171. <div id="newPassword2" class="form-group has-feedback">
  172. <label for="inputNewPassword2">{$LANG.confirmnewpassword}</label>
  173. <input type="password" class="form-control" id="inputNewPassword2" name="password2" autocomplete="off" />
  174. <span class="form-control-feedback glyphicon"></span>
  175. <div id="inputNewPassword2Msg">
  176. </div>
  177. </div>
  178. </div>
  179. </div>
  180. </div>
  181. {if $hasLinkedProvidersEnabled}
  182. <h5 class="bolder heading">Linked Accounts</h5>
  183. <div class="TM-card">
  184. {include file="$template/includes/linkedaccounts.tpl" linkContext="linktable" }
  185. </div>
  186. {/if}
  187. </div>
  188. <div class="TM-card">
  189. <div class="form-group">
  190. <label class="control-label">{$LANG.clientareacontactsemails}</label>
  191. <div class="controls checkbox">
  192. {foreach $emailPreferences as $emailType => $value}
  193. <label>
  194. <input type="hidden" name="email_preferences[{$emailType}]" value="0">
  195. <input type="checkbox" name="email_preferences[{$emailType}]" id="{$emailType}emails" value="1"{if $value} checked="checked"{/if} />
  196. {lang key="clientareacontactsemails"|cat:$emailType}
  197. </label>{if !($emailType@last)}<br />{/if}
  198. {/foreach}
  199. </div>
  200. </div>
  201. </div>
  202. <div class="form-actions">
  203. <input class="btn btn-primary" type="submit" name="save" value="{$LANG.clientareasavechanges}" />
  204. <input class="btn btn-default" type="reset" value="{$LANG.cancel}" />
  205. <a class="btn btn-danger" data-toggle="confirmation" data-btn-ok-label="{lang key='yes'}" data-btn-ok-icon="fa fa-check" data-btn-ok-class="btn-success" data-btn-cancel-label="{lang key='no'}" data-btn-cancel-icon="fa fa-ban" data-btn-cancel-class="btn-default" data-title="{lang key='clientareadeletecontact'}" data-content="{lang key='clientareadeletecontactareyousure'}" data-popout="true" href="clientarea.php?action=contacts&delete=true&id={$contactid}&token={$token}">{lang key='clientareadeletecontact'}</a>
  206. </div>
  207. </form>
  208. {else}
  209. {include file="$template/clientareaaddcontact.tpl"}
  210. {/if}
  211. <script>
  212. jQuery(document).ready( function ()
  213. {
  214. WHMCS.form.register();
  215. jQuery('.removeAccountLink').click(function (e) {
  216. e.preventDefault();
  217. var authUserID = jQuery(this).data('authid');
  218. swal(
  219. {
  220. title: "Are you sure?",
  221. text: "This permanently unlinks the authorized account.",
  222. type: "warning",
  223. showCancelButton: true,
  224. confirmButtonColor: "#DD6B55",
  225. confirmButtonText: "Yes, unlink it!",
  226. closeOnConfirm: false
  227. },
  228. function(){
  229. WHMCS.http.jqClient.post('{routePath('auth-manage-client-delete')}' + authUserID,
  230. {
  231. 'token': '" . generate_token("plain") . "'
  232. }).done(function(data) {
  233. if (data.status == 'success') {
  234. jQuery('#remoteAuth' + authUserID).remove();
  235. swal("Unlinked!", data.message, "success");
  236. } else {
  237. swal("Error!", data.message, "error");
  238. }
  239. });
  240. });
  241. });
  242. });
  243. </script>