% layout 'layout.ep', title => 'Update Profile';
%= form_for $person => +{ style=>'width:27em; margin:auto' }, begin
% if($person->validated && !$person->has_errors) {
<div class='alert alert-success' role='alert'>Successfully Updated</div>
% }
<fieldset>
<legend><%= human_model_name %></legend>
%= model_errors +{class=>'alert alert-danger', role=>'alert', default_msg=>'Please fix validation errors'};
<div class='form-group'>
%= label 'first_name'
%= input 'first_name', +{ class=>'form-control', errors_classes=>'is-invalid' }
%= errors_for 'first_name', +{ class=>'invalid-feedback' }
</div>
<div class='form-group'>
%= label 'last_name'
%= input 'last_name', +{ class=>'form-control', errors_classes=>'is-invalid' }
%= errors_for 'last_name', +{ class=>'invalid-feedback' }
</div>
<div class='form-group'>
%= label 'username'
%= input 'username', +{ class=>'form-control', errors_classes=>'is-invalid' }
%= errors_for 'username', +{ class=>'invalid-feedback' }
</div>
</fieldset>
<fieldset>
<legend><%= $person->human_attribute_name('Profile') %></legend>
%= model_errors_for 'profile', max_errors=>1, class=>'alert alert-danger', role=>'alert';
%= fields_for 'profile', begin
<div class='form-group'>
%= label 'address'
%= input 'address', +{ class=>'form-control', errors_classes=>'is-invalid' }
%= errors_for 'address', +{ class=>'invalid-feedback' }
</div>
<div class='form-group'>
%= label 'city'
%= input 'city', +{ class=>'form-control', errors_classes=>'is-invalid' }
%= errors_for 'city', +{ class=>'invalid-feedback' }
</div>
<div class='form-row'>
<div class='col form-group'>
%= label 'state_id'
%= select_from_collection 'state_id', [$states, id=>'name'], +{ class=>'form-control', errors_classes=>'is-invalid' }
%= errors_for 'state_id'
</div>
<div class='col form-group'>
%= label 'zip'
%= input 'zip', +{ class=>'form-control', errors_classes=>'is-invalid' }
%= errors_for 'zip', +{ class=>'invalid-feedback' }
</div>
</div>
<div class='form-row'>
<div class='col form-group'>
%= label 'phone_number'
%= input 'phone_number', +{ class=>'form-control', errors_classes=>'is-invalid' }
%= errors_for 'phone_number', +{ class=>'invalid-feedback' }
</div>
<div class='col form-group'>
%= label 'birthday'
%= input 'birthday', +{ class=>'form-control', errors_classes=>'is-invalid' }
%= errors_for 'birthday', +{ class=>'invalid-feedback' }
</div>
</div>
%= end
</fieldset>
<fieldset>
<legend><%= $person->human_attribute_name('roles') %></legend>
%= model_errors_for 'person_roles', max_errors=>1, class=>'alert alert-danger', role=>'alert';
<div class='form-group'>
%= checkbox_list_from_collection 'person_roles', +{role_id => 'id'}, $roles, +{value_field=>'id', label_field=>'label'}
</div>
</fieldset>
<fieldset>
<div class='form-group'>
<legend><%= $person->human_attribute_name('credit_cards') %></legend>
%= model_errors_for 'credit_cards', max_errors=>1, class=>'alert alert-danger', role=>'alert';
%= fields_for 'credit_cards', begin
<div class='form-row'>
<div class='col form-group'>
%= label 'card_number'
%= input 'card_number', +{ class=>'form-control', errors_classes=>'is-invalid' }
%= errors_for 'card_number', +{ class=>'invalid-feedback' }
</div>
<div class='col form-group col-4'>
%= label 'expiration'
%= input 'expiration', +{ class=>'form-control', errors_classes=>'is-invalid' }
%= errors_for 'expiration', +{ class=>'invalid-feedback' }
</div>
<div class='col form-group col-2'>
%= label '_delete'
<br>
%= checkbox '_delete', +{ value=>1, checked=>model->is_marked_for_deletion }
</div>
</div>
%= end, begin
%= button '_add', +{ class=>'btn btn-lg btn-primary btn-block', value=>1 }, 'Add Credit Card'
%= end
</fieldset>
<fieldset>
%= button_tag { class=>'btn btn-lg btn-primary btn-block' }, 'Update Profile'
</fieldset>
%= end