1 package com.pentila.entSavoie.utils;
3 import java.util.ArrayList;
6 import com.liferay.portal.kernel.dao.orm.QueryUtil;
7 import com.liferay.portal.kernel.json.JSONArray;
8 import com.liferay.portal.kernel.json.JSONFactoryUtil;
9 import com.liferay.portal.kernel.json.JSONObject;
10 import com.liferay.portal.kernel.log.Log;
11 import com.liferay.portal.kernel.log.LogFactoryUtil;
12 import com.liferay.portal.model.User;
13 import com.pentila.entSavoie.cahierDeTexte.model.Matiere;
14 import com.pentila.entSavoie.cahierDeTexte.model.MatiereEtab;
15 import com.pentila.entSavoie.cahierDeTexte.service.MatiereEtabLocalServiceUtil;
16 import com.pentila.entSavoie.cahierDeTexte.service.MatiereLocalServiceUtil;
17 import com.pentila.entSavoie.directory.OrganizationFinderServiceUtil;
19 public class JsonCourseFactory {
21 private static Log logger = LogFactoryUtil.getLog(JsonCourseFactory.class);
24 * Get courses to fill the search combo-box
25 * @param user The user currently searching other users
26 * @return a JSONObject containing a list of courses to display
28 public static JSONObject getCoursesJSON(User user) {
29 JSONObject ret = JSONFactoryUtil.createJSONObject();
30 JSONArray matieres = JSONFactoryUtil.createJSONArray();
32 JSONObject emptyMatiere = JSONFactoryUtil.createJSONObject();
33 emptyMatiere.put("matiereId", "0");
34 emptyMatiere.put("name", " ");
35 matieres.put(emptyMatiere);
37 List<Matiere> matieresList = new ArrayList<Matiere>();
40 if (OrganizationFinderServiceUtil.hasRestriction(user)) {
41 long etabId = OrganizationFinderServiceUtil.getEtabRatachement(user).getOrganizationId();
42 for (MatiereEtab matiereEtab: MatiereEtabLocalServiceUtil.getMatiereEtabByEtabIdState(etabId, true)) {
43 matieresList.add(MatiereLocalServiceUtil.getMatiere(matiereEtab.getMatiereId()));
47 matieresList = MatiereLocalServiceUtil.getMatieres(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
49 } catch (Exception e) {
53 for (Matiere matiere : matieresList) {
54 JSONObject currMat = JSONFactoryUtil.createJSONObject();
55 currMat.put("matiereId", matiere.getMatiereId());
56 currMat.put("name", matiere.getLabelLong().toLowerCase());
57 matieres.put(currMat);
60 ret.put("matieres", matieres);
61 ret.put("success", true);