Subversion Repositories bacoAlunos

Rev

Rev 1312 | Rev 1686 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1312 Rev 1350
Line 14... Line 14...
14
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
14
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
15
<jsp:useBean id="CourseUnitProgramForm" type="pt.estgp.estgweb.web.form.courseunits.CourseUnitProgramForm" scope="request"/>
15
<jsp:useBean id="CourseUnitProgramForm" type="pt.estgp.estgweb.web.form.courseunits.CourseUnitProgramForm" scope="request"/>
16
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/>
16
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/>
17
<%--<jsp:useBean id="CourseUnitProgramView" type="pt.estgp.estgweb.domain.views.CourseUnitProgramView" scope="request"/>--%>
17
<%--<jsp:useBean id="CourseUnitProgramView" type="pt.estgp.estgweb.domain.views.CourseUnitProgramView" scope="request"/>--%>
18
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
18
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
-
 
19
 
19
<div id="contentIntranet">
20
<div class="panel panel-default">
20
<div id="contentPane">
21
    <div class="panel-heading">
-
 
22
        <bean:message key="courseunit.program"/>
-
 
23
    </div>
-
 
24
    <div class="panel-body">
-
 
25
 
-
 
26
 
-
 
27
 
21
<html:errors/>
28
<html:errors/>
22
<jomm:messages/>
29
<jomm:messages/>
-
 
30
 
-
 
31
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_INFO_VALID_NOT_ACTIVE">
-
 
32
    <div class="alert alert-warning">
-
 
33
        O programa não está aberto para edição. A comissão de curso terá de invalidar o programa para que este possa ser alterado.
-
 
34
    </div>
-
 
35
</baco:clearOperation>
-
 
36
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_CAN_VALIDATE">
-
 
37
    <logic:equal name="CourseUnitView" property="validProgram" value="true">
-
 
38
        <html:link styleClass="btn btn-warning" action="/user/invalidateAndLoadCourseUnitProgram?courseUnitId=${CourseUnitView.id}">Invalidar</html:link>
-
 
39
    </logic:equal>
-
 
40
</baco:clearOperation>
-
 
41
 
23
<script>
42
<script>
24
    //Manter a sessão activa para os docentes não perderem os dados
43
    //Manter a sessão activa para os docentes não perderem os dados
25
    ping();
44
    ping();
26
</script>
45
</script>
27
 
46
 
Line 48... Line 67...
48
    {
67
    {
49
        System.err.print(e.toString());
68
        System.err.print(e.toString());
50
        e.printStackTrace();
69
        e.printStackTrace();
51
    }
70
    }
52
 
71
 
-
 
72
%>
53
 
73
 
54
 
74
 
55
 
75
 
56
%>
-
 
57
<div class="seccao">
-
 
58
<h2>
-
 
59
    <bean:message key="courseunit.program"/>
76
<baco:notClearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_COORDINATOR_PART">
60
</h2>
-
 
61
 
-
 
62
    <%
77
    <script>
63
        boolean editCoordinatorPart = false;
-
 
64
        boolean editTeacherPart = false;
-
 
65
        pt.estgp.estgweb.domain.User u = UserSession.getUser();
-
 
66
        if(u.isSuperuserOrAdmin())
78
        $(document).ready(
67
        {
-
 
68
            editCoordinatorPart = true;
-
 
69
            editTeacherPart = true;
-
 
70
        }
-
 
71
        else
-
 
72
        {
-
 
73
            if(u instanceof pt.estgp.estgweb.domain.Teacher)
-
 
74
            {
-
 
75
                pt.estgp.estgweb.domain.Teacher t = (pt.estgp.estgweb.domain.Teacher) u;
-
 
76
                if(t.isTeacherOfCourseUnit(CourseUnitView.getId()))
-
 
77
                {
-
 
78
                    editTeacherPart = true;
-
 
79
                }
-
 
80
                if(CourseUnitView.getCourseView().getCoordinator() != null && (t.getId() == CourseUnitView.getCourseView().getCoordinator().getId() || t.hasRole(CourseUnitView.getCourseView().getValidationRole())))
-
 
81
                {
79
                function(){
82
                    editCoordinatorPart = true;
80
                    $(".editCoordinatorPart *").prop('disabled',true);
83
                }
-
 
84
 
-
 
85
            }
-
 
86
        }
-
 
87
%>
-
 
88
 
81
 
-
 
82
                }
-
 
83
        );
-
 
84
    </script>
-
 
85
</baco:notClearOperation>
-
 
86
<baco:notClearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_TEACHER_PART">
-
 
87
    <script>
-
 
88
        $(document).ready(
-
 
89
                function(){
-
 
90
                    $(".editTeacherPart *").prop('disabled',true);
89
 
91
 
-
 
92
                }
-
 
93
        );
-
 
94
    </script>
-
 
95
</baco:notClearOperation>
90
<html:form action="/user/courseUnitProgramController">
96
<html:form styleId="ProgramForm" styleClass="form-horizontal" action="/user/courseUnitProgramController">
91
    <input type="hidden" name="dispatch" value="saveProgram">
97
    <input type="hidden" name="dispatch" value="saveProgram">
92
    <html:hidden property="id"/>
98
    <html:hidden property="id"/>
93
    <html:hidden property="courseUnitView.id"/>
99
    <html:hidden property="courseUnitView.id"/>
94
 
100
 
95
 
-
 
96
    <%
101
    <h3>Dados alterados pelo Coordenador de curso</h3>
97
 
-
 
98
        if(editCoordinatorPart)
102
    <div class="editCoordinatorPart">
99
        {
103
        <div class="form-group">
100
    %>
-
 
101
    <div>
104
            <label class="control-label col-sm-3">
102
        Importar programa a partir de outro ano
105
                Importar programa a partir de outro ano
-
 
106
            </label>
103
        <select name="cloneFromUnitId">
107
            <div class="col-sm-3">
-
 
108
                <select class="form-control col-sm-3" name="cloneFromUnitId">
104
            <logic:iterate id="other" name="OtherYearUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView">
109
                    <logic:iterate id="other" name="OtherYearUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView">
105
                <option value="<%=other.getId()%>"><%=other.getImportYear()%> - <%=other.getSemestre()%></option>
110
                        <option value="<%=other.getId()%>"><%=other.getImportYear()%> - <%=other.getSemestre()%></option>
106
            </logic:iterate>
111
                    </logic:iterate>
107
        </select>
112
                </select>
-
 
113
            </div>
-
 
114
            <div class="col-sm-3">
108
        <input type="button" value="Clonar a partir deste programa" onclick="if(confirm('<bean:message key="courseunit.confirmaclonagem"/>')){set(form,'cloneProgram');form.submit()}"/>
115
                <input class="form-control" type="button" value="Clonar a partir deste programa" onclick="if(confirm('<bean:message key="courseunit.confirmaclonagem"/>')){set(form,'cloneProgram');form.submit()}"/>
-
 
116
            </div>
-
 
117
        </div>
109
    </div>
118
    </div>
-
 
119
    <div class="alert alert-info">
110
 
120
 
-
 
121
        <bean:message key="courseunit.consultaroutros"/>:
-
 
122
        <logic:iterate id="other" name="OtherYearUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView">
-
 
123
            <a href="<%=request.getContextPath()%>/repositoryStream/<%=other.getProgramStreamId()%>" target="_blank"> <%=other.getImportYear()%> - <%=other.getSemestre()%></a>
-
 
124
            &nbsp;&nbsp;
-
 
125
        </logic:iterate>
-
 
126
    </div>
111
 
127
 
112
 
128
 
113
 
129
 
114
 
-
 
115
 
-
 
116
 
-
 
117
 
-
 
118
 
-
 
119
 
-
 
120
    <%
-
 
121
        }
-
 
122
    %>
-
 
123
    <table>
-
 
124
        <tr>
-
 
125
            <td colspan="<%=otherYearUnits.size()%>"><bean:message key="courseunit.consultaroutros"/> </td>
-
 
126
        </tr>
-
 
127
        <tr>
-
 
128
            <logic:iterate id="other" name="OtherYearUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView">
-
 
129
                <td>
-
 
130
                   <a href="<%=request.getContextPath()%>/repositoryStream/<%=other.getProgramStreamId()%>" target="_blank"> <%=other.getImportYear()%> - <%=other.getSemestre()%></a>
-
 
131
                </td>
-
 
132
            </logic:iterate>
-
 
133
 
-
 
134
        </tr>
-
 
135
    </table>
-
 
136
 
-
 
137
    <table class="dataTable tableDisabled" width="100%">
-
 
138
 
-
 
139
        <%--COORDENADOR--%>
-
 
140
        <tr>
-
 
141
            <th colspan="2">Dados alterados pelo Coordenador de curso</th>
-
 
142
        </tr>
-
 
143
            <%
-
 
144
 
-
 
145
            if(editCoordinatorPart)
130
    <div class="editCoordinatorPart">
146
            {
-
 
147
            %>
131
        <div class="form-group">
148
 
-
 
149
        <%//      DADOS DE UNIDADE     //%>
132
            <label class="control-label col-sm-2">
150
 
-
 
151
        <tr>
-
 
152
            <th>
-
 
153
                <bean:message key="courseunit.responsable"/>
133
                <bean:message key="courseunit.responsable"/>
154
            </th>
134
            </label>
155
            <td>
135
            <div class="col-sm-10">
156
                <html:select property="courseUnitView.responsableId">
136
                <html:select styleClass="form-control" property="courseUnitView.responsableId">
157
                    <html:option value="0"></html:option>
137
                    <html:option value="0"></html:option>
158
                    <logic:iterate id="teacher" name="teachers"  type="pt.estgp.estgweb.domain.views.UserView">
138
                    <logic:iterate id="teacher" name="teachers"  type="pt.estgp.estgweb.domain.views.UserView">
159
                        <html:option value="${teacher.id}">${teacher.name} (${teacher.code})</html:option>
139
                        <html:option value="${teacher.id}">${teacher.name} (${teacher.code})</html:option>
160
                    </logic:iterate>
140
                    </logic:iterate>
161
                </html:select>
141
                </html:select>
162
            </td>
142
            </div>
163
        </tr>
143
        </div>
164
        <baco:isAdmin>
144
        <baco:isAdmin>
165
        <tr>
145
            <div class="form-group">
166
            <th>
146
                <label class="control-label col-sm-2">
167
                <bean:message key="courseunit.teachers"/>
147
                    <bean:message key="courseunit.teachers"/>
168
            </th>
148
                </label>
169
            <td>
149
                <div class="col-sm-8">
170
                <logic:lessEqual value="0" name="CourseUnitView" property="id">
150
                    <logic:lessEqual value="0" name="CourseUnitView" property="id">
171
                    <i><bean:message key="courseunit.to.add.teachers.save.first"/></i>
151
                        <i><bean:message key="courseunit.to.add.teachers.save.first"/></i>
172
                </logic:lessEqual>
152
                    </logic:lessEqual>
173
 
-
 
174
 
-
 
175
                    <html:select property="teacherId">
153
                    <html:select styleClass="form-control" property="teacherId">
176
                        <logic:present name="CourseUnitProgramForm" property="teachers">
154
                        <logic:present name="CourseUnitProgramForm" property="teachers">
177
                            <logic:iterate id="teacher" name="teachers" type="pt.estgp.estgweb.domain.views.UserView">
155
                            <logic:iterate id="teacher" name="teachers" type="pt.estgp.estgweb.domain.views.UserView">
178
                                <jomm:option itemName="teacher" itemProperty="id" comparableObjectName="CourseUnitProgramForm"
-
 
179
                                             comparableObjectProperty="teacherId">
-
 
180
                                   ${teacher.name}  (${teacher.code})
156
                                <html:option value="${teacher.id}">${teacher.name}  (${teacher.code})</html:option>
181
                                </jomm:option>
-
 
182
                            </logic:iterate>
157
                            </logic:iterate>
183
                            <input type="button" value="<bean:message key="add"/>"
-
 
184
                                   onclick="set(this.form,'addTeacher');this.form.submit();">
-
 
185
                        </logic:present>
158
                        </logic:present>
186
                    </html:select>
159
                    </html:select>
-
 
160
                </div>
-
 
161
                <div class="col-sm-2">
-
 
162
                    <button class="form-control" type="button" onclick="set(this.form,'addTeacher');this.form.submit();">
-
 
163
                        <bean:message key="add"/>
-
 
164
                    </button>
-
 
165
                </div>
187
                    <logic:greaterThan name="CourseUnitView" property="teachersSize" value="0">
166
                <logic:greaterThan name="CourseUnitView" property="teachersSize" value="0">
-
 
167
                    <label class="col-sm-2">
-
 
168
 
-
 
169
                    </label>
-
 
170
                    <div class="col-sm-10">
188
                        <table class="dataTable removeButton">
171
                        <div class="list-group">
189
                            <logic:iterate id="userView" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
172
                            <logic:iterate id="userView" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
190
                                <tr>
-
 
191
                                    <th>
-
 
192
                                            ${userView.code}
173
                               <div class="list-group-item">
193
                                    </th>
-
 
194
                                    <th>
-
 
195
                                            ${userView.name}
174
                                    ${userView.name} (${userView.code})
196
                                    </th>
175
                                    <button class="btn btn-danger btn-xs" type="button" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="Esta operação vai remover o docente da unidade localmente, a sincronização com o sistema do IPP não voltará a colocar o docente neste unidade!! Tem a certeza que deseja prosseguir?" data-script="CourseUnitProgramForm.id.value='${userView.id}';set($('#ProgramForm').get(0),'removeTeacher');$('#ProgramForm').get(0).submit();">
197
                                    <td><input type="button" class="removeButton"
176
                                        <span class="glyphicon glyphicon-remove small"></span>
198
                                               onclick="CourseUnitProgramForm.id.value='${userView.id}';set(this.form,'removeTeacher');this.form.submit();">
-
 
199
                                    </td>
177
                                    </button>
200
                                </tr>
178
                               </div>
201
                            </logic:iterate>
179
                            </logic:iterate>
202
                        </table>
180
                        </div>
203
                    </logic:greaterThan>
181
                    </div>
204
            </td>
182
                </logic:greaterThan>
205
        </tr>
183
            </div>
206
        </baco:isAdmin>
184
        </baco:isAdmin>
207
        <baco:isNotAdmin>
185
        <baco:isNotAdmin>
208
            <logic:iterate id="prof" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
-
 
209
                <tr>
186
            <div class="form-group">
210
                    <th>
187
                <label class="control-label col-sm-2">
211
                        <bean:message key="courseunit.teachers"/>
188
                    <bean:message key="courseunit.teachers"/>
212
                    </th>
189
                </label>
-
 
190
                <div class="col-sm-10">
213
                    <td>
191
                    <div class="list-group">
-
 
192
                        <logic:iterate id="prof" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
214
                            ${prof.name} (${prof.code})
193
                            <div class="list-group-item"> ${prof.name} (${prof.code})</div>
-
 
194
                        </logic:iterate>
215
                    </td>
195
                    </div>
216
                </tr>
196
                </div>
217
            </logic:iterate>
197
            </div>
218
        </baco:isNotAdmin>
198
        </baco:isNotAdmin>
-
 
199
 
-
 
200
        <div class="form-group">
-
 
201
            <label class="control-label col-sm-2">
-
 
202
                <bean:message key="courseunit.program.ects.title"/>
-
 
203
            </label>
-
 
204
            <div class="col-sm-10">
-
 
205
                <div>
-
 
206
                    <div class="form-group">
-
 
207
                        <label class="control-label col-sm-1">
-
 
208
                            <bean:message key="courseunit.program.ects"/>
-
 
209
                        </label>
-
 
210
                        <div class="col-sm-11">
-
 
211
                            <html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.ects"/>
-
 
212
                        </div>
-
 
213
                    </div>
-
 
214
                    <div class="form-group">
-
 
215
                        <label class="control-label col-sm-1">
-
 
216
                            <bean:message key="courseunit.program.ects.cargaHorariaTotal"/>
-
 
217
                        </label>
-
 
218
                        <div class="col-sm-11">
-
 
219
                            <html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTotal"/>
-
 
220
                        </div>
-
 
221
                    </div>
-
 
222
                </div>
-
 
223
                <div>
-
 
224
                    <div class="form-group">
-
 
225
                        <div class="col-sm-12">
-
 
226
                            <table>
-
 
227
                                <tr>
-
 
228
                                    <th><bean:message key="courseunit.program.cargaHorariaT"/></th>
-
 
229
                                    <th><bean:message key="courseunit.program.cargaHorariaTP"/></th>
-
 
230
                                    <th><bean:message key="courseunit.program.cargaHorariaPL"/></th>
-
 
231
                                    <th><bean:message key="courseunit.program.cargaHorariaS"/></th>
-
 
232
                                    <th><bean:message key="courseunit.program.cargaHorariaTC"/></th>
-
 
233
                                    <th><bean:message key="courseunit.program.cargaHorariaO"/></th>
-
 
234
                                    <th><bean:message key="courseunit.program.cargaHorariaOT"/></th>
-
 
235
                                </tr>
-
 
236
                                <tr>
-
 
237
                                    <td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaT"/></td>
-
 
238
                                    <td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTP"/></td>
-
 
239
                                    <td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaPL"/></td>
-
 
240
                                    <td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaS"/></td>
-
 
241
                                    <td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTC"/></td>
-
 
242
                                    <td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaO"/></td>
-
 
243
                                    <td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaOT"/></td>
-
 
244
                                </tr>
-
 
245
                            </table>
-
 
246
                        </div>
-
 
247
                    </div>
-
 
248
                </div>
-
 
249
 
-
 
250
            </div>
-
 
251
 
-
 
252
        </div>
-
 
253
    </div>
-
 
254
 
-
 
255
    <h3>Dados alterados pelo Docente da Unidade</h3>
-
 
256
    <div class="editTeacherPart">
219
        <%//TODO adicionar workflow e inicializações para a função addTeacher%>
257
        <%//TODO adicionar workflow e inicializações para a função addTeacher%>
220
 
258
 
-
 
259
        <div class="form-group">
-
 
260
            <label class="control-label col-sm-2">
-
 
261
                <bean:message key="courseunit.program.objectivos"/>
-
 
262
            </label>
-
 
263
            <div class="col-sm-10">
-
 
264
                <html:textarea rows="10" styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.objectivos" />
-
 
265
            </div>
-
 
266
        </div>
-
 
267
 
-
 
268
        <div class="form-group">
-
 
269
            <label class="control-label col-sm-2">
-
 
270
                <bean:message key="courseunit.program.prerequisitos"/>
-
 
271
            </label>
-
 
272
            <div class="col-sm-10">
-
 
273
                <html:textarea rows="10" styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.prerequisitos"  />
-
 
274
            </div>
-
 
275
        </div>
-
 
276
 
-
 
277
        <div class="form-group">
-
 
278
            <label class="control-label col-sm-2">
-
 
279
                <bean:message key="courseunit.program.lingua1"/>
-
 
280
            </label>
-
 
281
            <div class="col-sm-10">
-
 
282
                <html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.lingua1" />
-
 
283
            </div>
-
 
284
        </div>
-
 
285
 
-
 
286
        <div class="form-group">
-
 
287
            <label class="control-label col-sm-2">
-
 
288
                <bean:message key="courseunit.program.lingua2"/>
-
 
289
            </label>
-
 
290
            <div class="col-sm-10">
-
 
291
                <html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.lingua2" />
-
 
292
            </div>
-
 
293
        </div>
221
 
294
 
222
 
295
 
223
 
296
 
224
 
297
 
225
 
298
 
492
 
406
 
493
 
407
 
494
        <baco:canManage name="CourseUnitView">
-
 
495
        <%--DOCENTE--%>
-
 
496
 
408
 
497
        </baco:canManage>
-
 
498
        <tr><td colspan="2"><input type="button" value="<bean:message key="confirm"/>" onclick="set(form,'saveProgram');form.submit()"/></td></tr>
-
 
499
 
409
 
500
    </table>
-
 
501
 
410
 
502
 
411
 
-
 
412
 
-
 
413
 
-
 
414
 
-
 
415
    <baco:clearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_TEACHER_PART,PROGRAM_COORDINATOR_PART">
-
 
416
        <button class="btn btn-success" type="button" onclick="set(form,'saveProgram');form.submit()"><bean:message key="save"/></button>
-
 
417
    </baco:clearOperation>
-
 
418
    <baco:clearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_CAN_VALIDATE">
-
 
419
        <logic:equal name="CourseUnitView" property="validProgram" value="false">
-
 
420
            <button class="btn btn-success" type="button" onclick="set(form,'validateProgram');form.submit()">Salvar e Validar</button>
-
 
421
        </logic:equal>
-
 
422
    </baco:clearOperation>
-
 
423
 
503
</html:form>
424
</html:form>
504
 
425
 
505
 
426
 
506
</div>
-
 
507
</div>
-
 
508
</div>
-
 
509
 
427
 
-
 
428
 
-
 
429
    </div><!--Panel body-->
-
 
430
</div><!--Panel-->
-
 
431
 
510
Generated by GNU Enscript 1.6.5.2.
432
Generated by GNU Enscript 1.6.5.2.