oc-buddies-plugin
oc-buddies-plugin copied to clipboard
Checkbox property not updating
In buddies/properties I added 'accept-terms' chceckbox. In my theme I use this code to update profile fields:
{% set obUser = UserData.get %}
{% if obUser.isNotEmpty %}
<form class="ajaxForm form--changedata" href="{{ 'profile/edit'|page }}">
<div class="row">
<div class="col-12 col-md-4">
{% partial 'components/input' label="Name" name="name" type="text" value=obUser.name %}
{% partial 'components/input' label="Surname" name="last_name" type="text" value=obUser.last_name %}
{% partial 'components/input' label="Phone" name="phone" type="text" value=obUser.phone %}
</div>
<div class="col-12 col-md-4">
{% partial 'components/input' label="Street" name="property[street]" type="text" value=obUser.property['street'] %}
{% partial 'components/input' label="City" name="property[city]" type="text" value=obUser.property['city'] %}
{% partial 'components/input' label="Country" name="property[country]" type="text" value=obUser.property['country'] %}
</div>
<div class="col-12 col-md-4">
{% partial 'components/input' label="Terms" name="property[accept-terms]" type="checkbox" value=obUser.property['accept-terms'] checked=obUser.property['accept-terms'] %}
</div>
</div>
<div>
<button class="button button--changedata" type="submit">Save</button>
</div>
</form>
{% else %}
{% partial 'user/login' %}
{% endif %}
Here is input partial:
<div class="input input--{{type}}">
{% if type=='radio' or type=='checkbox' %}
<label class="input__label input__label--{{type}}" for="{{ id ? id : name }}">{{ label | raw }}
<input class="input__item"
type="{{ type }}"
id="{{ id ? id : name }}"
name="{{ name }}"
value="{{ value }}"
{% if checked %}checked="checked"{%endif%}
{% if required %}
required="required"
{% endif %}
>
<span class="input__checkmark input__checkmark--{{ type }}"></span>
</label>
{% elseif type=='textarea' %}
<label class="input__label" for="{{ id ? id : name }}">{{ label }}</label>
<textarea class="input__item" type="{{ type }}" rows="4" id="{{ id ? id : name }}" name="{{ name }}" value="{{ value }}"></textarea>
{% else %}
<label class="input__label" for="{{ id ? id : name }}">{{ label }}</label>
<input class="input__item" type="{{ type }}" id="{{ id ? id : name }}" name="{{ name }}" value="{{ value }}">
{% endif %}
</div>
Text fields work great, but checkbox field don't - checked value are not saved. What am I doing wrong?