form.evaluation_form_wrapper[ name="forms.evaluation" action="#{send_free_quote_path(format: 'json')}" method="POST" check-error="forms.evaluation" ng-submit="submit($event, forms.evaluation)" check-error-object="customer" autocomplete="off" novalidate="novalidate" ng-init="data.endpoint = '#{send_free_quote_path(format: 'json')}'" ] .field_item.ng-cloak ng-if="!signed" .subitem input[ type="text" placeholder="#{t('free_quote.placeholder.name')}" ng-model="customer.customer_name" name="customer[customer_name]" autocomplete="name name" required="" ng-maxlength="130" display-error="" check-extra-symbols="" data-error-extra-symbols="#{t('errors.name.extra_symbols')}" data-error-required="#{t('errors.name.blank')}" data-error-maxlength="#{t('errors.name.too_long', count: 130)}" ] .subitem input[ type="email" placeholder="#{t('free_quote.placeholder.email')}" ng-model="customer.customer_email" name="customer[customer_email]" display-error="" required="" check-email="" ng-maxlength="130" autocomplete="email" data-error-required="#{t('errors.email.blank')}" data-error-email="#{t('errors.email.invalid')}" data-error-maxlength="#{t('errors.email.too_long', count: 130)}" data-error-invalid="#{t('errors.email.invalid')}" data-error-taken="#{t('errors.email.taken_free_quote')}" ] .field_item.ng-cloak ng-if="!signed" .subitem.state_area_code select.flag_select[ ng-model="data.country" ng-select2="countries" ng-options="country.title for country in countries" ng-options-class="css" required="" display-error="" data-language-list="true" data-theme="default country-select-free-quote f24" data-placeholder="#{t('free_quote.placeholder.country_code')}" data-error-required="#{t('errors.country_code.blank')}" ] .field_item.ng-cloak ng-if="!signed" .subitem input[ name="customer[customer_phone_area]" type="text" required="" display-error="" only-numbers="" ng-maxlength="6" ng-model="data.phone_area" autocomplete="off" placeholder="#{t('free_quote.placeholder.phone_area')}" data-error-required="#{t('errors.phone_area.blank')}" data-error-minlength="#{t('errors.phone_area.too_short', count: 1)}" data-error-maxlength="#{t('errors.phone_area.too_long', count: 6)}" ] .subitem input[ name="customer[customer_phone]" type="text" required="" display-error="" ng-minlength="6" ng-maxlength="14" limit-input="[0-9]{0,14}" ng-model="data.phone" placeholder="#{t('free_quote.placeholder.phone')}" autocomplete="mobile tel" data-error-required="#{t('errors.phone.blank')}" data-error-minlength="#{t('errors.phone.too_short', count: 6)}" data-error-maxlength="#{t('errors.phone.too_long', count: 14)}" ] .field_item textarea[ name="customer[description]" placeholder="#{t('free_quote.placeholder.description')}" ng-model="customer.description" required="" ng-maxlength="1000" display-error="" data-error-required="#{t('errors.description.blank')}" data-error-maxlength="#{t('errors.description.too_long', count: 1000)}" ] .field_item.field_files[ file-uploader="files" ng-model="data.files" data-drop-zone="#dragdrop" data-url="#{upload_free_quote_attachment_path}" data-remove-path="#{upload_free_quote_attachment_path(format: 'json')}" ] .upload_area#dragdrop a.button href="javascript:void(0);" = t 'free_quote.button.upload_file' input.upload_file_button type="file" value="Upload File" b = t 'free_quote.text.drag_drop' .upload_type_content.ng-cloak .upload_files_list ul.uploader-files li ng-repeat="file in keeper.files" a.upload_files_delete href="" rel="nofollow" ng-click="keeper.removeUploadedFile(file)" span = image_tag 'order_form/group.png' p ng-bind="file.filename" li ng-repeat="file in keeper.pending" ng-class="{'failed': file.error}" span ng-if="!file.error" = image_tag 'file_preloader.gif' p ng-bind="file.name" / = t('free_quote.load_type_text.loading') span ng-if="file.error" = t('free_quote.load_type_text.loading_failed') .note = t 'free_quote.text.notice' .field_item.agreement.ng-cloak ng-if="!signed" .checker[ ] / ng-click="terms_agreement = !terms_agreement" span[ ng-class="{ checked: terms_agreement }" ] input[ type="checkbox" id="terms_agreement" name="terms_agreement" required="" ng-model="terms_agreement" ] label[ for="terms_agreement" ] = raw agreement_text('free_quote.terms.accept') .validation_error.agreement-error.ng-cloak[ ng-if="forms.evaluation.terms_agreement.$touched" ng-hide="terms_agreement" ] = raw t('free_quote.terms.accept_error') input.button[ type="submit" value="#{t('free_quote.button.get_free_quote')}" click="submit($event, forms.evaluation)" ng-disabled="loading" ng-disabled-with="#{t('free_quote.button.get_free_quote_pending')}" ng-submit="submit($event, forms.evaluation)" ]