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 | |
|
- | 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. |