@@ -80,8 +80,8 @@ public function onBindNormData(FilterDataEvent $event)
80
80
$ form = $ event ->getForm ();
81
81
$ data = $ event ->getData ();
82
82
$ parentData = $ form ->hasParent () ? $ form ->getParent ()->getData () : null ;
83
- $ adder = null ;
84
- $ remover = null ;
83
+ $ adderName = null ;
84
+ $ removerName = null ;
85
85
86
86
if (null === $ data ) {
87
87
$ data = array ();
@@ -102,36 +102,34 @@ public function onBindNormData(FilterDataEvent $event)
102
102
$ reflClass = new \ReflectionClass ($ parentData );
103
103
104
104
foreach ($ singulars as $ singular ) {
105
- $ adderName = $ this ->adderPrefix . $ singular ;
106
- $ removerName = $ this ->removerPrefix . $ singular ;
105
+ $ maybeAdderName = $ this ->adderPrefix . $ singular ;
106
+ $ maybeRemoverName = $ this ->removerPrefix . $ singular ;
107
107
108
- if ($ this ->allowAdd && $ reflClass ->hasMethod ($ adderName )) {
109
- $ adder = $ reflClass ->getMethod ($ adderName );
108
+ if ($ this ->allowAdd && $ reflClass ->hasMethod ($ maybeAdderName )) {
109
+ $ adder = $ reflClass ->getMethod ($ maybeAdderName );
110
110
111
- if (!$ adder ->isPublic () || $ adder ->getNumberOfRequiredParameters () !== 1 ) {
112
- // False alert
113
- $ adder = null ;
111
+ if ($ adder ->isPublic () && $ adder ->getNumberOfRequiredParameters () === 1 ) {
112
+ $ adderName = $ maybeAdderName ;
114
113
}
115
114
}
116
115
117
- if ($ this ->allowDelete && $ reflClass ->hasMethod ($ removerName )) {
118
- $ remover = $ reflClass ->getMethod ($ removerName );
116
+ if ($ this ->allowDelete && $ reflClass ->hasMethod ($ maybeRemoverName )) {
117
+ $ remover = $ reflClass ->getMethod ($ maybeRemoverName );
119
118
120
- if (!$ remover ->isPublic () || $ remover ->getNumberOfRequiredParameters () !== 1 ) {
121
- // False alert
122
- $ remover = null ;
119
+ if ($ remover ->isPublic () && $ remover ->getNumberOfRequiredParameters () === 1 ) {
120
+ $ removerName = $ maybeRemoverName ;
123
121
}
124
122
}
125
123
126
124
// When we want to both add and delete, we look for an adder and
127
125
// remover with the same name
128
- if (!($ this ->allowAdd && !$ adder ) && !($ this ->allowDelete && !$ remover )) {
126
+ if (!($ this ->allowAdd && !$ adderName ) && !($ this ->allowDelete && !$ removerName )) {
129
127
break ;
130
128
}
131
129
132
130
// False alert
133
- $ adder = null ;
134
- $ remover = null ;
131
+ $ adderName = null ;
132
+ $ removerName = null ;
135
133
}
136
134
}
137
135
@@ -155,17 +153,17 @@ public function onBindNormData(FilterDataEvent $event)
155
153
}
156
154
}
157
155
158
- if ($ adder || $ remover ) {
156
+ if ($ adderName || $ removerName ) {
159
157
// If methods to add and to remove exist, call them now, if allowed
160
- if ($ remover ) {
158
+ if ($ removerName ) {
161
159
foreach ($ itemsToDelete as $ item ) {
162
- $ remover -> invoke ( $ parentData , $ item );
160
+ $ parentData -> $ removerName ( $ item );
163
161
}
164
162
}
165
163
166
- if ($ adder ) {
164
+ if ($ adderName ) {
167
165
foreach ($ itemsToAdd as $ item ) {
168
- $ adder -> invoke ( $ parentData , $ item );
166
+ $ parentData -> $ adderName ( $ item );
169
167
}
170
168
}
171
169
} elseif (!$ originalData ) {
0 commit comments