shop.balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

squareup.twig (49099B)


      1 {{ header }}
      2 {{ column_left }}
      3 <div id="content">
      4     <div class="page-header">
      5         <div class="container-fluid">
      6             <div class="pull-right">
      7                 <button type="submit" form="form-square-checkout" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button>
      8                 <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a></div>
      9             <h1>{{ heading_title }}</h1>
     10             <ul class="breadcrumb">
     11                 {% for breadcrumb in breadcrumbs %}
     12                     <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
     13                 {% endfor %}
     14             </ul>
     15         </div>
     16     </div>
     17     <div class="container-fluid">
     18         {% for alert in alerts %}
     19             <div class="alert alert-{{ alert.type }}"><i class="fa fa-{{ alert.icon }}"></i>&nbsp;{{ alert.text }}
     20                 <button type="button" class="close" data-dismiss="alert">&times;</button>
     21             </div>
     22         {% endfor %}
     23 
     24         <div class="panel panel-default">
     25             <div class="panel-heading">
     26                 <h3 class="panel-title"><i class="fa fa-pencil"></i>&nbsp;{{ text_edit_heading }}</h3>
     27             </div>
     28             <div class="panel-body">
     29                 <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-square-checkout" class="form-horizontal">
     30                     <input type="hidden" name="payment_squareup_card" value="1" />
     31                     <ul class="nav nav-tabs">
     32                         <li><a href="#tab-setting" data-toggle="tab"><i class="fa fa-gear"></i>&nbsp;{{ tab_setting }}</a></li>
     33                         <li><a href="#tab-transaction" data-toggle="tab"><i class="fa fa-list"></i>&nbsp;{{ tab_transaction }}</a></li>
     34                         <li><a href="#tab-cron" data-toggle="tab"><i class="fa fa-clock-o"></i>&nbsp;{{ tab_cron }}</a></li>
     35                         <li><a href="#tab-recurring" data-toggle="tab"><i class="fa fa-hourglass-half"></i>&nbsp;{{ tab_recurring }}</a></li>
     36                     </ul>
     37                     <div class="tab-content">
     38                         <div class="tab-pane" id="tab-setting">
     39                             <fieldset>
     40                                 {% if payment_squareup_merchant_id %}
     41                                     <legend>{{ text_connection_section }} - {{ text_connected }}</legend>
     42                                     <div class="row">
     43                                         <div class="col-sm-12">
     44                                             <span data-toggle="tooltip" title="{{ text_disabled_connect_help_text }}">
     45                                                 <a id="reconnect-button" href="{{ payment_squareup_auth_link }}" class="btn btn-primary btn-lg btn-connect" >{{ button_reconnect}}</a>
     46                                             </span>
     47                                             
     48                                             <span data-toggle="tooltip" title="{{ text_disabled_connect_help_text }}">
     49                                                 <a id="refresh-button" href="{{ payment_squareup_refresh_link }}" class="btn btn-primary btn-lg btn-connect" >{{ button_refresh }}</a>
     50                                             </span>
     51                                             
     52                                             <p>{{ text_connected_info}}</p>
     53                                         </div>
     54                                     </div>
     55                                 {% else %}
     56                                     <legend>{{ text_connection_section }} - {{ text_not_connected }}</legend>
     57                                     <div class="row">
     58                                         <div class="col-sm-12">
     59                                             <span data-toggle="tooltip" title="{{ text_disabled_connect_help_text }}">
     60                                                 <a id="connect-button" href="{{ payment_squareup_auth_link }}" class="btn btn-primary btn-lg btn-connect">{{ button_connect }}</a>
     61                                             </span>
     62                                             <p>{{ text_not_connected_info }}</p>
     63                                         </div>
     64                                     </div>
     65                                 {% endif %}
     66                             </fieldset>
     67                             <fieldset>
     68                                 <legend>{{ text_settings_section_heading }}</legend>
     69                                 <div class="form-group">
     70                                     <label class="col-sm-2 control-label" for="dropdown_payment_squareup_status"><span data-toggle="tooltip" title="{{ text_extension_status_help }}">{{ text_extension_status }}</span></label>
     71                                     <div class="col-sm-10">
     72                                         <select name="payment_squareup_status" id="dropdown_payment_squareup_status" class="form-control">
     73                                             <option value="1" {% if payment_squareup_status == 1 %} selected {% endif %}>{{ text_extension_status_enabled }}</option>
     74                                             <option value="0" {% if payment_squareup_status == 0 %} selected {% endif %}>{{ text_extension_status_disabled }}</option>
     75                                         </select>
     76                                     </div>
     77                                 </div>
     78                                 <div class="form-group">
     79                                     <label class="col-sm-2 control-label">
     80                                         <span data-toggle="tooltip" title="{{ text_payment_method_name_help }}">{{ text_payment_method_name_label }}</span>
     81                                     </label>
     82                                     <div class="col-sm-10">
     83                                         {% for language in languages %}
     84                                             <div class="input-group">
     85                                                 <span class="input-group-addon"><img src="{{ language.image }}" alt="{{ language.name }}" /></span>
     86                                                 <input type="text" name="payment_squareup_display_name[{{ language.language_id }}]" value="{{ payment_squareup_display_name[language.language_id] ?? text_payment_method_name_placeholder }}" placeholder="{{ text_payment_method_name_placeholder }}" class="form-control"/>
     87                                             </div>
     88                                         {% endfor %}
     89                                     </div>
     90                                 </div>
     91                                 <div class="form-group">
     92                                     <label class="col-sm-2 control-label" for="input_payment_squareup_redirect_uri_static">
     93                                         <span data-toggle="tooltip" title="{{ text_redirect_uri_help }}">{{ text_redirect_uri_label }}</span>
     94                                     </label>
     95                                     <div class="col-sm-10">
     96                                         <input type="text" id="input_payment_squareup_redirect_uri_static" name="payment_squareup_redirect_uri_static" value="{{ payment_squareup_redirect_uri }}" class="form-control" disabled />
     97                                     </div>
     98                                 </div>
     99                                 <div class="form-group required">
    100                                     <label class="col-sm-2 control-label" for="input_payment_squareup_client_id">
    101                                         <span data-toggle="tooltip" title="{{ text_client_id_help }}">{{ text_client_id_label }}</span>
    102                                     </label>
    103                                     <div class="col-sm-10">
    104                                         <input type="text" name="payment_squareup_client_id" value="{{ payment_squareup_client_id }}" placeholder="{{ text_client_id_placeholder }}" id="input_payment_squareup_client_id" class="form-control"/>
    105                                         {% if error_client_id %}
    106                                             <div class="text-danger">{{ error_client_id }}</div>
    107                                         {% endif %}
    108                                     </div>
    109                                 </div>
    110                                 <div class="form-group required">
    111                                     <label class="col-sm-2 control-label" for="input_payment_squareup_client_secret">
    112                                         <span data-toggle="tooltip" title="{{ text_client_secret_help }}">{{ text_client_secret_label }}</span>
    113                                     </label>
    114                                     <div class="col-sm-10">
    115                                         <input type="text" name="payment_squareup_client_secret" value="{{ payment_squareup_client_secret }}" placeholder="{{ text_client_secret_placeholder }}" id="input_payment_squareup_client_secret" class="form-control"/>
    116                                         {% if error_client_secret %}
    117                                             <div class="text-danger">{{ error_client_secret }}</div>
    118                                         {% endif %}
    119                                     </div>
    120                                 </div>
    121                                 <div class="form-group">
    122                                     <label class="col-sm-2 control-label" for="dropdown_payment_squareup_delay_capture"><span data-toggle="tooltip" title="{{ text_delay_capture_help }}">{{ text_delay_capture_label }}</span></label>
    123                                     <div class="col-sm-10">
    124                                         <select name="payment_squareup_delay_capture" id="dropdown_payment_squareup_delay_capture" class="form-control">
    125                                             <option value="1" {% if payment_squareup_delay_capture == 1 %} selected {% endif %}>{{ text_authorize_label }}</option>
    126                                             <option value="0" {% if payment_squareup_delay_capture == 0 %} selected {% endif %}>{{ text_sale_label }}</option>
    127                                         </select>
    128                                     </div>
    129                                 </div>
    130                                 <div class="form-group">
    131                                     <label class="col-sm-2 control-label" for="input_payment_squareup_total">
    132                                         <span data-toggle="tooltip" title="{{ help_total }}">{{ entry_total }}</span>
    133                                     </label>
    134                                     <div class="col-sm-10">
    135                                         <input type="text" name="payment_squareup_total" value="{{ payment_squareup_total }}" placeholder="{{ entry_total }}" id="payment_squareup_total" class="form-control"/>
    136                                     </div>
    137                                 </div>
    138                                 <div class="form-group">
    139                                   <label class="col-sm-2 control-label" for="input-geo-zone">{{ entry_geo_zone }}</label>
    140                                   <div class="col-sm-10">
    141                                     <select name="payment_squareup_geo_zone_id" id="input-geo-zone" class="form-control">
    142                                         <option value="0">{{ text_all_zones }}</option>
    143                                         {% for geo_zone in geo_zones %}
    144                                             <option value="{{ geo_zone.geo_zone_id }}" {% if geo_zone.geo_zone_id == payment_squareup_geo_zone_id %} selected {% endif %}>{{ geo_zone.name }}</option>
    145                                         {% endfor %}
    146                                     </select>
    147                                   </div>
    148                                 </div>
    149                                 <div class="form-group">
    150                                     <label class="col-sm-2 control-label" for="input_payment_squareup_sort_order">
    151                                         {{ entry_sort_order }}
    152                                     </label>
    153                                     <div class="col-sm-10">
    154                                         <input type="text" name="payment_squareup_sort_order" value="{{ payment_squareup_sort_order }}" placeholder="{{ entry_sort_order }}" id="input_payment_squareup_sort_order" class="form-control"/>
    155                                     </div>
    156                                 </div>
    157                                 <div class="form-group">
    158                                     <label class="col-sm-2 control-label" for="dropdown_payment_squareup_debug"><span data-toggle="tooltip" title="{{ text_debug_help }}">{{ text_debug_label }}</span></label>
    159                                     <div class="col-sm-10">
    160                                         <select name="payment_squareup_debug" id="dropdown_payment_squareup_debug" class="form-control">
    161                                             <option value="1" {% if payment_squareup_debug == 1 %} selected {% endif %}>{{ text_debug_enabled }}</option>
    162                                             <option value="0" {% if payment_squareup_debug == 0 %} selected {% endif %}>{{ text_debug_disabled }}</option>
    163                                         </select>
    164                                     </div>
    165                                 </div>
    166                                 <div class="form-group">
    167                                     <label class="col-sm-2 control-label" for="dropdown_payment_squareup_enable_sandbox"><span data-toggle="tooltip" title="{{ text_enable_sandbox_help }}">{{ text_enable_sandbox_label }}</span></label>
    168                                     <div class="col-sm-10">
    169                                         <select name="payment_squareup_enable_sandbox" id="dropdown_payment_squareup_enable_sandbox" class="form-control">
    170                                             <option value="1" {% if payment_squareup_enable_sandbox == 1 %} selected {% endif %}>{{ text_sandbox_enabled_label }}</option>
    171                                             <option value="0" {% if payment_squareup_enable_sandbox == 0 %} selected {% endif %}>{{ text_sandbox_disabled_label }}</option>
    172                                         </select>
    173                                     </div>
    174                                 </div>
    175                             </fieldset>
    176                             <fieldset id="sandbox_settings" {% if not payment_squareup_enable_sandbox %} style="display: none;" {% endif %}> 
    177                                 <legend>{{ text_sandbox_section_heading }}</legend>
    178                                 <div class="form-group required">
    179                                     <label class="col-sm-2 control-label" for="input_payment_squareup_sandbox_client_id">
    180                                         <span data-toggle="tooltip" title="{{ text_sandbox_client_id_help }}">{{ text_sandbox_client_id_label }}</span>
    181                                     </label>
    182                                     <div class="col-sm-10">
    183                                         <input type="text" name="payment_squareup_sandbox_client_id" value="{{ payment_squareup_sandbox_client_id }}" placeholder="{{ text_sandbox_client_id_placeholder }}" id="input_payment_squareup_sandbox_client_id" class="form-control" />
    184                                         {% if error_sandbox_client_id %}
    185                                             <div class="text-danger">{{ error_sandbox_client_id }}</div>
    186                                         {% endif %}
    187                                     </div>
    188                                 </div>
    189                                 <div class="form-group required">
    190                                     <label class="col-sm-2 control-label" for="input_payment_squareup_sandbox_token">
    191                                         <span data-toggle="tooltip" title="{{ text_sandbox_access_token_help }}">{{ text_sandbox_access_token_label }}</span>
    192                                     </label>
    193                                     <div class="col-sm-10">
    194                                         <input type="text" name="payment_squareup_sandbox_token" value="{{ payment_squareup_sandbox_token }}" placeholder="{{ text_sandbox_access_token_placeholder }}" id="input_payment_squareup_sandbox_token" class="form-control"/>
    195                                         {% if error_sandbox_token %}
    196                                             <div class="text-danger">{{ error_sandbox_token }}</div>
    197                                         {% endif %}
    198                                     </div>
    199                                 </div>
    200                             </fieldset>
    201                             <fieldset>
    202                                 <legend>{{ text_merchant_info_section_heading }}</legend>  
    203                                 <div class="form-group">
    204                                     <label class="col-sm-2 control-label" for="input_merchant_name">
    205                                         {{ text_merchant_name_label }}
    206                                     </label>
    207                                     <div class="col-sm-10">
    208                                         <input type="text" name="merchant_name" value="{{ payment_squareup_merchant_name }}" placeholder="{{ text_merchant_name_placeholder }}" id="input_merchant_name" class="form-control" disabled/>
    209                                     </div>
    210                                 </div>
    211                                 <div class="form-group">
    212                                     <label class="col-sm-2 control-label" for="access_token_expires_time">
    213                                         {{ text_access_token_expires_label }}
    214                                     </label>
    215                                     <div class="col-sm-10">
    216                                         <input type="text" name="access_token_expires" value="{{ access_token_expires_time }}" placeholder="{{ text_access_token_expires_placeholder }}" id="access_token_expires_time" class="form-control" disabled />
    217                                     </div>
    218                                 </div>
    219                                 <div class="form-group required">
    220                                     <label class="col-sm-2 control-label" for="dropdown_payment_squareup_sandbox_location_id"><span data-toggle="tooltip" title="{{ text_location_help }}">{{ text_location_label }}</span></label>
    221                                     <div class="col-sm-10">
    222                                         <select name="payment_squareup_location_id" id="dropdown_payment_squareup_location_id" class="form-control" {% if not payment_squareup_locations %} disabled {% endif %}>
    223                                             {% for location in payment_squareup_locations %}
    224                                                 <option value="{{ location.id }}" {% if location.id == payment_squareup_location_id %} selected {% endif %}>{{ location.name }}</option>
    225                                             {% endfor %}
    226                                         </select>
    227                                         <select name="payment_squareup_sandbox_location_id" id="dropdown_payment_squareup_sandbox_location_id" class="form-control" {% if not payment_squareup_sandbox_locations %} disabled {% endif %}>
    228                                             {% for location in payment_squareup_sandbox_locations %}
    229                                                 <option value="{{ location.id }}" {% if location.id == payment_squareup_sandbox_location_id %} selected {% endif %}>{{ location.name }}</option>
    230                                             {% endfor %}
    231                                         </select>
    232                                         {% if error_location %}
    233                                             <div class="text-danger">{{ error_location }}</div>
    234                                         {% endif %}
    235                                     </div>
    236                                 </div>
    237                             </fieldset>
    238                             <fieldset>
    239                                 <legend>{{ text_transaction_statuses }}</legend>
    240                                 <div class="form-group">
    241                                     <label class="col-sm-2 control-label" for="dropdown_payment_squareup_status_authorized"><span data-toggle="tooltip" title="{{ payment_squareup_status_comment_authorized }}">{{ entry_status_authorized }}</span></label>
    242                                     <div class="col-sm-10">
    243                                         <select name="payment_squareup_status_authorized" id="dropdown_payment_squareup_status_authorized" class="form-control">
    244                                             {% for order_status in order_statuses %}
    245                                                 <option value="{{ order_status.order_status_id }}" {% if order_status.order_status_id == payment_squareup_status_authorized %} selected {% endif %}>{{ order_status.name }}</option>
    246                                             {% endfor %}
    247                                         </select>
    248                                     </div>
    249                                 </div>
    250                                 <div class="form-group">
    251                                     <label class="col-sm-2 control-label" for="dropdown_payment_squareup_status_captured"><span data-toggle="tooltip" title="{{ payment_squareup_status_comment_captured }}">{{ entry_status_captured }}</span></label>
    252                                     <div class="col-sm-10">
    253                                         <select name="payment_squareup_status_captured" id="dropdown_payment_squareup_status_captured" class="form-control">
    254                                             {% for order_status in order_statuses %}
    255                                                 <option value="{{ order_status.order_status_id }}" {% if order_status.order_status_id == payment_squareup_status_captured %} selected {% endif %}>{{ order_status.name }}</option>
    256                                             {% endfor %}
    257                                         </select>
    258                                     </div>
    259                                 </div>
    260                                 <div class="form-group">
    261                                     <label class="col-sm-2 control-label" for="dropdown_payment_squareup_status_voided"><span data-toggle="tooltip" title="{{ payment_squareup_status_comment_voided }}">{{ entry_status_voided }}</span></label>
    262                                     <div class="col-sm-10">
    263                                         <select name="payment_squareup_status_voided" id="dropdown_payment_squareup_status_voided" class="form-control">
    264                                             {% for order_status in order_statuses %}
    265                                                 <option value="{{ order_status.order_status_id }}" {% if order_status.order_status_id == payment_squareup_status_voided %} selected {% endif %}>{{ order_status.name }}</option>
    266                                             {% endfor %}
    267                                         </select>
    268                                     </div>
    269                                 </div>
    270                                 <div class="form-group">
    271                                     <label class="col-sm-2 control-label" for="dropdown_payment_squareup_status_failed"><span data-toggle="tooltip" title="{{ payment_squareup_status_comment_failed }}">{{ entry_status_failed }}</span></label>
    272                                     <div class="col-sm-10">
    273                                         <select name="payment_squareup_status_failed" id="dropdown_payment_squareup_status_failed" class="form-control">
    274                                             {% for order_status in order_statuses %}
    275                                                 <option value="{{ order_status.order_status_id }}" {% if order_status.order_status_id == payment_squareup_status_failed %} selected {% endif %}>{{ order_status.name }}</option>
    276                                             {% endfor %}
    277                                         </select>
    278                                     </div>
    279                                 </div>
    280                             </fieldset>
    281                         </div>
    282                         <div class="tab-pane" id="tab-transaction">
    283                             <div id="transaction-alert" data-message="{{ text_loading }}"></div>
    284                             <div class="text-right margin-bottom">
    285                             </div>
    286                             <div class="table-responsive">
    287                                 <table class="table table-bordered table-hover">
    288                                     <thead>
    289                                         <tr>
    290                                             <th class="text-left hidden-xs">{{ column_transaction_id }}</th> 
    291                                             <th class="text-left">{{ column_customer }}</th>
    292                                             <th class="text-left hidden-xs">{{ column_order_id }}</th>
    293                                             <th class="text-left hidden-xs">{{ column_type }}</th>
    294                                             <th class="text-left hidden-xs">{{ column_amount }}</th>
    295                                             <th class="text-left hidden-xs">{{ column_refunds }}</th>
    296                                             <th class="text-left hidden-xs hidden-sm">{{ column_ip }}</th>
    297                                             <th class="text-left">{{ column_date_created }}</th>
    298                                             <th class="text-right">{{ column_action }}</th>
    299                                         </tr>
    300                                     </thead>
    301                                     <tbody id="transactions">
    302                                     </tbody>
    303                                 </table>
    304                                 <div id="transactions_pagination"></div>
    305                             </div>
    306                         </div>
    307                         <div class="tab-pane" id="tab-cron">
    308                             <fieldset>
    309                                 <legend>{{ text_executables }}</legend>
    310                                 <div class="alert alert-info"><i class="fa fa-info-circle"></i> {{ text_recurring_info }}</div>
    311                                 <div class="form-group">
    312                                     <label class="col-sm-2 control-label"><span data-toggle="tooltip" data-original-title="{{ help_local_cron }}">{{ text_local_cron }}</span></label>
    313                                     <div class="col-sm-10">
    314                                         <input disabled type="text" class="form-control" value="{{ payment_squareup_cron_command }}" />
    315                                     </div>
    316                                 </div>
    317                                 <div class="form-group">
    318                                     <label class="col-sm-2 control-label"><span data-toggle="tooltip" data-original-title="{{ help_remote_cron }}">{{ text_remote_cron }}</span></label>
    319                                     <div class="col-sm-10">
    320                                         <div class="input-group">
    321                                             <input disabled type="text" name="payment_squareup_cron_url" id="input_payment_squareup_cron_url" class="form-control" value="" />
    322                                             <div data-toggle="tooltip" data-original-title="{{ text_refresh_token }}" class="input-group-addon btn btn-primary" id="refresh-cron-token">
    323                                                 <i class="fa fa-refresh"></i>
    324                                             </div>
    325                                         </div>
    326                                         <input id="input_payment_squareup_cron_token" type="hidden" name="payment_squareup_cron_token" value="{{ payment_squareup_cron_token }}" />
    327                                     </div>
    328                                 </div>
    329                                 <div class="form-group required">
    330                                     <label class="col-sm-2 control-label" for="checkbox_payment_squareup_cron_acknowledge">{{ entry_setup_confirmation }}</label>
    331                                     <div class="col-sm-10">
    332                                         <label class="checkbox-inline">
    333                                             <input id="checkbox_payment_squareup_cron_acknowledge" type="checkbox" value="1" {% if payment_squareup_cron_acknowledge %} checked {% endif %} name="payment_squareup_cron_acknowledge" /> {{ text_acknowledge_cron }}
    334                                         </label>
    335 
    336                                         {% if error_cron_acknowledge %}
    337                                             <div class="text-danger">{{ error_cron_acknowledge }}</div>
    338                                         {% endif %}
    339                                     </div>
    340                                 </div>
    341                             </fieldset>
    342                             <fieldset>
    343                                 <legend>{{ text_admin_notifications }}</legend>
    344                                 <div class="form-group">
    345                                     <label class="control-label col-sm-2" for="dropdown_payment_squareup_cron_email_status"><span data-toggle="tooltip" data-original-title="{{ help_cron_email_status }}">{{ text_cron_email_status }}</span></label>
    346                                     <div class="col-sm-10">
    347                                         <select id="dropdown_payment_squareup_cron_email_status" name="payment_squareup_cron_email_status" class="form-control">
    348                                             <option value="1" {% if payment_squareup_cron_email_status == '1' %} selected {% endif %}>{{ text_enabled }}</option>
    349                                             <option value="0" {% if payment_squareup_cron_email_status == '0' %} selected {% endif %}>{{ text_disabled }}</option>
    350                                         </select>
    351                                     </div>
    352                                 </div>
    353                                 <div class="form-group required">
    354                                     <label class="col-sm-2 control-label" for="input_payment_squareup_cron_email"><span data-toggle="tooltip" data-original-title="{{ help_cron_email }}">{{ text_cron_email }}</span></label>
    355                                     <div class="col-sm-10">
    356                                         <input id="input_payment_squareup_cron_email" name="payment_squareup_cron_email" type="text" class="form-control" value="{{ payment_squareup_cron_email }}"/>
    357                                         {% if error_cron_email %}
    358                                             <div class="text-danger">{{ error_cron_email }}</div>
    359                                         {% endif %}
    360                                     </div>
    361                                 </div>
    362                             </fieldset>
    363                         </div>
    364                         <div class="tab-pane" id="tab-recurring">
    365                             <div class="form-group">
    366                                 <label class="control-label col-sm-2" for="dropdown_payment_squareup_recurring_status"><span data-toggle="tooltip" data-original-title="{{ help_recurring_status }}">{{ text_recurring_status }}</span></label>
    367                                 <div class="col-sm-10">
    368                                     <select id="dropdown_payment_squareup_recurring_status" name="payment_squareup_recurring_status" class="form-control">
    369                                         <option value="1" {% if payment_squareup_recurring_status == '1' %} selected {% endif %}>{{ text_enabled }}</option>
    370                                         <option value="0" {% if payment_squareup_recurring_status == '0' %} selected {% endif %}>{{ text_disabled }}</option>
    371                                     </select>
    372                                 </div>
    373                             </div>
    374                             <fieldset>
    375                                 <legend>{{ text_customer_notifications }}</legend>
    376                                 <div class="form-group">
    377                                     <label class="control-label col-sm-2" for="dropdown_payment_squareup_notify_recurring_success"><span data-toggle="tooltip" data-original-title="{{ help_notify_recurring_success }}">{{ text_notify_recurring_success }}</span></label>
    378                                     <div class="col-sm-10">
    379                                         <select id="dropdown_payment_squareup_notify_recurring_success" name="payment_squareup_notify_recurring_success" class="form-control">
    380                                             <option value="1" {% if payment_squareup_notify_recurring_success == '1' %} selected {% endif %}>{{ text_enabled }}</option>
    381                                             <option value="0" {% if payment_squareup_notify_recurring_success == '0' %} selected {% endif %}>{{ text_disabled }}</option>
    382                                         </select>
    383                                     </div>
    384                                 </div>
    385                                 <div class="form-group">
    386                                     <label class="control-label col-sm-2" for="dropdown_payment_squareup_notify_recurring_fail"><span data-toggle="tooltip" data-original-title="{{ help_notify_recurring_fail }}">{{ text_notify_recurring_fail }}</span></label>
    387                                     <div class="col-sm-10">
    388                                         <select id="dropdown_payment_squareup_notify_recurring_fail" name="payment_squareup_notify_recurring_fail" class="form-control">
    389                                             <option value="1" {% if payment_squareup_notify_recurring_fail == '1' %} selected {% endif %}>{{ text_enabled }}</option>
    390                                             <option value="0" {% if payment_squareup_notify_recurring_fail == '0' %} selected {% endif %}>{{ text_disabled }}</option>
    391                                         </select>
    392                                     </div>
    393                                 </div>
    394                             </fieldset>
    395                         </div>
    396                     </div>
    397                 </form>
    398             </div>
    399         </div>
    400     </div>
    401     <div class="modal fade" id="squareup-confirm-modal">
    402         <div class="modal-dialog">
    403             <div class="modal-content">
    404                 <div class="modal-header">
    405                     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
    406                     <h4 class="modal-title">{{ text_confirm_action }}</h4>
    407                 </div>
    408                 <div class="modal-body">
    409                     <h4 id="squareup-confirm-modal-content"></h4>
    410                 </div>
    411                 <div class="modal-footer">
    412                     <button type="button" class="btn btn-default" data-dismiss="modal">{{ text_close }}</button>
    413                     <button id="squareup-confirm-ok" type="button" class="btn btn-primary">{{ text_ok }}</button>
    414                 </div>
    415             </div>
    416         </div>
    417     </div>
    418     <div class="modal fade" id="squareup-refund-modal">
    419         <div class="modal-dialog">
    420             <div class="modal-content">
    421                 <div class="modal-header">
    422                     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
    423                     <h4 class="modal-title">{{ text_refund_details }}</h4>
    424                 </div>
    425                 <div class="modal-body">
    426                     <div class="form-group">
    427                         <label class="control-label" id="squareup-refund-modal-content-reason"></label>
    428                         <textarea class="form-control" id="squareup-refund-reason" required></textarea>
    429                     </div>
    430                     <div class="form-group">
    431                         <label class="control-label" id="squareup-refund-modal-content-amount"></label>
    432                         <input class="form-control" type="text" id="squareup-refund-amount" required />
    433                     </div>
    434                 </div>
    435                 <div class="modal-footer">
    436                     <button type="button" class="btn btn-default" data-dismiss="modal">{{ text_close }}</button>
    437                     <button id="squareup-refund-ok" type="button" class="btn btn-primary">{{ text_ok }}</button>
    438                 </div>
    439             </div>
    440         </div>
    441     </div>
    442 </div>
    443 <script type="text/javascript">
    444 $(document).ready(function() {
    445     var triggerConnectButtons = function() {
    446         if ($('#input_payment_squareup_client_id').val() != '' && $('#input_payment_squareup_client_secret').val() != '') {
    447             $('.btn-connect').removeClass('disabled');
    448         } else {
    449             $('.btn-connect').addClass('disabled');
    450         }
    451     }
    452 
    453     var setCronUrl = function() {
    454         $('#input_payment_squareup_cron_url').val(
    455             "{{ payment_squareup_cron_url }}".replace('{CRON_TOKEN}', $('#input_payment_squareup_cron_token').val())
    456         );
    457     }
    458 
    459     var randomString = function() {
    460         return (Math.random() * 100).toString(16).replace('.', '');
    461     }
    462 
    463     var onConnectClick = function(event) {
    464         if ($('#input_payment_squareup_client_id').val() != '{{ payment_squareup_client_id }}' || $('#input_payment_squareup_client_secret').val() != '{{ payment_squareup_client_secret }}') {
    465             event.preventDefault();
    466             event.stopPropagation();
    467 
    468             $('form').attr('action','{{ action_save_auth }}').submit();
    469         }
    470     }
    471 
    472     var listTransactions = function(page) {
    473         $.ajax({
    474           url : '{{ url_list_transactions }}'.replace('{PAGE}', page ? page : transactionListPage),
    475           dataType : 'json',
    476           beforeSend : function() {
    477             $('#refresh_transactions').button('loading');
    478             $('#transactions_pagination').empty();
    479             $('#transactions').html('<tr><td colspan="9" class="text-center"><i class="fa fa-circle-o-notch fa-spin"></i>&nbsp;{{ text_loading }}</td></tr>');
    480           },
    481           success : function(data) {
    482             var html = '';
    483 
    484             if (data.transactions.length) {
    485               for (var i in data.transactions) {
    486                 var row = data.transactions[i];
    487 
    488                 html += '<tr>';
    489                 html += '<td class="text-left hidden-xs">' + row.transaction_id + '</td>';
    490                 html += '<td class="text-left hidden-xs">' + row.customer + '</td>';
    491                 html += '<td class="text-left"><a target="_blank" href="' + row.url_order + '">' + row.order_id + '</td>';
    492                 html += '<td class="text-left hidden-xs">' + row.type + '</td>';
    493                 html += '<td class="text-left hidden-xs">' + row.amount + '</td>';
    494                 html += '<td class="text-left hidden-xs">' + row.num_refunds + '</td>';
    495                 html += '<td class="text-left hidden-xs hidden-sm">' + row.ip + '</td>';
    496                 html += '<td class="text-left">' + row.date_created + '</td>';
    497                 html += '<td class="text-right">';
    498 
    499                 switch (row.type) {
    500                     case "AUTHORIZED" : {
    501                         html += '<a class="btn btn-success" data-url-transaction-capture="' + row.url_capture + '" data-confirm-capture="' + row.confirm_capture + '">{{ text_capture }}</a> ';
    502                         html += '<a class="btn btn-warning" data-url-transaction-void="' + row.url_void + '" data-confirm-void="' + row.confirm_void + '">{{ text_void }}</a> ';
    503                     } break;
    504 
    505                     case "CAPTURED" : {
    506                         html += '<a class="btn btn-danger" data-url-transaction-refund="' + row.url_refund + '" data-confirm-refund="' + row.confirm_refund + '" data-insert-amount="' + row.insert_amount + '">{{ text_refund }}</a> ';
    507                     } break;
    508                 }
    509 
    510                 html += ' <a class="btn btn-info" href="' + row.url_info + '">{{ text_view }}</a>';
    511                 html += '</td>';
    512                 html += '</tr>';
    513               }
    514             } else {
    515               html += '<tr>';
    516               html += '<td class="text-center" colspan="9">{{ text_no_transactions }}</td>';
    517               html += '</tr>';
    518             }
    519 
    520             $('#transactions').html(html);
    521             
    522             $('#transactions_pagination').html(data.pagination).find('a[href]').each(function(index,element) {
    523               $(this).click(function(e) {
    524                 e.preventDefault();
    525 
    526                 transactionListPage = isNaN($(this).attr('href')) ? 1 : $(this).attr('href');
    527 
    528                 listTransactions();
    529               })
    530             });
    531           },
    532           complete : function() {
    533             $('#refresh_transactions').button('reset');
    534           }
    535         });
    536     }
    537 
    538     var transactionLoading = function() {
    539         var message = $('#transaction-alert').attr('data-message');
    540 
    541         $('#transaction-alert').html('<div class="text-center alert alert-info"><i class="fa fa-circle-o-notch fa-spin"></i>&nbsp;' + message + '</div>');
    542     }
    543 
    544     var transactionError = function(message) {
    545         $('#transaction-alert').html('<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert" aria-label="X"><span aria-hidden="true">&times;</span></button><i class="fa fa-exclamation-circle"></i>&nbsp;' + message + '</div>');
    546     }
    547 
    548     var transactionSuccess = function(message) {
    549         $('#transaction-alert').html('<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert" aria-label="X"><span aria-hidden="true">&times;</span></button><i class="fa fa-exclamation-circle"></i>&nbsp;' + message + '</div>');
    550     }
    551 
    552     var addOrderHistory = function(data, success_callback) {
    553         $.ajax({
    554             url: '{{ catalog }}index.php?route=api/order/history&api_token={{ api_token }}&order_id=' + data.order_id,
    555             type: 'post',
    556             dataType: 'json',
    557             data: data,
    558             success: function(json) {
    559                 if (json['error']) {
    560                     transactionError(json['error']);
    561                     enableTransactionButtons();
    562                 }
    563 
    564                 if (json['success']) {
    565                     success_callback();
    566                 }
    567             },
    568             error: function(xhr, ajaxOptions, thrownError) {
    569                 transactionError(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    570                 enableTransactionButtons();
    571             }
    572         });
    573     }
    574 
    575     var transactionRequest = function(type, url, data) {
    576         $.ajax({
    577             url : url,
    578             dataType : 'json',
    579             type : type,
    580             data : data,
    581             beforeSend : transactionLoading,
    582             success : function(json) {
    583                 if (json.error) {
    584                     transactionError(json.error);
    585                     enableTransactionButtons();
    586                 }
    587 
    588                 if (json.success && json.order_history_data) {
    589                     addOrderHistory(json.order_history_data, function() {
    590                         transactionSuccess(json.success);
    591                         listTransactions();
    592                     });
    593                 }
    594             },
    595             error : function(xhr, ajaxSettings, thrownError) {
    596                 transactionError(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    597                 enableTransactionButtons();
    598             }
    599         });
    600     }
    601 
    602     var disableTransactionButtons = function() {
    603         $('*[data-url-transaction-capture], *[data-url-transaction-void], *[data-url-transaction-refund]').attr('disabled', true);
    604     }
    605 
    606     var enableTransactionButtons = function() {
    607         $('*[data-url-transaction-capture], *[data-url-transaction-void], *[data-url-transaction-refund]').attr('disabled', false);
    608     }
    609 
    610     var modalConfirm = function(url, text) {
    611         var modal = '#squareup-confirm-modal';
    612         var content = '#squareup-confirm-modal-content';
    613         var button = '#squareup-confirm-ok';
    614 
    615         $(content).html(text);
    616         $(button).unbind().click(function() {
    617             disableTransactionButtons();
    618 
    619             $(modal).modal('hide');
    620 
    621             transactionRequest('GET', url);
    622         });
    623         
    624         $(modal).modal('show');
    625     }
    626 
    627     var refundInputValidate = function(reason_input, amount_input) {
    628         var result = true;
    629 
    630         if (!$(reason_input)[0].checkValidity()) {
    631             $(reason_input).closest('.form-group').addClass('has-error');
    632             result = false;
    633         } else {
    634             $(reason_input).closest('.form-group').removeClass('has-error');
    635         }
    636 
    637         if (!$(amount_input)[0].checkValidity()) {
    638             $(amount_input).closest('.form-group').addClass('has-error');
    639             result = false;
    640         } else {
    641             $(amount_input).closest('.form-group').removeClass('has-error');
    642         }
    643 
    644         return result;
    645     }
    646 
    647     var modalRefund = function(url, text_reason, text_amount) {
    648         var modal = '#squareup-refund-modal';
    649         var content_reason = '#squareup-refund-modal-content-reason';
    650         var content_amount = '#squareup-refund-modal-content-amount';
    651         var button = '#squareup-refund-ok';
    652         var reason_input = '#squareup-refund-reason';
    653         var amount_input = '#squareup-refund-amount';
    654 
    655         $(content_reason).html(text_reason);
    656         $(content_amount).html(text_amount);
    657 
    658         $(reason_input).val('');
    659         $(amount_input).val('');
    660 
    661         $(button).unbind().click(function() {
    662             if (!refundInputValidate(reason_input, amount_input)) {
    663                 return;
    664             }
    665 
    666             disableTransactionButtons();
    667 
    668             $(modal).modal('hide');
    669 
    670             transactionRequest('POST', url, {
    671                 reason : $(reason_input).val(),
    672                 amount : $(amount_input).val()
    673             });
    674         });
    675         
    676         $(modal).modal('show');
    677     }
    678 
    679     var transactionListPage = 1;
    680 
    681     $('.nav-tabs a[href="#{{ tab }}"]').tab('show');
    682 
    683     $('#dropdown_payment_squareup_enable_sandbox')
    684         .change(function() {
    685             if ($(this).val() == '0') {
    686                 $('#sandbox_settings').slideUp();
    687                 $('#dropdown_payment_squareup_location_id').show();
    688                 $('#dropdown_payment_squareup_sandbox_location_id').hide();
    689             } else {
    690                 $('#sandbox_settings').slideDown();
    691                 $('#dropdown_payment_squareup_location_id').hide();
    692                 $('#dropdown_payment_squareup_sandbox_location_id').show();
    693             }
    694         })
    695         .trigger('change');
    696 
    697     $('#input_payment_squareup_client_id, #input_payment_squareup_client_secret')
    698         .change(triggerConnectButtons)
    699         .keyup(triggerConnectButtons)
    700         .trigger('change');
    701 
    702     $('#refresh-cron-token').click(function() {
    703         $('#input_payment_squareup_cron_token').val(randomString() + randomString());
    704         setCronUrl();
    705     });
    706 
    707     $('#connect-button').click(onConnectClick);
    708     
    709     $('#reconnect-button').click(onConnectClick);
    710 
    711     $(document).on('click', '*[data-url-transaction-capture]', function() {
    712         if ($(this).attr('disabled')) return;
    713 
    714         modalConfirm(
    715             $(this).attr('data-url-transaction-capture'),
    716             $(this).attr('data-confirm-capture')
    717         );
    718     });
    719         
    720     $(document).on('click', '*[data-url-transaction-void]', function() {
    721         if ($(this).attr('disabled')) return;
    722 
    723         modalConfirm(
    724             $(this).attr('data-url-transaction-void'),
    725             $(this).attr('data-confirm-void')
    726         );
    727     });
    728 
    729     $(document).on('click', '*[data-url-transaction-refund]', function() {
    730         if ($(this).attr('disabled')) return;
    731 
    732         modalRefund(
    733             $(this).attr('data-url-transaction-refund'),
    734             $(this).attr('data-confirm-refund'),
    735             $(this).attr('data-insert-amount')
    736         );
    737     });
    738     
    739     setCronUrl();
    740 
    741     listTransactions();
    742 });
    743 </script>
    744 {{ footer }}