{% extends 'edit.twig' %}

{% block inner_content %}
{% if result %}
<h4>{{ lang.mailbox.bcc_map }}</h4>
<br>
<form class="form-horizontal" data-id="editbcc" role="form" method="post">
  <input type="hidden" value="0" name="active">
  <div class="form-group">
    <label class="control-label col-sm-2" for="bcc_dest">{{ lang.mailbox.bcc_destination }}</label>
    <div class="col-sm-10">
      <input value="{{ result.bcc_dest }}" type="text" class="form-control" name="bcc_dest" id="bcc_dest">
      <small>{{ lang.edit.bcc_dest_format|raw }}</small>
    </div>
  </div>
  <div class="form-group">
    <label class="control-label col-sm-2" for="type">{{ lang.mailbox.bcc_map_type }}</label>
    <div class="col-sm-10">
      <select id="addFilterType" name="type" id="type" required>
        <option value="sender"{% if result.type == 'sender'%} selected{% endif %}>{{ lang.mailbox.bcc_sender_map }}</option>
        <option value="rcpt"{% if result.type == 'rcpt'%} selected{% endif %}>{{ lang.mailbox.bcc_rcpt_map }}</option>
      </select>
    </div>
  </div>
  <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
      <div class="checkbox">
        <label><input type="checkbox" value="1" name="active"{% if result.active == '1' %} checked{% endif %}> {{ lang.edit.active }}</label>
      </div>
    </div>
  </div>
  <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
      <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="editbcc" data-item="{{ bcc }}" data-api-url='edit/bcc' data-api-attr='{}' href="#">{{ lang.edit.save }}</button>
    </div>
  </div>
</form>
{% else %}
  {{ parent() }}
{% endif %}
{% endblock %}
