Commit aa1560ed99dc32547197f94835c53307cd78aeba

Authored by Leonardo Merlin
1 parent 95fa2242

Fix 'no-theme' problem

src/app/pages/inicio/inicio.controller.js
... ... @@ -220,7 +220,7 @@
220 220 var filter = vm.$filter('filter');
221 221  
222 222 if (selectedTheme) {
223   - output = _filterByCategory(output, selectedTheme);
  223 + output = vm._filterByCategory(output, selectedTheme);
224 224 }
225 225  
226 226 if (query) {
... ... @@ -234,7 +234,9 @@
234 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 240 input = input || [];
239 241  
240 242 if (!category) {
... ... @@ -245,6 +247,12 @@
245 247 var out = [];
246 248 for (var i = 0; i < input.length; i++) {
247 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 256 if (program.categories[0].slug === category.slug) {
249 257 out.push(program);
250 258 }
... ...
src/app/pages/programas/programas.controller.js
... ... @@ -173,7 +173,7 @@
173 173 var filter = vm.$filter('filter');
174 174  
175 175 if (selectedTheme) {
176   - output = _filterByCategory(output, selectedTheme);
  176 + output = vm._filterByCategory(output, selectedTheme);
177 177 }
178 178  
179 179 if (query) {
... ... @@ -181,13 +181,15 @@
181 181 }
182 182  
183 183 if(!query && !selectedTheme && vm._showAllFlag){
184   - output = _balanceByCategory(output);
  184 + output = vm._balanceByCategory(output);
185 185 }
186 186  
187 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 193 input = input || [];
192 194  
193 195 if (!category) {
... ... @@ -198,6 +200,12 @@
198 200 var out = [];
199 201 for (var i = 0; i < input.length; i++) {
200 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 209 if (program.categories[0].slug === category.slug) {
202 210 out.push(program);
203 211 }
... ... @@ -206,13 +214,21 @@
206 214 return out;
207 215 }
208 216  
209   - function _balanceByCategory (input) {
  217 + ProgramasPageController.prototype._balanceByCategory = function (input) {
  218 + var vm = this;
  219 +
210 220 var result = [];
211 221 var resultByCategory = {};
212 222  
213 223 // divide by categories
214 224 for (var i = 0; i < input.length; i++) {
215 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 232 var categorySlug = program.categories[0].slug;
217 233  
218 234 if (!resultByCategory[categorySlug]) {
... ...
src/app/pages/propostas/propostas.controller.js
... ... @@ -142,11 +142,11 @@
142 142 var filter = vm.$filter('filter');
143 143  
144 144 if (selectedTheme) {
145   - output = _filterByCategory(output, selectedTheme);
  145 + output = vm._filterByCategory(output, selectedTheme);
146 146 }
147 147  
148 148 if (selectedProgram) {
149   - output = _filterByProgram(output, selectedProgram);
  149 + output = vm._filterByProgram(output, selectedProgram);
150 150 }
151 151  
152 152 if (query) {
... ... @@ -160,7 +160,9 @@
160 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 166 input = input || [];
165 167  
166 168 if (!category) {
... ... @@ -179,7 +181,9 @@
179 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 187 input = input || [];
184 188  
185 189 if (!program) {
... ...