Subversion Repositories bacoAlunos

Rev

Rev 1791 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1283 jmachado 1
package pt.estgp.estgweb.web.controllers.configuration;
2
 
3
import org.apache.log4j.Logger;
4
import org.apache.struts.action.ActionForm;
5
import org.apache.struts.action.ActionForward;
6
import org.apache.struts.action.ActionMapping;
7
import pt.estgp.estgweb.domain.DomainObjectFactory;
8
import pt.estgp.estgweb.domain.UserRoleConfig;
9
import pt.estgp.estgweb.domain.UserRoleConfigImpl;
1791 jmachado 10
import pt.estgp.estgweb.services.users.ReplaceRoleResult;
1283 jmachado 11
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
12
import pt.estgp.estgweb.web.filters.UserRoleProxy;
13
import pt.estgp.estgweb.web.form.configuration.ConfigurationUserRolesForm;
14
import pt.estgp.estgweb.web.utils.RequestUtils;
15
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
16
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
17
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException;
18
 
19
import javax.servlet.ServletException;
20
import javax.servlet.http.HttpServletRequest;
21
import javax.servlet.http.HttpServletResponse;
22
 
23
/**
24
 * @author Jorge Machado
25
 * @date 26/Fev/2008
26
 * @time 18:01:54
27
 * @see pt.estgp.estgweb.web
28
 */
29
public class UserRolesController extends ApplicationDispatchController
30
{
31
 
32
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(UserRolesController.class);
33
 
34
 
35
 
36
 
37
 
38
    public ActionForward addNew(ActionMapping mapping,
39
                                            ActionForm form,
40
                                            HttpServletRequest request,
41
                                            HttpServletResponse response)
42
            throws ServletException
43
    {
44
 
45
        UserRoleConfigImpl role = DomainObjectFactory.createUserRoleConfigImpl();
46
        role.setDirty(true);
47
        ConfigurationUserRolesForm f = (ConfigurationUserRolesForm) form;
48
        f.getUserRolesConfig().add(0,role);
49
        return mapping.findForward("userRoles");
50
    }
51
 
52
 
1699 jmachado 53
    /*public ActionForward saveAllDirty(ActionMapping mapping,
1283 jmachado 54
                                ActionForm form,
55
                                HttpServletRequest request,
56
                                HttpServletResponse response)
57
            throws Throwable {
58
 
59
        ConfigurationUserRolesForm f = (ConfigurationUserRolesForm) form;
60
        IServiceManager sm = ServiceManager.getInstance();
61
        String[] names = new String[]{};
62
        Object[] args = new Object[]{
63
               f.getUserRolesConfig()
64
        };
65
 
66
        try
67
        {
68
            sm.execute(RequestUtils.getRequester(request, response), "AddUpdateDirtyRolesTranslation", args, names);
69
            UserRoleProxy.setDirty();
70
            f.setUserRoleConfigs(null);
71
            addMessage(request, "configuration.roles.saved");
72
        }
73
        catch (FilterChainFailedException e)
74
        {
75
            return mapping.findForward("error401");
76
        }
77
        catch (Throwable e)
78
        {
79
            logger.error(e, e);
80
            throw e;
81
        }
82
        return mapping.findForward("userRoles");
83
    }
1699 jmachado 84
    */
1283 jmachado 85
    public ActionForward saveUserRole(ActionMapping mapping,
86
                                      ActionForm form,
87
                                      HttpServletRequest request,
88
                                      HttpServletResponse response)
89
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable {
90
 
91
        ConfigurationUserRolesForm f = (ConfigurationUserRolesForm) form;
92
        UserRoleConfig userRoleConfig = null;
93
        long idPosChoosed = f.getId();
94
        for(UserRoleConfig u : f.getUserRolesConfig())
95
        {
96
            UserRoleConfigImpl ur = (UserRoleConfigImpl) u;
97
            if(ur.getPosForId() == idPosChoosed)
98
            {
99
                userRoleConfig = ur;
100
                break;
101
            }
102
        }
103
        if(userRoleConfig == null)
104
            return mapping.findForward("userRoles");
105
 
106
        IServiceManager sm = ServiceManager.getInstance();
107
        1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{};
108
        5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{
109
                userRoleConfig
110
        };
111
 
112
        try
113
        {
1791 jmachado 114
            ReplaceRoleResult replaceRoleResult =
115
                    (ReplaceRoleResult)
1699 jmachado 116
                            sm.execute(
117
                                    RequestUtils.getRequester(request, response),
118
                                    "AddUpdateRoleTranslation", args, names);
119
 
1283 jmachado 120
            UserRoleConfigImpl ur = (UserRoleConfigImpl) userRoleConfig;
121
            ur.setDirty(false);
122
            UserRoleProxy.setDirty();
1699 jmachado 123
 
1796 jmachado 124
            ur.setId(replaceRoleResult.updatedUserRoleConfig.getId());
1700 jmachado 125
 
1796 jmachado 126
 
1700 jmachado 127
            if(evaluateUpdateRoleResult(this,request, replaceRoleResult))
1699 jmachado 128
            {
1700 jmachado 129
                addMessage(request, "configuration.role.saved",ur.getValue());
130
            }
1699 jmachado 131
 
132
 
1283 jmachado 133
        }
134
        catch (FilterChainFailedException e)
135
        {
136
            return mapping.findForward("error401");
137
        }
138
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
139
        {
140
            logger.error(e, e);
141
            throw e;
142
        }
143
        return mapping.findForward("userRoles");
144
    }
145
 
1791 jmachado 146
    public static boolean evaluateUpdateRoleResult(ApplicationDispatchController controllerFrom,HttpServletRequest request, ReplaceRoleResult replaceRoleResult) {
1700 jmachado 147
 
148
        if(replaceRoleResult.roleKeyAlreadyExist)
149
        {
150
            controllerFrom.addError(request, "configuration.roles.already.exist",replaceRoleResult.requestedNewRole);
151
            return false;
152
        }
153
 
154
        if(replaceRoleResult.afetectedUsers > 0)
155
            controllerFrom.addMessage(request, "configuration.roles.affected.users", "" + replaceRoleResult.afetectedUsers);
156
 
157
 
158
        if(replaceRoleResult.afetectedCoursesValidatePrograms > 0)
159
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedCoursesValidatePrograms + " Cursos afetados no papel das comissões");
160
 
161
        if(replaceRoleResult.afetectedDepartmentsDirectors > 0)
162
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedDepartmentsDirectors + " departamentos afetados no papel dos directores");
163
        if(replaceRoleResult.afetectedDepartmentsBoards > 0)
164
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedDepartmentsBoards + " departamentos afetados no papel dos membros da direcção");
165
 
166
 
167
        if(replaceRoleResult.afetectedSchoolsDirectors > 0)
168
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsDirectors + " escolas afetadas no papel dos directores");
169
        if(replaceRoleResult.afetectedSchoolsBoard > 0)
170
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsBoard + " escolas afetadas no papel do board da direcção");
171
        if(replaceRoleResult.afetectedSchoolsSecretario > 0)
172
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsSecretario + " escolas afetadas no papel dos secretários");
173
 
174
        if(replaceRoleResult.afetectedSchoolsPresidentPedagogico > 0)
175
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsPresidentPedagogico + " escolas afetadas no papel dos presidentes do pedagógico");
176
        if(replaceRoleResult.afetectedSchoolsMemberPedagogico > 0)
177
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsMemberPedagogico + " escolas afetadas no papel dos membros do pedagógico");
178
        if(replaceRoleResult.afetectedSchoolsSecretarioPedagogico > 0)
179
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsSecretarioPedagogico + " escolas afetadas no papel dos secretários do pedagógico");
180
 
181
        if(replaceRoleResult.afetectedSchoolsPresidentCtc > 0)
182
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsPresidentCtc + " escolas afetadas no papel dos presidentes do CTC");
183
        if(replaceRoleResult.afetectedSchoolsMemberCtc > 0)
184
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsMemberCtc + " escolas afetadas no papel dos membros do CTC");
185
        if(replaceRoleResult.afetectedSchoolsSecretarioCtc > 0)
186
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsSecretarioCtc + " escolas afetadas no papel dos secretários do CTC");
187
 
188
        if(replaceRoleResult.afectedEventClassManagers > 0)
189
            controllerFrom.addMessageAsString(request, replaceRoleResult.afectedEventClassManagers + " gestores de eventos afetados");
190
 
191
        if(replaceRoleResult.afectedActorPoolRoles > 0)
192
            controllerFrom.addMessageAsString(request, replaceRoleResult.afectedActorPoolRoles + " Papeis em Pools de Processos BPMN afetados");
193
        if(replaceRoleResult.afectedActorPoolRolesInstances > 0)
194
            controllerFrom.addMessageAsString(request, replaceRoleResult.afectedActorPoolRolesInstances + " Papeis em Instancias de Pools de Processos BPMN afetados");
195
 
196
 
197
        return true;
198
 
199
    }
200
 
1346 jmachado 201
    public ActionForward checkNewRoles(ActionMapping mapping,
202
                                      ActionForm form,
203
                                      HttpServletRequest request,
204
                                      HttpServletResponse response)
205
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable {
1283 jmachado 206
 
207
 
1346 jmachado 208
        IServiceManager sm = ServiceManager.getInstance();
209
        1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{};
210
        5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{};
211
 
212
        try
213
        {
214
            1.5.0/docs/api/java/lang/Integer.html">Integer newRoles = (1.5.0/docs/api/java/lang/Integer.html">Integer) sm.execute(RequestUtils.getRequester(request, response), "RefreshNewStandardRoles", args, names);
215
            addMessage(request, "configuration.role.refreshed",""+newRoles);
216
            UserRoleProxy.setDirty();
217
        }
218
        catch (FilterChainFailedException e)
219
        {
220
            return mapping.findForward("error401");
221
        }
222
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
223
        {
224
            logger.error(e, e);
225
            throw e;
226
        }
227
        return mapping.findForward("userRoles");
228
    }
229
 
230
 
231
 
1283 jmachado 232
}