html.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. App.HTML.makeDatabases = function(databases){
  2. var acc = [];
  3. $(databases).each(function(i, o){
  4. var tpl = App.Templates.get('database', 'database');
  5. tpl.set(':name', o.Database);
  6. tpl.set(':db_name', o.Database);
  7. acc[acc.length++] = tpl.finalize();
  8. });
  9. return acc.done();
  10. }
  11. App.HTML.makeDbTableList = function(data){
  12. var acc = [];
  13. $(data).each(function(i, o){
  14. var name = App.Helpers.getFirstValue(o);
  15. var tpl = App.Templates.get('database_table', 'database');
  16. tpl.set(':name', name);
  17. tpl.set(':table_name', name);
  18. acc[acc.length++] = tpl.finalize();
  19. });
  20. return acc.done();
  21. }
  22. App.HTML.makeDbFieldsList = function(data){
  23. var acc = [];
  24. $(data).each(function(i, o){
  25. var details = [o['Type'], o['Null'], o['Key'], o['Default'], o['Extra']].join(' ');
  26. var tpl = App.Templates.get('database_field', 'database');
  27. tpl.set(':name', o.Field);
  28. tpl.set(':details', details);
  29. acc[acc.length++] = tpl.finalize();
  30. });
  31. return acc.done();
  32. }
  33. App.HTML.Build.dns_form = function(options, id) {
  34. if('undefined' == typeof App.Env.initialParams) {
  35. return alert('PLease wait a bit. Some background processes are not yet executed. Thank you for patience.');
  36. }
  37. var tpl = App.Templates.get('FORM', 'dns');
  38. tpl.set(':source', options);
  39. options = App.Helpers.evalJSON(options) || {};
  40. if (App.Helpers.isEmpty(options)) {
  41. tpl.set(':title', 'New dns record');
  42. tpl.set(':save_button', 'ADD');
  43. }
  44. else {
  45. tpl.set(':title', 'Edit dns record');
  46. tpl.set(':save_button', 'SAVE');
  47. }
  48. tpl.set(':id', id || '');
  49. tpl.set(':DNS_DOMAIN', options.DNS_DOMAIN || '');
  50. tpl.set(':IP', options.IP || '');
  51. tpl.set(':TTL', options.TTL || '');
  52. tpl.set(':SOA', options.SOA || '');
  53. tpl.set(':DATE', options.DATE || '');
  54. tpl = App.HTML.Build.dns_selects(tpl, options);
  55. return tpl.finalize();
  56. }
  57. App.HTML.Build.ip_form = function(options, id) {
  58. if('undefined' == typeof App.Env.initialParams) {
  59. return alert('PLease wait a bit. Some background processes are not yet executed. Thank you for patience.');
  60. }
  61. var tpl = App.Templates.get('FORM', 'ip');
  62. tpl.set(':source', options);
  63. options = App.Helpers.evalJSON(options) || {};
  64. if (App.Helpers.isEmpty(options)) {
  65. tpl.set(':title', 'New ip address');
  66. tpl.set(':save_button', 'ADD');
  67. }
  68. else {
  69. tpl.set(':title', 'Edit ip address');
  70. tpl.set(':save_button', 'SAVE');
  71. }
  72. tpl.set(':id', id || '');
  73. tpl.set(':IP_ADDRESS', options.IP_ADDRESS || '');
  74. tpl.set(':NETMASK', options.NETMASK || '');
  75. tpl.set(':NAME', options.NAME || '');
  76. tpl = App.HTML.Build.ip_selects(tpl, options);
  77. return tpl.finalize();
  78. }
  79. App.HTML.Build.ip_selects = function(tpl, options) {
  80. // OWNER
  81. var opts = App.HTML.Build.options(App.Env.initialParams.IP.SYS_USERS, options.OWNER);
  82. tpl.set(':owner_options', opts);
  83. // STATUS
  84. var opts = App.HTML.Build.options(App.Env.initialParams.IP.STATUSES, options.STATUS);
  85. tpl.set(':status_options', opts);
  86. // INTERFACE
  87. var opts = App.HTML.Build.options(App.Env.initialParams.IP.INTERFACES, options.INTERFACE);
  88. tpl.set(':interface_options', opts);
  89. return tpl;
  90. }
  91. App.HTML.Build.dns_selects = function(tpl, options) {
  92. try{
  93. // TPL
  94. var obj = App.Env.initialParams.DNS.TPL;
  95. var opts = App.HTML.Build.options(obj, options.TPL);
  96. tpl.set(':TPL', opts);
  97. tpl.set(':TPL_DEFAULT_VALUE', options.TPL || App.Helpers.getFirstKey(obj));
  98. }
  99. catch (e) {
  100. return '';
  101. }
  102. return tpl;
  103. }
  104. App.HTML.Build.options = function(initial, default_value) {
  105. var opts = [];
  106. $.each(initial, function(key){
  107. var selected = key == default_value ? 'selected="selected"' : '';
  108. opts[opts.length++] = '<option value="'+key+'" '+selected+'>'+initial[key]+'</options>';
  109. });
  110. return opts.join('');
  111. }
  112. App.HTML.Build.ip_entry = function(o){
  113. var tpl = App.Templates.get('ENTRY', 'ip');
  114. tpl.set(':source',$.toJSON(o));
  115. tpl.set(':NETMASK', o.NETMASK);
  116. tpl.set(':IP_ADDRESS', o.IP_ADDRESS);
  117. tpl.set(':SYS_USERS', o.U_SYS_USERS);
  118. tpl.set(':WEB_DOMAINS', o.U_WEB_DOMAINS);
  119. tpl.set(':DATE', o.DATE);
  120. tpl.set(':INTERFACE', o.INTERFACE);
  121. tpl.set(':NAME', o.NAME);
  122. tpl.set(':OWNER', o.OWNER);
  123. tpl.set(':STATUS', o.STATUS);
  124. tpl.set(':U_SYS_USERS', o.U_SYS_USERS);
  125. tpl.set(':U_WEB_DOMAINS', o.U_WEB_DOMAINS);
  126. if (App.Constants.SUSPENDED_YES == o.SUSPENDED) {
  127. var sub_tpl = App.Templates.get('SUSPENDED_TPL_ENABLED', 'ip');
  128. }
  129. else {
  130. var sub_tpl = App.Templates.get('SUSPENDED_TPL_DISABLED', 'ip');
  131. }
  132. tpl.set(':SUSPENDED_TPL', sub_tpl.finalize());
  133. return tpl.finalize();
  134. }
  135. App.HTML.Build.dns_entry = function(o, is_new){
  136. var tpl = App.Templates.get('ENTRY', 'dns');
  137. tpl.set(':source', App.Helpers.toJSON(o));
  138. tpl.set(':DNS_DOMAIN', o.DNS_DOMAIN);
  139. var ip = o.IP.split('.');
  140. tpl.set(':IP', ip.join('<span class="dot">.</span>'));
  141. tpl.set(':TTL', o.TTL);
  142. tpl.set(':TPL', o.TPL);
  143. tpl.set(':SOA', o.SOA);
  144. tpl.set(':TTL', o.TTL);
  145. tpl.set(':DATE', o.DATE);
  146. tpl.set(':CHECKED', '');
  147. if (is_new) {
  148. var now = new Date();
  149. tpl.set(':DATE', now.format("d.mm.yyyy"));
  150. }
  151. /*tpl.set(':NETMASK', o.NETMASK);
  152. tpl.set(':IP_ADDRESS', o.IP_ADDRESS);
  153. tpl.set(':SYS_USERS', o.U_SYS_USERS);
  154. tpl.set(':WEB_DOMAINS', o.U_WEB_DOMAINS);
  155. tpl.set(':DATE', o.DATE);
  156. tpl.set(':INTERFACE', o.INTERFACE);
  157. tpl.set(':NAME', o.NAME);
  158. tpl.set(':OWNER', o.OWNER);
  159. tpl.set(':STATUS', o.STATUS);
  160. tpl.set(':U_SYS_USERS', o.U_SYS_USERS);
  161. tpl.set(':U_WEB_DOMAINS', o.U_WEB_DOMAINS);
  162. */
  163. if (App.Constants.SUSPENDED_YES == o.SUSPEND) {
  164. var sub_tpl = App.Templates.get('SUSPENDED_TPL_ENABLED', 'dns');
  165. }
  166. else {
  167. var sub_tpl = App.Templates.get('SUSPENDED_TPL_DISABLED', 'dns');
  168. }
  169. tpl.set(':SUSPENDED_TPL', sub_tpl.finalize());
  170. return tpl.finalize();
  171. }
  172. App.HTML.Build.dns_records = function(records)
  173. {
  174. var acc = [];
  175. $.each(records, function(i, record)
  176. {
  177. var record = records[i];
  178. var tpl = App.HTML.Build.dns_subrecord(record);
  179. acc[acc.length] = tpl.finalize();
  180. });
  181. return acc.done();
  182. }
  183. App.HTML.Build.dns_subrecord = function(record)
  184. {
  185. var tpl = App.Templates.get('SUBENTRY', 'dns');
  186. tpl.set(':RECORD', record.RECORD || '');
  187. tpl.set(':RECORD_VALUE', record.RECORD_VALUE || '');
  188. tpl.set(':RECORD_ID', record.RECORD_ID || '');
  189. //tpl.set(':RECORD_TYPE_VALUE', '');
  190. tpl.set(':RECORD_TYPE', App.HTML.Build.options(App.Env.initialParams.DNS.record.RECORD_TYPE, (record.RECORD_TYPE || -1)));
  191. return tpl;
  192. }