Subversion Repositories bacoAlunos

Rev

Rev 1700 | Go to most recent revision | 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
 
1700 jmachado 124
 
125
            if(evaluateUpdateRoleResult(this,request, replaceRoleResult))
1699 jmachado 126
            {
1700 jmachado 127
                addMessage(request, "configuration.role.saved",ur.getValue());
128
            }
1699 jmachado 129
 
130
 
1283 jmachado 131
        }
132
        catch (FilterChainFailedException e)
133
        {
134
            return mapping.findForward("error401");
135
        }
136
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
137
        {
138
            logger.error(e, e);
139
            throw e;
140
        }
141
        return mapping.findForward("userRoles");
142
    }
143
 
1791 jmachado 144
    public static boolean evaluateUpdateRoleResult(ApplicationDispatchController controllerFrom,HttpServletRequest request, ReplaceRoleResult replaceRoleResult) {
1700 jmachado 145
 
146
        if(replaceRoleResult.roleKeyAlreadyExist)
147
        {
148
            controllerFrom.addError(request, "configuration.roles.already.exist",replaceRoleResult.requestedNewRole);
149
            return false;
150
        }
151
 
152
        if(replaceRoleResult.afetectedUsers > 0)
153
            controllerFrom.addMessage(request, "configuration.roles.affected.users", "" + replaceRoleResult.afetectedUsers);
154
 
155
 
156
        if(replaceRoleResult.afetectedCoursesValidatePrograms > 0)
157
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedCoursesValidatePrograms + " Cursos afetados no papel das comissões");
158
 
159
        if(replaceRoleResult.afetectedDepartmentsDirectors > 0)
160
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedDepartmentsDirectors + " departamentos afetados no papel dos directores");
161
        if(replaceRoleResult.afetectedDepartmentsBoards > 0)
162
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedDepartmentsBoards + " departamentos afetados no papel dos membros da direcção");
163
 
164
 
165
        if(replaceRoleResult.afetectedSchoolsDirectors > 0)
166
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsDirectors + " escolas afetadas no papel dos directores");
167
        if(replaceRoleResult.afetectedSchoolsBoard > 0)
168
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsBoard + " escolas afetadas no papel do board da direcção");
169
        if(replaceRoleResult.afetectedSchoolsSecretario > 0)
170
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsSecretario + " escolas afetadas no papel dos secretários");
171
 
172
        if(replaceRoleResult.afetectedSchoolsPresidentPedagogico > 0)
173
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsPresidentPedagogico + " escolas afetadas no papel dos presidentes do pedagógico");
174
        if(replaceRoleResult.afetectedSchoolsMemberPedagogico > 0)
175
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsMemberPedagogico + " escolas afetadas no papel dos membros do pedagógico");
176
        if(replaceRoleResult.afetectedSchoolsSecretarioPedagogico > 0)
177
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsSecretarioPedagogico + " escolas afetadas no papel dos secretários do pedagógico");
178
 
179
        if(replaceRoleResult.afetectedSchoolsPresidentCtc > 0)
180
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsPresidentCtc + " escolas afetadas no papel dos presidentes do CTC");
181
        if(replaceRoleResult.afetectedSchoolsMemberCtc > 0)
182
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsMemberCtc + " escolas afetadas no papel dos membros do CTC");
183
        if(replaceRoleResult.afetectedSchoolsSecretarioCtc > 0)
184
            controllerFrom.addMessageAsString(request, replaceRoleResult.afetectedSchoolsSecretarioCtc + " escolas afetadas no papel dos secretários do CTC");
185
 
186
        if(replaceRoleResult.afectedEventClassManagers > 0)
187
            controllerFrom.addMessageAsString(request, replaceRoleResult.afectedEventClassManagers + " gestores de eventos afetados");
188
 
189
        if(replaceRoleResult.afectedActorPoolRoles > 0)
190
            controllerFrom.addMessageAsString(request, replaceRoleResult.afectedActorPoolRoles + " Papeis em Pools de Processos BPMN afetados");
191
        if(replaceRoleResult.afectedActorPoolRolesInstances > 0)
192
            controllerFrom.addMessageAsString(request, replaceRoleResult.afectedActorPoolRolesInstances + " Papeis em Instancias de Pools de Processos BPMN afetados");
193
 
194
 
195
        return true;
196
 
197
    }
198
 
1346 jmachado 199
    public ActionForward checkNewRoles(ActionMapping mapping,
200
                                      ActionForm form,
201
                                      HttpServletRequest request,
202
                                      HttpServletResponse response)
203
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable {
1283 jmachado 204
 
205
 
1346 jmachado 206
        IServiceManager sm = ServiceManager.getInstance();
207
        1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{};
208
        5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{};
209
 
210
        try
211
        {
212
            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);
213
            addMessage(request, "configuration.role.refreshed",""+newRoles);
214
            UserRoleProxy.setDirty();
215
        }
216
        catch (FilterChainFailedException e)
217
        {
218
            return mapping.findForward("error401");
219
        }
220
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
221
        {
222
            logger.error(e, e);
223
            throw e;
224
        }
225
        return mapping.findForward("userRoles");
226
    }
227
 
228
 
229
 
1283 jmachado 230
}