ip.twig (6911B)
1 {{ header }}{{ column_left }} 2 <div id="content"> 3 <div class="page-header"> 4 <div class="container-fluid"> 5 <div class="pull-right"> 6 <button class="btn btn-primary" data-toggle="tooltip" form="form-fraud" title="{{ button_save }}" type="submit"><i class="fa fa-save"></i></button> 7 <a class="btn btn-default" data-toggle="tooltip" href="{{ cancel }}" title="{{ button_cancel }}"><i class="fa fa-reply"></i></a></div> 8 <h1>{{ heading_title }}</h1> 9 <ul class="breadcrumb"> 10 {% for breadcrumb in breadcrumbs %} 11 <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> 12 {% endfor %} 13 </ul> 14 </div> 15 </div> 16 <div class="container-fluid"> {% if error_warning %} 17 <div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} 18 <button class="close" data-dismiss="alert" type="button">×</button> 19 </div> 20 {% endif %} 21 <div class="panel panel-default"> 22 <div class="panel-heading"> 23 <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_edit }}</h3> 24 </div> 25 <div class="panel-body"> 26 <form action="{{ action }}" method="post" class="form-horizontal" enctype="multipart/form-data" id="form-fraud"> 27 <div class="form-group"> 28 <label class="col-sm-2 control-label" for="input-order-status"><span data-toggle="tooltip" title="{{ help_order_status }}">{{ entry_order_status }}</span></label> 29 <div class="col-sm-10"> 30 <select name="fraud_ip_order_status_id" id="input-order-status" class="form-control"> 31 32 33 {% for order_status in order_statuses %} 34 {% if order_status.order_status_id == fraud_ip_order_status_id %} 35 36 37 <option selected="selected" value="{{ order_status.order_status_id }}">{{ order_status.name }}</option> 38 39 40 {% else %} 41 42 43 <option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option> 44 45 46 {% endif %} 47 {% endfor %} 48 49 50 </select> 51 </div> 52 </div> 53 <div class="form-group"> 54 <label class="col-sm-2 control-label" for="input-status"> {{ entry_status }} </label> 55 <div class="col-sm-10"> 56 <select name="fraud_ip_status" id="input-status" class="form-control"> 57 58 59 {% if fraud_ip_status %} 60 61 62 <option selected="selected" value="1"> {{ text_enabled }} </option> 63 <option value="0"> {{ text_disabled }} </option> 64 65 66 {% else %} 67 68 69 <option value="1"> {{ text_enabled }} </option> 70 <option selected="selected" value="0"> {{ text_disabled }} </option> 71 72 73 {% endif %} 74 75 76 </select> 77 </div> 78 </div> 79 <fieldset> 80 <legend> {{ text_ip_add }} </legend> 81 <div class="form-group required"> 82 <label class="col-sm-2 control-label" for="input-ip"> {{ entry_ip }} </label> 83 <div class="col-sm-10"> 84 <div class="input-group"> 85 <input class="form-control" id="input-ip" placeholder="{{ entry_ip }}" type="text" value=""/> 86 <span class="input-group-btn"> 87 <button class="btn btn-primary" data-loading-text="{{ text_loading }}" id="button-ip-add" type="button"> {{ button_ip_add }} </button> 88 </span> </div> 89 </div> 90 </div> 91 </fieldset> 92 <br/> 93 <fieldset> 94 <legend> {{ text_ip_list }} </legend> 95 <div id="ip"></div> 96 </fieldset> 97 </form> 98 </div> 99 </div> 100 <script type="text/javascript"><!-- 101 $('#ip').delegate('.pagination a', 'click', function(e) { 102 e.preventDefault(); 103 104 $('#ip').load(this.href); 105 }); 106 107 $('#ip').load('index.php?route=extension/fraud/ip/ip&user_token={{ user_token }}'); 108 109 $('#button-ip-add').on('click', function() { 110 $.ajax({ 111 url: 'index.php?route=extension/fraud/ip/addip&user_token={{ user_token }}', 112 type: 'post', 113 dataType: 'json', 114 data: 'ip=' + encodeURIComponent($('#input-ip').val()), 115 beforeSend: function() { 116 $('#button-ip-add').button('loading'); 117 }, 118 complete: function() { 119 $('#button-ip-add').button('reset'); 120 }, 121 success: function(json) { 122 $('.alert-dismissible').remove(); 123 124 if (json['error']) { 125 $('#content > .container-fluid').prepend('<div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>'); 126 } 127 128 if (json['success']) { 129 $('#content > .container-fluid').prepend('<div class="alert alert-success alert-dismissible"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>'); 130 131 $('#ip').load('index.php?route=extension/fraud/ip/ip&user_token={{ user_token }}'); 132 133 $('#input-ip').val(''); 134 } 135 }, 136 error: function(xhr, ajaxOptions, thrownError) { 137 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 138 } 139 }); 140 }); 141 142 $('#ip').delegate('button', 'click', function() { 143 var element = this; 144 145 $.ajax({ 146 url: 'index.php?route=extension/fraud/ip/removeip&user_token={{ user_token }}', 147 type: 'post', 148 dataType: 'json', 149 data: 'ip=' + encodeURIComponent($(element).val()), 150 beforeSend: function() { 151 $(element).button('loading'); 152 }, 153 complete: function() { 154 $(element).button('reset'); 155 }, 156 success: function(json) { 157 $('.alert-dismissible').remove(); 158 159 if (json['error']) { 160 $('#content > .container-fluid').prepend('<div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>'); 161 } 162 163 if (json['success']) { 164 $('#content > .container-fluid').prepend('<div class="alert alert-success alert-dismissible"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>'); 165 166 $('#ip').load('index.php?route=extension/fraud/ip/ip&user_token={{ user_token }}'); 167 } 168 }, 169 error: function(xhr, ajaxOptions, thrownError) { 170 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 171 } 172 }); 173 }); 174 //--></script> 175 </div> 176 {{ footer }}