symfony - Dynamically remove Options from symfony2 choice (entity) form -


i have entity type form list friends of current user. e.g. used creating new group. want use same form adding people same group, choice field should show friends of current user not yet in group. thought use form event remove options(users) in group.

my listener looks this: class friendselectlistener implements eventsubscriberinterface {

public static function getsubscribedevents() {     // tells dispatcher want listen on form.pre_set_data     // event , presetdata method should called.     return array(formevents::pre_set_data => 'presetdata'); }  public function presetdata(formevent $event) {     $betround = $event->getdata();     $form = $event->getform();     $groupform = $form->get('usergroup');     $usersform = $groupform->get('users');      foreach($betround->getusergroup()->getusers() $user){         if($usersform->has($user->getid())){             $usersform->remove($user->getid());         }     } } 

}

but can't render it, because in test removed user id 2 , following error message while rendering:

key "2" in object (with arrayaccess) of type "symfony\component\form\formview" not exist in /var/lib/stickshift/1ed1210eec124c179c45aac4ad484afd/app-root/data/269891/src/strego/userbundle/resources/views/form/selectfriends.html.twig @ line 5

update: might related view: {% id, choice in choices %}

    {% set user = choice.data %}     <label>      <div class="people-list people-choose unselected" style="width:270px;">     <img src="{{ user.profilepic  | imagine_filter('profile_thumb') }}" class="img-polaroid" alt="{{ user.nickname }}">     {#<img src="{{ asset('bundles/stregoapp/img/profile-thumb-90x90.png') }}" alt="profilbild" class="img-polaroid">#}     <p>{{ form_widget(form[id]) }}&nbsp;<span class="label">einladen</span></p>     <h3>{{ user.nickname }}</h3>     <h3><small>{{ user.firstname }} {{ user.lastname }}</small></h3>     </div>     </label>  {% endfor %} 

for me seems removed form element not choice.

i found problem, indeed view. stopped iterating on options used child elemts of form element working:

{% child in form %}      {% set user = choices[child.vars.value].data %}      <label>      <div class="people-list people-choose unselected" style="width:270px;">     <img src="{{ user.profilepic  | imagine_filter('profile_thumb') }}" class="img-polaroid" alt="{{ user.nickname }}">      <p>{{ form_widget(child) }}&nbsp;<span class="label">einladen</span></p>     <h3>{{ user.nickname }}</h3>     <h3><small>{{ user.firstname }} {{ user.lastname }}</small></h3>     </div>     </label>   {% endfor %} 

Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

jquery - Fancybox - apply a function to several elements -

An easy way to program an Android keyboard layout app -