Commit aa1560ed99dc32547197f94835c53307cd78aeba
1 parent
95fa2242
Exists in
master
and in
8 other branches
Fix 'no-theme' problem
Showing
3 changed files
with
38 additions
and
10 deletions
Show diff stats
src/app/pages/inicio/inicio.controller.js
@@ -220,7 +220,7 @@ | @@ -220,7 +220,7 @@ | ||
220 | var filter = vm.$filter('filter'); | 220 | var filter = vm.$filter('filter'); |
221 | 221 | ||
222 | if (selectedTheme) { | 222 | if (selectedTheme) { |
223 | - output = _filterByCategory(output, selectedTheme); | 223 | + output = vm._filterByCategory(output, selectedTheme); |
224 | } | 224 | } |
225 | 225 | ||
226 | if (query) { | 226 | if (query) { |
@@ -234,7 +234,9 @@ | @@ -234,7 +234,9 @@ | ||
234 | return output; | 234 | return output; |
235 | }; | 235 | }; |
236 | 236 | ||
237 | - function _filterByCategory (input, category) { | 237 | + InicioPageController.prototype._filterByCategory = function (input, category) { |
238 | + var vm = this; | ||
239 | + | ||
238 | input = input || []; | 240 | input = input || []; |
239 | 241 | ||
240 | if (!category) { | 242 | if (!category) { |
@@ -245,6 +247,12 @@ | @@ -245,6 +247,12 @@ | ||
245 | var out = []; | 247 | var out = []; |
246 | for (var i = 0; i < input.length; i++) { | 248 | for (var i = 0; i < input.length; i++) { |
247 | var program = input[i]; | 249 | var program = input[i]; |
250 | + | ||
251 | + if(!program.categories || program.categories.length === 0){ | ||
252 | + vm.$log.warn('Program without theme (category)', program.slug); | ||
253 | + continue; | ||
254 | + } | ||
255 | + | ||
248 | if (program.categories[0].slug === category.slug) { | 256 | if (program.categories[0].slug === category.slug) { |
249 | out.push(program); | 257 | out.push(program); |
250 | } | 258 | } |
src/app/pages/programas/programas.controller.js
@@ -173,7 +173,7 @@ | @@ -173,7 +173,7 @@ | ||
173 | var filter = vm.$filter('filter'); | 173 | var filter = vm.$filter('filter'); |
174 | 174 | ||
175 | if (selectedTheme) { | 175 | if (selectedTheme) { |
176 | - output = _filterByCategory(output, selectedTheme); | 176 | + output = vm._filterByCategory(output, selectedTheme); |
177 | } | 177 | } |
178 | 178 | ||
179 | if (query) { | 179 | if (query) { |
@@ -181,13 +181,15 @@ | @@ -181,13 +181,15 @@ | ||
181 | } | 181 | } |
182 | 182 | ||
183 | if(!query && !selectedTheme && vm._showAllFlag){ | 183 | if(!query && !selectedTheme && vm._showAllFlag){ |
184 | - output = _balanceByCategory(output); | 184 | + output = vm._balanceByCategory(output); |
185 | } | 185 | } |
186 | 186 | ||
187 | return output; | 187 | return output; |
188 | }; | 188 | }; |
189 | 189 | ||
190 | - function _filterByCategory (input, category) { | 190 | + ProgramasPageController.prototype._filterByCategory = function (input, category) { |
191 | + var vm = this; | ||
192 | + | ||
191 | input = input || []; | 193 | input = input || []; |
192 | 194 | ||
193 | if (!category) { | 195 | if (!category) { |
@@ -198,6 +200,12 @@ | @@ -198,6 +200,12 @@ | ||
198 | var out = []; | 200 | var out = []; |
199 | for (var i = 0; i < input.length; i++) { | 201 | for (var i = 0; i < input.length; i++) { |
200 | var program = input[i]; | 202 | var program = input[i]; |
203 | + | ||
204 | + if(!program.categories || program.categories.length === 0){ | ||
205 | + vm.$log.warn('Program without theme (category)', program.slug); | ||
206 | + continue; | ||
207 | + } | ||
208 | + | ||
201 | if (program.categories[0].slug === category.slug) { | 209 | if (program.categories[0].slug === category.slug) { |
202 | out.push(program); | 210 | out.push(program); |
203 | } | 211 | } |
@@ -206,13 +214,21 @@ | @@ -206,13 +214,21 @@ | ||
206 | return out; | 214 | return out; |
207 | } | 215 | } |
208 | 216 | ||
209 | - function _balanceByCategory (input) { | 217 | + ProgramasPageController.prototype._balanceByCategory = function (input) { |
218 | + var vm = this; | ||
219 | + | ||
210 | var result = []; | 220 | var result = []; |
211 | var resultByCategory = {}; | 221 | var resultByCategory = {}; |
212 | 222 | ||
213 | // divide by categories | 223 | // divide by categories |
214 | for (var i = 0; i < input.length; i++) { | 224 | for (var i = 0; i < input.length; i++) { |
215 | var program = input[i]; | 225 | var program = input[i]; |
226 | + | ||
227 | + if(!program.categories || program.categories.length === 0){ | ||
228 | + vm.$log.warn('Program without theme (category)', program.slug); | ||
229 | + continue; | ||
230 | + } | ||
231 | + | ||
216 | var categorySlug = program.categories[0].slug; | 232 | var categorySlug = program.categories[0].slug; |
217 | 233 | ||
218 | if (!resultByCategory[categorySlug]) { | 234 | if (!resultByCategory[categorySlug]) { |
src/app/pages/propostas/propostas.controller.js
@@ -142,11 +142,11 @@ | @@ -142,11 +142,11 @@ | ||
142 | var filter = vm.$filter('filter'); | 142 | var filter = vm.$filter('filter'); |
143 | 143 | ||
144 | if (selectedTheme) { | 144 | if (selectedTheme) { |
145 | - output = _filterByCategory(output, selectedTheme); | 145 | + output = vm._filterByCategory(output, selectedTheme); |
146 | } | 146 | } |
147 | 147 | ||
148 | if (selectedProgram) { | 148 | if (selectedProgram) { |
149 | - output = _filterByProgram(output, selectedProgram); | 149 | + output = vm._filterByProgram(output, selectedProgram); |
150 | } | 150 | } |
151 | 151 | ||
152 | if (query) { | 152 | if (query) { |
@@ -160,7 +160,9 @@ | @@ -160,7 +160,9 @@ | ||
160 | return output; | 160 | return output; |
161 | }; | 161 | }; |
162 | 162 | ||
163 | - function _filterByCategory (input, category) { | 163 | + PropostasPageController.prototype._filterByCategory = function (input, category) { |
164 | + var vm = this; | ||
165 | + | ||
164 | input = input || []; | 166 | input = input || []; |
165 | 167 | ||
166 | if (!category) { | 168 | if (!category) { |
@@ -179,7 +181,9 @@ | @@ -179,7 +181,9 @@ | ||
179 | return out; | 181 | return out; |
180 | } | 182 | } |
181 | 183 | ||
182 | - function _filterByProgram (input, program) { | 184 | + PropostasPageController.prototype._filterByProgram = function (input, program) { |
185 | + var vm = this; | ||
186 | + | ||
183 | input = input || []; | 187 | input = input || []; |
184 | 188 | ||
185 | if (!program) { | 189 | if (!program) { |