klarna_checkout.twig (35100B)
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 type="submit" form="form-payment" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button> 7 <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><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"> 17 {% if error_warning %} 18 <div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} 19 <button type="button" class="close" data-dismiss="alert">×</button> 20 </div> 21 {% endif %} 22 {% if error_tax_warning %} 23 <div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ error_tax_warning }} 24 <button type="button" class="close" data-dismiss="alert">×</button> 25 </div> 26 {% endif %} 27 <div class="panel panel-default"> 28 <div class="panel-heading"> 29 <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_edit }}</h3> 30 </div> 31 <div class="panel-body"> 32 <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-payment" class="form-horizontal"> 33 <ul class="nav nav-tabs" id="tabs"> 34 <li class="active"><a href="#tab-setting" data-toggle="tab">{{ tab_setting }}</a></li> 35 <li><a href="#tab-order-status" data-toggle="tab">{{ tab_order_status }}</a></li> 36 <li><a href="#tab-account" data-toggle="tab">{{ tab_account }}</a></li> 37 <li><a href="#tab-settlement" data-toggle="tab">{{ tab_settlement }}</a></li> 38 </ul> 39 <div class="tab-content"> 40 <div class="tab-pane active" id="tab-setting"> 41 <div class="form-group"> 42 <label class="col-sm-2 control-label">{{ entry_version }}</label> 43 <div class="col-sm-10" style="padding-top: 9px;"> 44 <span>{{ text_version }}</span> 45 </div> 46 </div> 47 <div class="form-group"> 48 <label class="col-sm-2 control-label" for="input-debug"><span data-toggle="tooltip" title="{{ help_debug }}">{{ entry_debug }}</span></label> 49 <div class="col-sm-10"> 50 <select name="klarna_checkout_debug" id="input-debug" class="form-control"> 51 {% if klarna_checkout_debug %} 52 <option value="1" selected="selected">{{ text_enabled }}</option> 53 <option value="0">{{ text_disabled }}</option> 54 {% else %} 55 <option value="1">{{ text_enabled }}</option> 56 <option value="0" selected="selected">{{ text_disabled }}</option> 57 {% endif %} 58 </select> 59 </div> 60 </div> 61 <div class="form-group"> 62 <label class="col-sm-2 control-label" for="input-colour-button">{{ entry_colour_button }}</label> 63 <div class="col-sm-10"> 64 <input type="color" name="klarna_checkout_colour_button" value="{{ klarna_checkout_colour_button }}" id="input-colour-button" /> 65 </div> 66 </div> 67 <div class="form-group"> 68 <label class="col-sm-2 control-label" for="input-colour-button-text">{{ entry_colour_button_text }}</label> 69 <div class="col-sm-10"> 70 <input type="color" name="klarna_checkout_colour_button_text" value="{{ klarna_checkout_colour_button_text }}" id="input-colour-button-text" /> 71 </div> 72 </div> 73 <div class="form-group"> 74 <label class="col-sm-2 control-label" for="input-colour-checkbox">{{ entry_colour_checkbox }}</label> 75 <div class="col-sm-10"> 76 <input type="color" name="klarna_checkout_colour_checkbox" value="{{ klarna_checkout_colour_checkbox }}" id="input-colour-checkbox" /> 77 </div> 78 </div> 79 <div class="form-group"> 80 <label class="col-sm-2 control-label" for="input-colour-checkbox-checkmark">{{ entry_colour_checkbox_checkmark }}</label> 81 <div class="col-sm-10"> 82 <input type="color" name="klarna_checkout_colour_checkbox_checkmark" value="{{ klarna_checkout_colour_checkbox_checkmark }}" id="input-colour-checkbox-checkmark" /> 83 </div> 84 </div> 85 <div class="form-group"> 86 <label class="col-sm-2 control-label" for="input-colour-header">{{ entry_colour_header }}</label> 87 <div class="col-sm-10"> 88 <input type="color" name="klarna_checkout_colour_header" value="{{ klarna_checkout_colour_header }}" id="input-colour-header" /> 89 </div> 90 </div> 91 <div class="form-group"> 92 <label class="col-sm-2 control-label" for="input-colour-link">{{ entry_colour_link }}</label> 93 <div class="col-sm-10"> 94 <input type="color" name="klarna_checkout_colour_link" value="{{ klarna_checkout_colour_link }}" id="input-colour-link" /> 95 </div> 96 </div> 97 <div class="form-group"> 98 <label class="col-sm-2 control-label" for="input-separate-shipping-address"><span data-toggle="tooltip" title="{{ help_separate_shipping_address }}">{{ entry_separate_shipping_address }}</span></label> 99 <div class="col-sm-10"> 100 <select name="klarna_checkout_separate_shipping_address" id="input-separate-shipping-address" class="form-control"> 101 {% if klarna_checkout_separate_shipping_address %} 102 <option value="1" selected="selected">{{ text_yes }}</option> 103 <option value="0">{{ text_no }}</option> 104 {% else %} 105 <option value="1">{{ text_yes }}</option> 106 <option value="0" selected="selected">{{ text_no }}</option> 107 {% endif %} 108 </select> 109 </div> 110 </div> 111 <div class="form-group"> 112 <label class="col-sm-2 control-label" for="input-dob-mandatory"><span data-toggle="tooltip" title="{{ help_dob_mandatory }}">{{ entry_dob_mandatory }}</span></label> 113 <div class="col-sm-10"> 114 <select name="klarna_checkout_dob_mandatory" id="input-dob-mandatory" class="form-control"> 115 {% if klarna_checkout_dob_mandatory %} 116 <option value="1" selected="selected">{{ text_yes }}</option> 117 <option value="0">{{ text_no }}</option> 118 {% else %} 119 <option value="1">{{ text_yes }}</option> 120 <option value="0" selected="selected">{{ text_no }}</option> 121 {% endif %} 122 </select> 123 </div> 124 </div> 125 <div class="form-group"> 126 <label class="col-sm-2 control-label" for="input-title-mandatory"><span data-toggle="tooltip" title="{{ help_title_mandatory }}">{{ entry_title_mandatory }}</span></label> 127 <div class="col-sm-10"> 128 <select name="klarna_checkout_title_mandatory" id="input-title-mandatory" class="form-control"> 129 {% if klarna_checkout_title_mandatory %} 130 <option value="1" selected="selected">{{ text_yes }}</option> 131 <option value="0">{{ text_no }}</option> 132 {% else %} 133 <option value="1">{{ text_yes }}</option> 134 <option value="0" selected="selected">{{ text_no }}</option> 135 {% endif %} 136 </select> 137 </div> 138 </div> 139 <div class="form-group"> 140 <label class="col-sm-2 control-label" for="input-additional-text-box"><span data-toggle="tooltip" title="{{ help_additional_text_box }}">{{ entry_additional_text_box }}</span></label> 141 <div class="col-sm-10"> 142 <select name="klarna_checkout_additional_text_box" id="input-additional-text-box" class="form-control"> 143 {% if klarna_checkout_additional_text_box %} 144 <option value="1" selected="selected">{{ text_yes }}</option> 145 <option value="0">{{ text_no }}</option> 146 {% else %} 147 <option value="1">{{ text_yes }}</option> 148 <option value="0" selected="selected">{{ text_no }}</option> 149 {% endif %} 150 </select> 151 </div> 152 </div> 153 <div class="form-group"> 154 <label class="col-sm-2 control-label" for="input-total"><span data-toggle="tooltip" title="{{ help_total }}">{{ entry_total }}</span></label> 155 <div class="col-sm-10"> 156 <input type="text" name="klarna_checkout_total" value="{{ klarna_checkout_total }}" placeholder="{{ entry_total }}" id="input-total" class="form-control" /> 157 </div> 158 </div> 159 <div class="form-group"> 160 <label class="col-sm-2 control-label" for="input-terms">{{ entry_terms }}</label> 161 <div class="col-sm-10"> 162 <select name="klarna_checkout_terms" id="input-terms" class="form-control"> 163 {% for information in informations %} 164 {% if information.information_id == klarna_checkout_terms %} 165 <option value="{{ information.information_id }}" selected="selected">{{ information.title }}</option> 166 {% else %} 167 <option value="{{ information.information_id }}">{{ information.title }}</option> 168 {% endif %} 169 {% endfor %} 170 </select> 171 </div> 172 </div> 173 <div class="form-group"> 174 <label class="col-sm-2 control-label" for="input-status">{{ entry_status }}</label> 175 <div class="col-sm-10"> 176 <select name="klarna_checkout_status" id="input-status" class="form-control"> 177 {% if klarna_checkout_status %} 178 <option value="1" selected="selected">{{ text_enabled }}</option> 179 <option value="0">{{ text_disabled }}</option> 180 {% else %} 181 <option value="1">{{ text_enabled }}</option> 182 <option value="0" selected="selected">{{ text_disabled }}</option> 183 {% endif %} 184 </select> 185 </div> 186 </div> 187 </div> 188 <div class="tab-pane" id="tab-order-status"> 189 <div class="form-group"> 190 <label class="col-sm-2 control-label" for="input-order-status-authorised">{{ entry_order_status_authorised }}</label> 191 <div class="col-sm-10"> 192 <select name="klarna_checkout_order_status_authorised_id" id="input-order-status-authorised" class="form-control"> 193 {% for order_status in order_statuses %} 194 {% if order_status.order_status_id == klarna_checkout_order_status_authorised_id %} 195 <option value="{{ order_status.order_status_id }}" selected="selected">{{ order_status.name }}</option> 196 {% else %} 197 <option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option> 198 {% endif %} 199 {% endfor %} 200 </select> 201 </div> 202 </div> 203 <div class="form-group"> 204 <label class="col-sm-2 control-label" for="input-order-status-part-captured">{{ entry_order_status_part_captured }}</label> 205 <div class="col-sm-10"> 206 <select name="klarna_checkout_order_status_part_captured_id" id="input-order-status-part-captured" class="form-control"> 207 {% for order_status in order_statuses %} 208 {% if order_status.order_status_id == klarna_checkout_order_status_part_captured_id %} 209 <option value="{{ order_status.order_status_id }}" selected="selected">{{ order_status.name }}</option> 210 {% else %} 211 <option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option> 212 {% endif %} 213 {% endfor %} 214 </select> 215 </div> 216 </div> 217 <div class="form-group"> 218 <label class="col-sm-2 control-label" for="input-order-status-captured">{{ entry_order_status_captured }}</label> 219 <div class="col-sm-10"> 220 <select name="klarna_checkout_order_status_captured_id" id="input-order-status-captured" class="form-control"> 221 {% for order_status in order_statuses %} 222 {% if order_status.order_status_id == klarna_checkout_order_status_captured_id %} 223 <option value="{{ order_status.order_status_id }}" selected="selected">{{ order_status.name }}</option> 224 {% else %} 225 <option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option> 226 {% endif %} 227 {% endfor %} 228 </select> 229 </div> 230 </div> 231 <div class="form-group"> 232 <label class="col-sm-2 control-label" for="input-order-status-cancelled">{{ entry_order_status_cancelled }}</label> 233 <div class="col-sm-10"> 234 <select name="klarna_checkout_order_status_cancelled_id" id="input-order-status-cancelled" class="form-control"> 235 {% for order_status in order_statuses %} 236 {% if order_status.order_status_id == klarna_checkout_order_status_cancelled_id %} 237 <option value="{{ order_status.order_status_id }}" selected="selected">{{ order_status.name }}</option> 238 {% else %} 239 <option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option> 240 {% endif %} 241 {% endfor %} 242 </select> 243 </div> 244 </div> 245 <div class="form-group"> 246 <label class="col-sm-2 control-label" for="input-order-status-refund">{{ entry_order_status_refund }}</label> 247 <div class="col-sm-10"> 248 <select name="klarna_checkout_order_status_refund_id" id="input-order-status-refund" class="form-control"> 249 {% for order_status in order_statuses %} 250 {% if order_status.order_status_id == klarna_checkout_order_status_refund_id %} 251 <option value="{{ order_status.order_status_id }}" selected="selected">{{ order_status.name }}</option> 252 {% else %} 253 <option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option> 254 {% endif %} 255 {% endfor %} 256 </select> 257 </div> 258 </div> 259 <div class="form-group"> 260 <label class="col-sm-2 control-label" for="input-order-status-fraud-rejected">{{ entry_order_status_fraud_rejected }}</label> 261 <div class="col-sm-10"> 262 <select name="klarna_checkout_order_status_fraud_rejected_id" id="input-order-status-fraud-rejected" class="form-control"> 263 {% for order_status in order_statuses %} 264 {% if order_status.order_status_id == klarna_checkout_order_status_fraud_rejected_id %} 265 <option value="{{ order_status.order_status_id }}" selected="selected">{{ order_status.name }}</option> 266 {% else %} 267 <option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option> 268 {% endif %} 269 {% endfor %} 270 </select> 271 </div> 272 </div> 273 <div class="form-group"> 274 <label class="col-sm-2 control-label" for="input-order-status-fraud-pending">{{ entry_order_status_fraud_pending }}</label> 275 <div class="col-sm-10"> 276 <select name="klarna_checkout_order_status_fraud_pending_id" id="input-order-status-fraud-pending" class="form-control"> 277 {% for order_status in order_statuses %} 278 {% if order_status.order_status_id == klarna_checkout_order_status_fraud_pending_id %} 279 <option value="{{ order_status.order_status_id }}" selected="selected">{{ order_status.name }}</option> 280 {% else %} 281 <option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option> 282 {% endif %} 283 {% endfor %} 284 </select> 285 </div> 286 </div> 287 <div class="form-group"> 288 <label class="col-sm-2 control-label" for="input-order-status-fraud-accepted">{{ entry_order_status_fraud_accepted }}</label> 289 <div class="col-sm-10"> 290 <select name="klarna_checkout_order_status_fraud_accepted_id" id="input-order-status-fraud-accepted" class="form-control"> 291 {% for order_status in order_statuses %} 292 {% if order_status.order_status_id == klarna_checkout_order_status_fraud_accepted_id %} 293 <option value="{{ order_status.order_status_id }}" selected="selected">{{ order_status.name }}</option> 294 {% else %} 295 <option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option> 296 {% endif %} 297 {% endfor %} 298 </select> 299 </div> 300 </div> 301 </div> 302 <div class="tab-pane" id="tab-account"> 303 {% if error_account_warning %} 304 <div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ error_account_warning }}</div> 305 {% endif %} 306 <table id="account" class="table table-striped table-bordered table-hover"> 307 <thead> 308 <tr> 309 <td class="text-left required">{{ entry_merchant_id }}</td> 310 <td class="text-left required">{{ entry_secret }}</td> 311 <td class="text-left required">{{ entry_environment }}</td> 312 <td class="text-left required">{{ entry_country }}</td> 313 <td class="text-left required"><span data-toggle="tooltip" title="{{ help_shipping }}">{{ entry_shipping }}</span></td> 314 <td class="text-left required">{{ entry_currency }}</td> 315 <td class="text-left required"><span data-toggle="tooltip" title="{{ help_locale }}">{{ entry_locale }}</span></td> 316 <td class="text-left required"><span data-toggle="tooltip" title="{{ help_api }}">{{ entry_api }}</span></td> 317 <td></td> 318 </tr> 319 </thead> 320 <tbody> 321 {% set account_row = 0 %} 322 {% for key, account in klarna_checkout_account %} 323 <tr id="account-row{{ account_row }}"> 324 <td class="text-left"> 325 <input type="text" name="klarna_checkout_account[{{ account_row }}][merchant_id]" placeholder="{{ entry_merchant_id }}" class="form-control" value="{{ account.merchant_id }}" /> 326 {% if error_account[key].merchant_id is defined %} 327 <div class="text-danger">{{ error_account[key].merchant_id }}</div> 328 {% endif %} 329 </td> 330 <td class="text-left"> 331 <input type="text" name="klarna_checkout_account[{{ account_row }}][secret]" placeholder="{{ entry_merchant_id }}" class="form-control" value="{{ account.secret }}" /> 332 {% if error_account[key].secret is defined %} 333 <div class="text-danger">{{ error_account[key].secret }}</div> 334 {% endif %} 335 </td> 336 <td class="text-left"> 337 <select name="klarna_checkout_account[{{ account_row }}][environment]" class="form-control"> 338 {% if account.environment == 'live' %} 339 <option value="test">{{ text_test }}</option> 340 <option value="live" selected="selected">{{ text_live }}</option> 341 {% else %} 342 <option value="test" selected="selected">{{ text_test }}</option> 343 <option value="live">{{ text_live }}</option> 344 {% endif %} 345 </select> 346 </td> 347 <td class="text-left"> 348 <select name="klarna_checkout_account[{{ account_row }}][country]" class="form-control"> 349 {% for country in countries %} 350 {% if country.country_id == account.country %} 351 <option value="{{ country.country_id }}" selected="selected">{{ country.name }}</option> 352 {% else %} 353 <option value="{{ country.country_id }}">{{ country.name }}</option> 354 {% endif %} 355 {% endfor %} 356 </select> 357 </td> 358 <td class="text-left"> 359 <select name="klarna_checkout_account[{{ account_row }}][shipping]" class="form-control"> 360 {% for geo_zone in geo_zones %} 361 {% if geo_zone.geo_zone_id == account.shipping %} 362 <option value="{{ geo_zone.geo_zone_id }}" selected="selected">{{ geo_zone.name }}</option> 363 {% else %} 364 <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name }}</option> 365 {% endif %} 366 {% endfor %} 367 </select> 368 </td> 369 <td class="text-left"> 370 <select name="klarna_checkout_account[{{ account_row }}][currency]" class="form-control"> 371 {% for currency in currencies %} 372 {% if currency.code == account.currency %} 373 <option value="{{ currency.code }}" selected="selected">{{ currency.title }}</option> 374 {% else %} 375 <option value="{{ currency.code }}">{{ currency.title }}</option> 376 {% endif %} 377 {% endfor %} 378 </select> 379 </td> 380 <td class="text-left"> 381 <input type="text" name="klarna_checkout_account[{{ account_row }}][locale]" placeholder="{{ entry_locale }}" class="form-control" value="{{ account.locale }}" /> 382 {% if error_account[key].locale is defined %} 383 <div class="text-danger">{{ error_account[key].locale }}</div> 384 {% endif %} 385 </td> 386 <td class="text-left"> 387 <select name="klarna_checkout_account[{{ account_row }}][api]" class="form-control klarna-checkout-api"> 388 {% for api_location in api_locations %} 389 {% if api_location.code == account.api %} 390 <option value="{{ api_location.code }}" selected="selected">{{ api_location.name }}</option> 391 {% else %} 392 <option value="{{ api_location.code }}">{{ api_location.name }}</option> 393 {% endif %} 394 {% endfor %} 395 </select> 396 </td> 397 <td class="text-left"><button type="button" onclick="$('#account-row{{ account_row }}').remove();" data-toggle="tooltip" title="{{ button_account_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td> 398 </tr> 399 {% set account_row = account_row + 1 %} 400 {% endfor %} 401 </tbody> 402 <tfoot> 403 <tr> 404 <td colspan="8"></td> 405 <td class="text-left"><button type="button" onclick="addAccount();" data-toggle="tooltip" title="{{ button_account_add }}" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> 406 </tr> 407 </tfoot> 408 </table> 409 </div> 410 <div class="tab-pane" id="tab-settlement"> 411 <div class="form-group"> 412 <label class="col-sm-2 control-label" for="input-sftp-username"><span data-toggle="tooltip" title="{{ help_sftp_username }}">{{ entry_sftp_username }}</span></label> 413 <div class="col-sm-10"> 414 <input type="text" name="klarna_checkout_sftp_username" placeholder="{{ entry_sftp_username }}" class="form-control" value="{{ klarna_checkout_sftp_username }}" /> 415 </div> 416 </div> 417 <div class="form-group"> 418 <label class="col-sm-2 control-label" for="input-sftp-password"><span data-toggle="tooltip" title="{{ help_sftp_password }}">{{ entry_sftp_password }}</span></label> 419 <div class="col-sm-10"> 420 <input type="text" name="klarna_checkout_sftp_password" placeholder="{{ entry_sftp_password }}" class="form-control" value="{{ klarna_checkout_sftp_password }}" /> 421 </div> 422 </div> 423 <div class="form-group"> 424 <label class="col-sm-2 control-label" for="input-settlement-order-status"><span data-toggle="tooltip" title="{{ help_settlement_order_status }}">{{ entry_settlement_order_status }}</span></label> 425 <div class="col-sm-10"> 426 <select name="klarna_checkout_settlement_order_status_id" id="input-settlement-order-status" class="form-control"> 427 {% for order_status in order_statuses %} 428 {% if order_status.order_status_id == klarna_checkout_settlement_order_status_id %} 429 <option value="{{ order_status.order_status_id }}" selected="selected">{{ order_status.name }}</option> 430 {% else %} 431 <option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option> 432 {% endif %} 433 {% endfor %} 434 </select> 435 </div> 436 </div> 437 <div class="form-group"> 438 <label class="col-sm-2 control-label">{{ entry_process_settlement }}</label> 439 <div class="col-sm-10"> 440 <button type="button" id="button-process-settlement" title="{{ button_process_settlement }}" class="btn btn-primary">{{ button_process_settlement }}</button> 441 </div> 442 </div> 443 <div class="settlement-alerts"></div> 444 </div> 445 </div> 446 </form> 447 </div> 448 </div> 449 </div> 450 </div> 451 <script type="text/javascript"><!-- 452 $('.klarna-checkout-api').on('change', function() { 453 if ($(this).val() === 'EU') { 454 alert('{{ help_api|escape('js') }}'); 455 } 456 }); 457 458 $(document).on('click', '#button-process-settlement', function() { 459 if (confirm('{{ text_confirm_settlement }}')) { 460 $.ajax({ 461 url: 'index.php?route=extension/payment/klarna_checkout/downloadSettlementFiles&user_token={{ user_token }}', 462 type: 'post', 463 data: { 464 username: $('input[name=klarna_checkout_sftp_username]').val(), 465 password: $('input[name=klarna_checkout_sftp_password]').val(), 466 order_status_id: $('select[name=klarna_checkout_settlement_order_status_id]').val() 467 }, 468 dataType: 'json', 469 beforeSend: function() { 470 $('#button-process-settlement').button('loading'); 471 472 $('.settlement-alerts').empty(); 473 }, 474 complete: function() { 475 $('#button-process-settlement').button('reset'); 476 }, 477 success: function(json) { 478 if (json['error']) { 479 $.each(json['error'], function(index, value) { 480 $('.settlement-alerts').append('<div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> ' + value + '</div>'); 481 }); 482 } 483 484 if (json['orders']) { 485 $('.settlement-alerts').append('<div class="alert alert-success alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ text_downloading_settlement }}</div>'); 486 487 if (json['orders'].length > 0) { 488 $('.settlement-alerts').append('<div class="alert alert-success alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ text_processing_orders }}</div>'); 489 490 $.each(json['orders'], function(index, value) { 491 $('.settlement-alerts').append('<div class="alert alert-success alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ text_processing_order }} ' + value + '</div>'); 492 493 $.ajax({ 494 url: '{{ store_url }}index.php?route=api/order/history&token=' + token + '&order_id=' + encodeURIComponent(value), 495 type: 'post', 496 dataType: 'json', 497 data: 'order_status_id=' + encodeURIComponent($('select[name=klarna_checkout_settlement_order_status_id]').val()) + '¬ify=0&override=1&comment', 498 beforeSend: function() { 499 //$('#button-history').button('loading'); 500 }, 501 complete: function() { 502 //$('#button-history').button('reset'); 503 }, 504 success: function(json) { 505 if (json['error']) { 506 $('.settlement-alerts').append('<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>'); 507 } 508 509 if (json['success']) { 510 $('.settlement-alerts').append('<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>'); 511 } 512 }, 513 error: function(xhr, ajaxOptions, thrownError) { 514 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 515 } 516 }); 517 }); 518 } 519 520 $('.settlement-alerts').append('<div class="alert alert-success alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ text_no_files }}</div>'); 521 } 522 } 523 }); 524 } 525 }); 526 527 $('#tabs a:first').tab('show'); 528 529 $('.date').datetimepicker({ 530 language: '{{ datepicker }}', 531 pickTime: false 532 }); 533 534 {% if not klarna_checkout_account %} 535 $(document).ready(function() { 536 addAccount(); 537 }); 538 {% endif %} 539 540 var account_row = {{ account_row }}; 541 542 function addAccount() { 543 html = '<tr id="account-row' + account_row + '">'; 544 html += ' <td class="text-left"><input type="text" name="klarna_checkout_account[' + account_row + '][merchant_id]" placeholder="{{ entry_merchant_id }}" class="form-control" value="" /></td>'; 545 html += ' <td class="text-left"><input type="text" name="klarna_checkout_account[' + account_row + '][secret]" placeholder="{{ entry_secret }}" class="form-control" value="" /></td>'; 546 html += ' <td class="text-left"><select name="klarna_checkout_account[' + account_row + '][environment]" class="form-control">'; 547 html += ' <option value="live">{{ text_live }}</option>'; 548 html += ' <option value="test" selected="selected">{{ text_test }}</option>'; 549 html += ' </select>'; 550 html += ' <td class="text-left"><select name="klarna_checkout_account[' + account_row + '][country]" class="form-control">'; 551 {% for country in countries %} 552 html += ' <option value="{{ country.country_id }}">{{ country.name|escape('js') }}</option>'; 553 {% endfor %} 554 html += ' </select></td>'; 555 556 html += ' <td class="text-left"><select name="klarna_checkout_account[' + account_row + '][shipping]" class="form-control">'; 557 {% for geo_zone in geo_zones %} 558 html += ' <option value="{{ geo_zone.geo_zone_id }}">{{ geo_zone.name|escape('js') }}</option>'; 559 {% endfor %} 560 html += ' </select></td>'; 561 562 html += ' <td class="text-left"><select name="klarna_checkout_account[' + account_row + '][currency]" class="form-control">'; 563 {% for currency in currencies %} 564 html += ' <option value="{{ currency.code }}">{{ currency.title }}</option>'; 565 {% endfor %} 566 html += ' </select></td>'; 567 html += ' <td class="text-left"><input type="text" name="klarna_checkout_account[' + account_row + '][locale]" placeholder="{{ entry_locale }}" class="form-control" value="" /></td>'; 568 html += ' <td class="text-left"><select name="klarna_checkout_account[' + account_row + '][api]" class="form-control">'; 569 {% for api_location in api_locations %} 570 html += ' <option value="{{ api_location.code }}">{{ api_location.name }}</option>'; 571 {% endfor %} 572 html += ' </select></td>'; 573 html += ' <td class="text-left"><button type="button" onclick="$(\'#account-row' + account_row + '\').remove();" data-toggle="tooltip" title="{{ button_account_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>'; 574 html += '</tr>'; 575 576 $('#account tbody').append(html); 577 578 account_row++; 579 } 580 581 $(document).delegate('#button-ip-add', 'click', function() { 582 $.ajax({ 583 url: 'index.php?route=user/api/addip&user_token={{ user_token }}&api_id={{ api_id }}', 584 type: 'post', 585 data: 'ip={{ api_ip }}', 586 dataType: 'json', 587 beforeSend: function() { 588 $('#button-ip-add').button('loading'); 589 }, 590 complete: function() { 591 $('#button-ip-add').button('reset'); 592 }, 593 success: function(json) { 594 $('.api-alert').remove(); 595 596 if (json['error']) { 597 $('#content > .container-fluid').prepend('<div class="alert alert-danger api-alert"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>'); 598 } 599 600 if (json['success']) { 601 $('#content > .container-fluid').prepend('<div class="alert alert-success api-alert"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>'); 602 } 603 }, 604 error: function(xhr, ajaxOptions, thrownError) { 605 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 606 } 607 }); 608 }); 609 610 var token = ''; 611 612 // Login to the API 613 $.ajax({ 614 url: '{{ store_url }}index.php?route=api/login', 615 type: 'post', 616 dataType: 'json', 617 data: 'key={{ api_key }}', 618 crossDomain: true, 619 success: function(json) { 620 $('.api-alert').remove(); 621 622 if (json['error']) { 623 if (json['error']['key']) { 624 $('#content > .container-fluid').prepend('<div class="alert alert-danger api-alert"><i class="fa fa-exclamation-circle"></i> ' + json['error']['key'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>'); 625 } 626 627 if (json['error']['ip']) { 628 $('#content > .container-fluid').prepend('<div class="alert alert-danger api-alert"><i class="fa fa-exclamation-circle"></i> ' + json['error']['ip'] + ' <button type="button" id="button-ip-add" data-loading-text="{{ text_loading }}" class="btn btn-danger btn-xs pull-right"><i class="fa fa-plus"></i> {{ button_ip_add }}</button></div>'); 629 } 630 } 631 632 if (json['user_token']) { 633 token = json['user_token']; 634 } 635 }, 636 error: function(xhr, ajaxOptions, thrownError) { 637 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 638 } 639 }); 640 //--></script> 641 {{ footer }}