klarna_checkout_order_ajax.twig (34019B)
1 <table class="table table-bordered"> 2 <tr> 3 <td>{{ column_order_id }}</td> 4 <td> 5 {{ transaction.order_id }} 6 {% if cancel_action %} 7 <a class="btn btn-primary button-command" data-type="cancel">{{ button_cancel }}</a> 8 {% endif %} 9 </td> 10 </tr> 11 <tr> 12 <td>{{ column_merchant_id }}</td> 13 <td>{{ transaction.merchant_id }}</td> 14 </tr> 15 <tr> 16 <td>{{ column_reference }}</td> 17 <td>{{ transaction.reference }}</td> 18 </tr> 19 <tr> 20 <td>{{ column_status }}</td> 21 <td>{{ transaction.status }}</td> 22 </tr> 23 <tr> 24 <td>{{ column_fraud_status }}</td> 25 <td>{{ transaction.fraud_status }}</td> 26 </tr> 27 <tr> 28 <td>{{ column_merchant_reference_1 }}</td> 29 <td> 30 {% if merchant_reference_action %} 31 <div class="col-sm-2"> 32 <input class="form-control" type="text" name="merchant_reference_1" value="{{ transaction.merchant_reference_1 }}" /> 33 </div> 34 <a class="btn btn-primary button-command" data-type="merchant_reference">{{ button_update }}</a> 35 {% else %} 36 {{ transaction.merchant_reference_1 }} 37 {% endif %} 38 </td> 39 </tr> 40 <tr> 41 <td>{{ column_customer_details }}</td> 42 <td> 43 <table class="table table-bordered"> 44 <thead> 45 <tr> 46 <td>{{ column_billing_address }}</td> 47 <td>{{ column_shipping_address }}</td> 48 </tr> 49 </thead> 50 <tr> 51 <td>{{ transaction.billing_address_formatted }}</td> 52 <td>{{ transaction.shipping_address_formatted }}</td> 53 </tr> 54 {% if address_action %} 55 <tr> 56 <td> 57 <a class="btn btn-primary" data-toggle="modal" data-target="#billing_address">{{ button_edit }}</a> 58 </td> 59 <td> 60 <a class="btn btn-primary" data-toggle="modal" data-target="#shipping_address">{{ button_edit }}</a> 61 </td> 62 </tr> 63 {% endif %} 64 </table> 65 </td> 66 </tr> 67 <tr> 68 <td>{{ column_order_lines }}</td> 69 <td> 70 <table class="table table-bordered"> 71 <thead> 72 <tr> 73 <td class="text-left">{{ column_item_reference }}</td> 74 <td class="text-left">{{ column_type }}</td> 75 <td class="text-left">{{ column_quantity }}</td> 76 <td class="text-left">{{ column_quantity_unit }}</td> 77 <td class="text-left">{{ column_name }}</td> 78 <td class="text-left">{{ column_total_amount }}</td> 79 <td class="text-left">{{ column_unit_price }}</td> 80 <td class="text-left">{{ column_total_discount_amount }}</td> 81 <td class="text-left">{{ column_tax_rate }}</td> 82 <td class="text-left">{{ column_total_tax_amount }}</td> 83 </tr> 84 </thead> 85 <tbody> 86 {% for order_line in transaction.order_lines %} 87 <tr> 88 <td>{{ order_line.reference }}</td> 89 <td>{{ order_line.type }}</td> 90 <td>{{ order_line.quantity }}</td> 91 <td>{{ order_line.quantity_unit }}</td> 92 <td>{{ order_line.name }}</td> 93 <td>{{ order_line.total_amount }}</td> 94 <td>{{ order_line.unit_price }}</td> 95 <td>{{ order_line.total_discount_amount }}</td> 96 <td>{{ order_line.tax_rate }}</td> 97 <td>{{ order_line.total_tax_amount }}</td> 98 </tr> 99 {% endfor %} 100 </tbody> 101 </table> 102 </td> 103 </tr> 104 <tr> 105 <td>{{ column_amount }}</td> 106 <td>{{ transaction.amount }}</td> 107 </tr> 108 <tr> 109 <td>{{ column_authorization_remaining }}</td> 110 <td> 111 {{ transaction.authorization_remaining }} 112 {% if release_authorization_action %} 113 <a class="btn btn-primary button-command" data-type="release_authorization">{{ button_release_authorization }}</a> 114 {% endif %} 115 </td> 116 </tr> 117 {% if transaction.authorization_expiry %} 118 <tr> 119 <td>{{ column_authorization_expiry }}</td> 120 <td> 121 {{ transaction.authorization_expiry }} 122 {% if extend_authorization_action %} 123 <a class="btn btn-primary button-command" data-type="extend_authorization">{{ button_extend_authorization }}</a> 124 {% endif %} 125 </td> 126 </tr> 127 {% endif %} 128 <tr> 129 <td>{{ column_capture }}</td> 130 <td> 131 <table class="table table-bordered"> 132 <thead> 133 <tr> 134 <td class="text-left">{{ column_capture_id }}</td> 135 <td class="text-left">{{ column_date }}</td> 136 <td class="text-left">{{ column_amount }}</td> 137 <td class="text-left">{{ column_reference }}</td> 138 <td class="text-left">{{ column_action }}</td> 139 </tr> 140 </thead> 141 <tbody> 142 {% if captures %} 143 {% for capture in captures %} 144 <tr> 145 <td>{{ capture.capture_id }}</td> 146 <td>{{ capture.date_added }}</td> 147 <td>{{ capture.amount }}</td> 148 <td>{{ capture.reference }}</td> 149 <td> 150 <a class="btn btn-primary button-command" data-type="trigger_send_out" data-id="{{ capture.capture_id }}">{{ button_trigger_send_out }}</a> 151 <a class="btn btn-primary" data-toggle="modal" data-target="#capture-shipping-info-{{ capture.capture_id }}">{{ button_edit_shipping_info }}</a> 152 <a class="btn btn-primary" data-toggle="modal" data-target="#capture-billing-address-{{ capture.capture_id }}">{{ button_edit_billing_address }}</a> 153 </td> 154 </tr> 155 {% endfor %} 156 {% else %} 157 <tr> 158 <td class="text-center" colspan="4">{{ text_no_capture }}</td> 159 </tr> 160 {% endif %} 161 </tbody> 162 {% if capture_action %} 163 <tfoot> 164 <tr> 165 <td colspan="4"></td> 166 <td class="text-left"><a class="btn btn-primary" data-toggle="modal" data-target="#capture">{{ button_new_capture }}</a></td> 167 </tr> 168 </tfoot> 169 {% endif %} 170 </table> 171 </td> 172 </tr> 173 <tr> 174 <td>{{ column_refund }}</td> 175 <td> 176 <table class="table table-bordered"> 177 <thead> 178 <tr> 179 <td class="text-left">{{ column_date }}</td> 180 <td class="text-left">{{ column_amount }}</td> 181 <td class="text-left">{{ column_action }}</td> 182 </tr> 183 </thead> 184 <tbody> 185 {% if refunds %} 186 {% for refund in refunds %} 187 <tr> 188 <td>{{ refund.date_added }}</td> 189 <td>{{ refund.amount }}</td> 190 </tr> 191 {% endfor %} 192 {% endif %} 193 </tbody> 194 {% if refund_action %} 195 <tfoot> 196 <tr> 197 <td colspan="2"></td> 198 <td class="text-left"> 199 <a class="btn btn-primary" data-toggle="modal" data-target="#refund">{{ button_new_refund }}</a> 200 </td> 201 </tr> 202 </tfoot> 203 {% endif %} 204 </table> 205 </td> 206 </tr> 207 </table> 208 209 <!-- Modals --> 210 <div class="modal fade" id="billing_address" tabindex="-1" role="dialog" aria-labelledby="billing_address_title"> 211 <div class="modal-dialog" role="document"> 212 <div class="modal-content"> 213 <div class="modal-header"> 214 <button type="button" class="close" data-dismiss="modal" aria-label="{{ button_close }}"><span aria-hidden="true">×</span></button> 215 <h4 class="modal-title" id="billing_address_title">{{ column_billing_address }}</h4> 216 </div> 217 <div class="modal-body form-horizontal"> 218 <div class="form-group"> 219 <label class="col-sm-2 control-label" for="input-billing-address-title">{{ column_title }}</label> 220 <div class="col-sm-10"> 221 <input type="text" name="title" value="{{ transaction.billing_address.title }}" id="input-capture-billing-address-title" class="form-control" /> 222 </div> 223 </div> 224 <div class="form-group required"> 225 <label class="col-sm-2 control-label" for="input-billing-address-given-name">{{ column_given_name }}</label> 226 <div class="col-sm-10"> 227 <input type="text" name="given_name" value="{{ transaction.billing_address.given_name }}" id="input-billing-address-given-name" class="form-control" /> 228 </div> 229 </div> 230 <div class="form-group required"> 231 <label class="col-sm-2 control-label" for="input-billing-address-family-name">{{ column_family_name }}</label> 232 <div class="col-sm-10"> 233 <input type="text" name="family_name" value="{{ transaction.billing_address.family_name }}" id="input-billing-address-family-name" class="form-control" /> 234 </div> 235 </div> 236 <div class="form-group required"> 237 <label class="col-sm-2 control-label" for="input-billing-address-street-address">{{ column_street_address }}</label> 238 <div class="col-sm-10"> 239 <input type="text" name="street_address" value="{{ transaction.billing_address.street_address }}" id="input-billing-address-street-address" class="form-control" /> 240 </div> 241 </div> 242 <div class="form-group"> 243 <label class="col-sm-2 control-label" for="input-billing-address-street-address2">{{ column_street_address2 }}</label> 244 <div class="col-sm-10"> 245 <input type="text" name="street_address2" value="{{ transaction.billing_address.street_address2 }}" id="input-billing-address-street-address2" class="form-control" /> 246 </div> 247 </div> 248 <div class="form-group required"> 249 <label class="col-sm-2 control-label" for="input-billing-address-city">{{ column_city }}</label> 250 <div class="col-sm-10"> 251 <input type="text" name="city" value="{{ transaction.billing_address.city }}" id="input-billing-address-city" class="form-control" /> 252 </div> 253 </div> 254 <div class="form-group required"> 255 <label class="col-sm-2 control-label" for="input-billing-address-postal-code">{{ column_postal_code }}</label> 256 <div class="col-sm-10"> 257 <input type="text" name="postal_code" value="{{ transaction.billing_address.postal_code }}" id="input-billing-address-postal-code" class="form-control" /> 258 </div> 259 </div> 260 <div class="form-group required"> 261 <label class="col-sm-2 control-label" for="input-billing-address-region">{{ column_region }}</label> 262 <div class="col-sm-10"> 263 <input type="text" name="region" value="{{ transaction.billing_address.region }}" id="input-billing-address-region" class="form-control" /> 264 </div> 265 </div> 266 <div class="form-group required"> 267 <label class="col-sm-2 control-label" for="input-billing-address-country">{{ column_country }}</label> 268 <div class="col-sm-10"> 269 <input type="text" name="country" value="{{ transaction.billing_address.country }}" id="input-billing-address-country" class="form-control" /> 270 </div> 271 </div> 272 <div class="form-group required"> 273 <label class="col-sm-2 control-label" for="input-billing-address-email">{{ column_email }}</label> 274 <div class="col-sm-10"> 275 <input type="text" name="email" value="{{ transaction.billing_address.email }}" id="input-billing-address-email" class="form-control" /> 276 </div> 277 </div> 278 <div class="form-group required"> 279 <label class="col-sm-2 control-label" for="input-billing-address-phone">{{ column_phone }}</label> 280 <div class="col-sm-10"> 281 <input type="text" name="phone" value="{{ transaction.billing_address.phone }}" id="input-billing-address-phone" class="form-control" /> 282 </div> 283 </div> 284 </div> 285 <div class="modal-footer"> 286 <button type="button" class="btn btn-default" data-dismiss="modal">{{ button_close }}</button> 287 <button type="button" class="btn btn-primary button-command" data-type="billing_address" data-modal="#billing_address">{{ button_update }}</button> 288 </div> 289 </div> 290 </div> 291 </div> 292 293 <div class="modal fade" id="shipping_address" tabindex="-1" role="dialog" aria-labelledby="shipping_address_title"> 294 <div class="modal-dialog" role="document"> 295 <div class="modal-content"> 296 <div class="modal-header"> 297 <button type="button" class="close" data-dismiss="modal" aria-label="{{ button_close }}"><span aria-hidden="true">×</span></button> 298 <h4 class="modal-title" id="shipping_address_title">{{ column_shipping_address }}</h4> 299 </div> 300 <div class="modal-body form-horizontal"> 301 <div class="form-group"> 302 <label class="col-sm-2 control-label" for="input-shipping-address-title">{{ column_title }}</label> 303 <div class="col-sm-10"> 304 <input type="text" name="title" value="{{ transaction.shipping_address.title }}" id="input-capture-shipping-address-title" class="form-control" /> 305 </div> 306 </div> 307 <div class="form-group required"> 308 <label class="col-sm-2 control-label" for="input-shipping-address-given-name">{{ column_given_name }}</label> 309 <div class="col-sm-10"> 310 <input type="text" name="given_name" value="{{ transaction.shipping_address.given_name }}" id="input-shipping-address-given-name" class="form-control" /> 311 </div> 312 </div> 313 <div class="form-group required"> 314 <label class="col-sm-2 control-label" for="input-shipping-address-family-name">{{ column_family_name }}</label> 315 <div class="col-sm-10"> 316 <input type="text" name="family_name" value="{{ transaction.shipping_address.family_name }}" id="input-shipping-address-family-name" class="form-control" /> 317 </div> 318 </div> 319 <div class="form-group required"> 320 <label class="col-sm-2 control-label" for="input-shipping-address-street-address">{{ column_street_address }}</label> 321 <div class="col-sm-10"> 322 <input type="text" name="street_address" value="{{ transaction.shipping_address.street_address }}" id="input-shipping-address-street-address" class="form-control" /> 323 </div> 324 </div> 325 <div class="form-group"> 326 <label class="col-sm-2 control-label" for="input-shipping-address-street-address2">{{ column_street_address2 }}</label> 327 <div class="col-sm-10"> 328 <input type="text" name="street_address2" value="{{ transaction.shipping_address.street_address2 }}" id="input-shipping-address-street-address2" class="form-control" /> 329 </div> 330 </div> 331 <div class="form-group required"> 332 <label class="col-sm-2 control-label" for="input-shipping-address-city">{{ column_city }}</label> 333 <div class="col-sm-10"> 334 <input type="text" name="city" value="{{ transaction.shipping_address.city }}" id="input-shipping-address-city" class="form-control" /> 335 </div> 336 </div> 337 <div class="form-group required"> 338 <label class="col-sm-2 control-label" for="input-shipping-address-postal-code">{{ column_postal_code }}</label> 339 <div class="col-sm-10"> 340 <input type="text" name="postal_code" value="{{ transaction.shipping_address.postal_code }}" id="input-shipping-address-postal-code" class="form-control" /> 341 </div> 342 </div> 343 <div class="form-group required"> 344 <label class="col-sm-2 control-label" for="input-shipping-address-region">{{ column_region }}</label> 345 <div class="col-sm-10"> 346 <input type="text" name="region" value="{{ transaction.shipping_address.region }}" id="input-shipping-address-region" class="form-control" /> 347 </div> 348 </div> 349 <div class="form-group required"> 350 <label class="col-sm-2 control-label" for="input-shipping-address-country">{{ column_country }}</label> 351 <div class="col-sm-10"> 352 <input type="text" name="country" value="{{ transaction.shipping_address.country }}" id="input-shipping-address-country" class="form-control" /> 353 </div> 354 </div> 355 <div class="form-group required"> 356 <label class="col-sm-2 control-label" for="input-shipping-address-email">{{ column_email }}</label> 357 <div class="col-sm-10"> 358 <input type="text" name="email" value="{{ transaction.shipping_address.email }}" id="input-shipping-address-email" class="form-control" /> 359 </div> 360 </div> 361 <div class="form-group required"> 362 <label class="col-sm-2 control-label" for="input-shipping-address-phone">{{ column_phone }}</label> 363 <div class="col-sm-10"> 364 <input type="text" name="phone" value="{{ transaction.shipping_address.phone }}" id="input-shipping-address-phone" class="form-control" /> 365 </div> 366 </div> 367 </div> 368 <div class="modal-footer"> 369 <button type="button" class="btn btn-default" data-dismiss="modal">{{ button_close }}</button> 370 <button type="button" class="btn btn-primary button-command" data-type="shipping_address" data-modal="#shipping_address">{{ button_update }}</button> 371 </div> 372 </div> 373 </div> 374 </div> 375 376 <div class="modal fade" id="capture" tabindex="-1" role="dialog" aria-labelledby="capture_title"> 377 <div class="modal-dialog" role="document"> 378 <div class="modal-content"> 379 <div class="modal-header"> 380 <button type="button" class="close" data-dismiss="modal" aria-label="{{ button_close }}"><span aria-hidden="true">×</span></button> 381 <h4 class="modal-title" id="capture_title">{{ text_new_capture_title }}</h4> 382 </div> 383 <div class="modal-body form-horizontal"> 384 <div class="form-group"> 385 <label class="col-sm-2 control-label" for="input-capture-amount">{{ column_amount }}</label> 386 <div class="col-sm-10"> 387 <input text="text" name="capture_amount" value="{{ max_capture_amount }}" id="input-capture-amount" class="form-control" /> 388 </div> 389 </div> 390 </div> 391 <div class="modal-footer"> 392 <button type="button" class="btn btn-default" data-dismiss="modal">{{ button_close }}</button> 393 <button type="button" class="btn btn-primary button-command" data-type="capture" data-modal="#capture">{{ button_update }}</button> 394 </div> 395 </div> 396 </div> 397 </div> 398 399 <div class="modal fade" id="refund" tabindex="-1" role="dialog" aria-labelledby="refund_title"> 400 <div class="modal-dialog" role="document"> 401 <div class="modal-content"> 402 <div class="modal-header"> 403 <button type="button" class="close" data-dismiss="modal" aria-label="{{ button_close }}"><span aria-hidden="true">×</span></button> 404 <h4 class="modal-title" id="refund_title">{{ text_new_refund_title }}</h4> 405 </div> 406 <div class="modal-body form-horizontal"> 407 <div class="form-group"> 408 <label class="col-sm-2 control-label" for="input-refund-amount">{{ column_amount }}</label> 409 <div class="col-sm-10"> 410 <input text="text" name="refund_amount" value="{{ max_refund_amount }}" id="input-refund-amount" class="form-control" /> 411 </div> 412 </div> 413 </div> 414 <div class="modal-footer"> 415 <button type="button" class="btn btn-default" data-dismiss="modal">{{ button_close }}</button> 416 <button type="button" class="btn btn-primary button-command" data-type="refund" data-modal="#refund">{{ button_update }}</button> 417 </div> 418 </div> 419 </div> 420 </div> 421 422 {% for capture in captures %} 423 <div class="modal fade" id="capture-shipping-info-{{ capture.capture_id }}" tabindex="-1" role="dialog" aria-labelledby="capture-shipping-info-{{ capture.capture_id }}-title" style=""> 424 <div class="modal-dialog" role="document"> 425 <div class="modal-content"> 426 <div class="modal-header"> 427 <button type="button" class="close" data-dismiss="modal" aria-label="{{ button_close }}"><span aria-hidden="true">×</span></button> 428 <h4 class="modal-title" id="capture-shipping-info-{{ capture.capture_id }}-title">{{ capture.shipping_info_title }}</h4> 429 </div> 430 <div class="modal-body"> 431 <table class="table table-bordered shipping-info-data"> 432 <tbody> 433 <tr> 434 {% for key, shipping_info in capture.shipping_info %} 435 <td>{{ shipping_info.shipping_company }}</td> 436 {% endfor %} 437 </tr> 438 <tr> 439 {% for key, shipping_info in capture.shipping_info %} 440 <td>{{ shipping_info.shipping_method }}</td> 441 {% endfor %} 442 </tr> 443 <tr> 444 {% for key, shipping_info in capture.shipping_info %} 445 <td>{{ shipping_info.tracking_number }}</td> 446 {% endfor %} 447 </tr> 448 <tr> 449 {% for key, shipping_info in capture.shipping_info %} 450 <td>{{ shipping_info.tracking_uri }}</td> 451 {% endfor %} 452 </tr> 453 <tr> 454 {% for key, shipping_info in capture.shipping_info %} 455 <td>{{ shipping_info.return_shipping_company }}</td> 456 {% endfor %} 457 </tr> 458 <tr> 459 {% for key, shipping_info in capture.shipping_info %} 460 <td>{{ shipping_info.return_tracking_number }}</td> 461 {% endfor %} 462 </tr> 463 <tr> 464 {% for key, shipping_info in capture.shipping_info %} 465 <td>{{ shipping_info.return_tracking_uri }}</td> 466 {% endfor %} 467 </tr> 468 </tbody> 469 <tfoot> 470 <tr> 471 <td colspan="{{ capture.shipping_info|length + 1 }}"></td> 472 <td class="text-left"><button id="add-shipping-info" type="button" onclick="addShippingInfo('#capture-shipping-info-{{ capture.capture_id }}');" data-toggle="tooltip" title="{{ button_add_shipping_info }}" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td> 473 </tr> 474 </tfoot> 475 </table> 476 </div> 477 <div class="modal-footer"> 478 <button type="button" class="btn btn-default" data-dismiss="modal">{{ button_close }}</button> 479 <button type="button" class="btn btn-primary button-command" data-type="capture_shipping_info" data-id="{{ capture.capture_id }}" data-modal="#capture-shipping-info-{{ capture.capture_id }}">{{ button_update }}</button> 480 </div> 481 </div> 482 </div> 483 </div> 484 <div class="modal fade" id="capture-billing-address-{{ capture.capture_id }}" tabindex="-1" role="dialog" aria-labelledby="capture-billing-address-{{ capture.capture_id }}-title" style=""> 485 <div class="modal-dialog" role="document"> 486 <div class="modal-content"> 487 <div class="modal-header"> 488 <button type="button" class="close" data-dismiss="modal" aria-label="{{ button_close }}"><span aria-hidden="true">×</span></button> 489 <h4 class="modal-title" id="capture-billing-address-{{ capture.capture_id }}-title">{{ capture.billing_address_title }}</h4> 490 </div> 491 <div class="modal-body form-horizontal"> 492 <div class="form-group"> 493 <label class="col-sm-2 control-label" for="input-capture-billing-address-{{ capture.capture_id }}-title">{{ column_title }}</label> 494 <div class="col-sm-10"> 495 <input type="text" name="title" value="{{ capture.billing_address.title }}" id="input-capture-billing-address-{{ capture.capture_id }}-title" class="form-control" /> 496 </div> 497 </div> 498 <div class="form-group required"> 499 <label class="col-sm-2 control-label" for="input-capture-billing-address-{{ capture.capture_id }}-given-name">{{ column_given_name }}</label> 500 <div class="col-sm-10"> 501 <input type="text" name="given_name" value="{{ capture.billing_address.given_name }}" id="input-capture-billing-address-{{ capture.capture_id }}-given-name" class="form-control" /> 502 </div> 503 </div> 504 <div class="form-group required"> 505 <label class="col-sm-2 control-label" for="input-capture-billing-address-{{ capture.capture_id }}-family-name">{{ column_family_name }}</label> 506 <div class="col-sm-10"> 507 <input type="text" name="family_name" value="{{ capture.billing_address.family_name }}" id="input-capture-billing-address-{{ capture.capture_id }}-family-name" class="form-control" /> 508 </div> 509 </div> 510 <div class="form-group required"> 511 <label class="col-sm-2 control-label" for="input-capture-billing-address-{{ capture.capture_id }}-street-address">{{ column_street_address }}</label> 512 <div class="col-sm-10"> 513 <input type="text" name="street_address" value="{{ capture.billing_address.street_address }}" id="input-capture-billing-address-{{ capture.capture_id }}-street-address" class="form-control" /> 514 </div> 515 </div> 516 <div class="form-group"> 517 <label class="col-sm-2 control-label" for="input-capture-billing-address-{{ capture.capture_id }}-street-address2">{{ column_street_address2 }}</label> 518 <div class="col-sm-10"> 519 <input type="text" name="street_address2" value="{{ capture.billing_address.street_address2 }}" id="input-capture-billing-address-{{ capture.capture_id }}-street-address2" class="form-control" /> 520 </div> 521 </div> 522 <div class="form-group required"> 523 <label class="col-sm-2 control-label" for="input-capture-billing-address-{{ capture.capture_id }}-city">{{ column_city }}</label> 524 <div class="col-sm-10"> 525 <input type="text" name="city" value="{{ capture.billing_address.city }}" id="input-capture-billing-address-{{ capture.capture_id }}-city" class="form-control" /> 526 </div> 527 </div> 528 <div class="form-group required"> 529 <label class="col-sm-2 control-label" for="input-capture-billing-address-{{ capture.capture_id }}-postal-code">{{ column_postal_code }}</label> 530 <div class="col-sm-10"> 531 <input type="text" name="postal_code" value="{{ capture.billing_address.postal_code }}" id="input-capture-billing-address-{{ capture.capture_id }}-postal-code" class="form-control" /> 532 </div> 533 </div> 534 <div class="form-group required"> 535 <label class="col-sm-2 control-label" for="input-capture-billing-address-{{ capture.capture_id }}-region">{{ column_region }}</label> 536 <div class="col-sm-10"> 537 <input type="text" name="region" value="{{ capture.billing_address.region }}" id="input-capture-billing-address-{{ capture.capture_id }}-region" class="form-control" /> 538 </div> 539 </div> 540 <div class="form-group required"> 541 <label class="col-sm-2 control-label" for="input-capture-billing-address-{{ capture.capture_id }}-country">{{ column_country }}</label> 542 <div class="col-sm-10"> 543 <input type="text" name="country" value="{{ capture.billing_address.country }}" id="input-capture-billing-address-{{ capture.capture_id }}-country" class="form-control" /> 544 </div> 545 </div> 546 <div class="form-group required"> 547 <label class="col-sm-2 control-label" for="input-capture-billing-address-{{ capture.capture_id }}-email">{{ column_email }}</label> 548 <div class="col-sm-10"> 549 <input type="text" name="email" value="{{ capture.billing_address.email }}" id="input-capture-billing-address-{{ capture.capture_id }}-email" class="form-control" /> 550 </div> 551 </div> 552 <div class="form-group required"> 553 <label class="col-sm-2 control-label" for="input-capture-billing-address-{{ capture.capture_id }}-phone">{{ column_phone }}</label> 554 <div class="col-sm-10"> 555 <input type="text" name="phone" value="{{ capture.billing_address.phone }}" id="input-capture-billing-address-{{ capture.capture_id }}-phone" class="form-control" /> 556 </div> 557 </div> 558 </div> 559 <div class="modal-footer"> 560 <button type="button" class="btn btn-default" data-dismiss="modal">{{ button_close }}</button> 561 <button type="button" class="btn btn-primary button-command" data-type="capture_billing_address" data-id="{{ capture.capture_id }}" data-modal="#capture-billing-address-{{ capture.capture_id }}">{{ button_update }}</button> 562 </div> 563 </div> 564 </div> 565 </div> 566 {% endfor %} 567 568 <script type="text/javascript"><!-- 569 $(document).off('click', '.button-command').on('click', '.button-command', function() { 570 var type = $(this).attr('data-type'); 571 var id = $(this).attr('data-id'); 572 var modal = $(this).attr('data-modal'); 573 var confirm_text = ''; 574 var clicked_button = $(this); 575 var data = {}; 576 577 if (type === 'cancel') { 578 confirm_text = '{{ text_confirm_cancel }}'; 579 } else if (type === 'capture') { 580 data = $('#input-capture-amount').val(); 581 582 {% if symbol_left %} 583 confirm_text = '{{ text_confirm_capture }} ' + '{{ symbol_left }}' + $('#input-capture-amount').val(); 584 {% elseif symbol_right %} 585 confirm_text = '{{ text_confirm_capture }} ' + $('#input-capture-amount').val() + '{{ symbol_right }}'; 586 {% endif %} 587 } else if (type === 'refund') { 588 data = $('#input-refund-amount').val(); 589 590 {% if symbol_left %} 591 confirm_text = '{{ text_confirm_refund }} ' + '{{ symbol_left }}' + $('#input-refund-amount').val(); 592 {% elseif symbol_right %} 593 confirm_text = '{{ text_confirm_refund }} ' + $('#input-refund-amount').val() + '{{ symbol_right }}'; 594 {% endif %} 595 } else if (type === 'extend_authorization') { 596 confirm_text = '{{ text_confirm_extend_authorization }}'; 597 } else if (type === 'merchant_reference') { 598 data = $('input[name=\'merchant_reference_1\']').serialize(); 599 600 confirm_text = '{{ text_confirm_merchant_reference }}'; 601 } else if (type === 'billing_address') { 602 data = $('#billing_address :input').serialize(); 603 604 confirm_text = '{{ text_confirm_billing_address }}'; 605 } else if (type === 'shipping_address') { 606 data = $('#shipping_address :input').serialize(); 607 608 confirm_text = '{{ text_confirm_shipping_address }}'; 609 } else if (type === 'release_authorization') { 610 confirm_text = '{{ text_confirm_release_authorization }}'; 611 } else if (type === 'capture_shipping_info') { 612 data = $('#capture-shipping-info-' + id + ' :input').serialize(); 613 614 confirm_text = '{{ text_confirm_shipping_info }}'; 615 } else if (type === 'capture_billing_address') { 616 data = $('#capture-billing-address-' + id + ' :input').serialize(); 617 618 confirm_text = '{{ text_confirm_billing_address }}'; 619 } else if (type === 'trigger_send_out') { 620 confirm_text = '{{ text_confirm_trigger_send_out }}'; 621 } else { 622 return; 623 } 624 625 if (confirm(confirm_text)) { 626 $.ajax({ 627 url: 'index.php?route=extension/payment/klarna_checkout/transactionCommand&user_token={{ user_token }}&order_id={{ order_id }}', 628 type: 'post', 629 data: { 630 type: type, 631 id: id, 632 order_ref: '{{ order_ref }}', 633 data: data 634 }, 635 dataType: 'json', 636 beforeSend: function() { 637 clicked_button.button('loading'); 638 639 $('.kc-alert').hide(); 640 641 $('.kc-alert').removeClass('alert alert-success alert-danger'); 642 }, 643 complete: function() { 644 clicked_button.button('reset'); 645 646 $(modal).modal('hide'); 647 }, 648 success: function(json) { 649 if (json.error) { 650 $('.kc-alert').show().addClass('alert alert-danger').html('<i class="fa fa-check-circle"></i> ' + json.error); 651 } 652 653 if (json.success) { 654 $('.kc-alert').show().addClass('alert alert-success').html('<i class="fa fa-exclamation-circle"></i> ' + json.success); 655 } 656 657 if (json.order_status_id) { 658 $.ajax({ 659 url: '{{ store_url }}index.php?route=api/order/history&token=' + token + '&order_id={{ order_id }}', 660 type: 'post', 661 dataType: 'json', 662 data: 'order_status_id=' + encodeURIComponent(json.order_status_id) + '¬ify=0&override=1&comment', 663 beforeSend: function() { 664 $('#button-history').button('loading'); 665 }, 666 complete: function() { 667 $('#button-history').button('reset'); 668 }, 669 success: function(json) { 670 $('.alert-dismissible').remove(); 671 672 if (json['error']) { 673 $('#history').before('<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>'); 674 } 675 676 if (json['success']) { 677 $('#history').load('index.php?route=sale/order/history&user_token={{ user_token }}&order_id={{ order_id }}'); 678 679 $('#history').before('<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>'); 680 681 $('textarea[name=\'comment\']').val(''); 682 } 683 }, 684 error: function(xhr, ajaxOptions, thrownError) { 685 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 686 } 687 }); 688 } 689 690 setTimeout(function() { 691 getTransaction('{{ order_id }}'); 692 }, 300); 693 } 694 }); 695 } 696 }); 697 698 var shipping_info_row = 0; 699 700 function addShippingInfo(id) { 701 $(id + ' .shipping-info-data tbody tr:nth-child(1)').append('<td><div class="col-sm-12"><input class="form-control" type="text" name="shipping_info[' + shipping_info_row + '][shipping_company]" value="" data-id="' + shipping_info_row + '" placeholder="{{ entry_shipping_company }}" /></div></td>'); 702 703 html = ' <td><div class="col-sm-12"><select name="shipping_info[' + shipping_info_row + '][shipping_method]" class="form-control">'; 704 {% for shipping_method in allowed_shipping_methods %} 705 html += ' <option value="{{ shipping_method }}">{{ shipping_method|escape('js') }}</option>'; 706 {% endfor %} 707 html += ' </select></div></td>'; 708 709 $(id + ' .shipping-info-data tbody tr:nth-child(2)').append(html); 710 $(id + ' .shipping-info-data tbody tr:nth-child(3)').append('<td><div class="col-sm-12"><input class="form-control" type="text" name="shipping_info[' + shipping_info_row + '][tracking_number]" value="" data-id="' + shipping_info_row + '" placeholder="{{ entry_tracking_number }}" /></div></td>'); 711 $(id + ' .shipping-info-data tbody tr:nth-child(4)').append('<td><div class="col-sm-12"><input class="form-control" type="text" name="shipping_info[' + shipping_info_row + '][tracking_uri]" value="" data-id="' + shipping_info_row + '" placeholder="{{ entry_tracking_uri }}" /></div></td>'); 712 $(id + ' .shipping-info-data tbody tr:nth-child(5)').append('<td><div class="col-sm-12"><input class="form-control" type="text" name="shipping_info[' + shipping_info_row + '][return_shipping_company]" value="" data-id="' + shipping_info_row + '" placeholder="{{ entry_return_shipping_company }}" /></div></td>'); 713 $(id + ' .shipping-info-data tbody tr:nth-child(6)').append('<td><div class="col-sm-12"><input class="form-control" type="text" name="shipping_info[' + shipping_info_row + '][return_tracking_number]" value="" data-id="' + shipping_info_row + '" placeholder="{{ entry_return_tracking_number }}" /></div></td>'); 714 $(id + ' .shipping-info-data tbody tr:nth-child(7)').append('<td><div class="col-sm-12"><input class="form-control" type="text" name="shipping_info[' + shipping_info_row + '][return_tracking_uri]" value="" data-id="' + shipping_info_row + '" placeholder="{{ entry_return_tracking_uri }}" /></div></td>'); 715 716 var colspan = $(id + ' .shipping-info-data tfoot tr td:nth-child(1)').attr('colspan'); 717 $(id + ' .shipping-info-data tfoot tr td:nth-child(1)').attr('colspan', colspan + 1); 718 719 shipping_info_row++; 720 } 721 //--></script>