Subversion Repositories bacoAlunos

Rev

Rev 1856 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1856 Rev 1869
1
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
1
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
2
<style>
2
<style>
-
 
3
    .sections
-
 
4
    {
-
 
5
        padding-left: 20px;
-
 
6
    }
3
    .buttonTools
7
    .buttonTools
4
    {
8
    {
5
        border: 1px solid gray;
9
        border: 1px solid gray;
6
        background-color: lightgray;
10
        background-color: lightgray;
7
        padding: 5px;
11
        padding: 5px;
8
    }
12
    }
9
    .customComponent
13
    .customComponent
10
    {
14
    {
11
        padding: 0;
15
        padding: 0;
12
    }
16
    }
13
    .documentSimpleComponent
17
    .documentSimpleComponent
14
    {
18
    {
15
        border: 1px solid gray;
19
        border: 1px solid gray;
16
        padding: 5px;
20
        padding: 5px;
17
        margin-bottom: 5px;
21
        margin-bottom: 5px;
18
    }
22
    }
19
    .componentBody
23
    .componentBody
20
    {
24
    {
21
        border: 1px solid gray;
25
        border: 1px solid gray;
22
        padding: 5px;
26
        padding: 5px;
23
    }
27
    }
24
</style>
28
</style>
25
 
29
 
-
 
30
<!--Require templateObj-->
-
 
31
<script type="text/ng-template" id="callDocumentTemplate">
-
 
32
 
-
 
33
    <div ng-include="class2id(templateObj)"></div>
-
 
34
</script>
26
 
35
 
27
<%--
36
<%--
28
    customPane Need component customPane in variable customPane
37
    customPane Need component customPane in variable customPane
29
    docAppSelector selector usualy an html ID for ng-app example #docReport
38
    docAppSelector selector usualy an html ID for ng-app example #docReport
30
--%>
39
--%>
31
<script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_CustomPane">
40
<script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_CustomPane">
32
    <div class="customComponent clearfix component">
41
    <div class="customComponent clearfix component">
33
        <div class="buttonTools clearfix">
42
        <div class="buttonTools clearfix">
34
            <button class="btn btn-default pullleft" type="button" ng-click="addText(comp)">
43
            <button class="btn btn-default pullleft" type="button" ng-click="addText(comp)">
35
                <span class="glyphicon glyphicon-plus"></span>
44
                <span class="glyphicon glyphicon-plus"></span>
36
                <span class="glyphicon glyphicon-font"></span>
45
                <span class="glyphicon glyphicon-font"></span>
37
            </button>
46
            </button>
38
 
47
 
39
            <button class="btn btn-default pullleft" type="button" ng-click="addImage(comp)">
48
            <button class="btn btn-default pullleft" type="button" ng-click="addImage(comp)">
40
                <span class="glyphicon glyphicon-plus"></span>
49
                <span class="glyphicon glyphicon-plus"></span>
41
                <span class="glyphicon glyphicon-picture"></span>
50
                <span class="glyphicon glyphicon-picture"></span>
42
            </button>
51
            </button>
43
            Secção personalizada
52
            Secção personalizada
44
        </div>
53
        </div>
45
        <div class="componentBody">
54
        <div class="componentBody">
46
            <div class="clearfix" ng-repeat="subComp in comp.components" ng-init="parent=comp;comp=subComp" ng-include="class2id(subComp)">
55
            <div class="clearfix" ng-repeat="subComp in comp.components" ng-init="parent=comp;comp=subComp" ng-include="class2id(subComp)">
47
 
56
 
48
            </div>
57
            </div>
49
        <div>
58
        <div>
50
    </div>
59
    </div>
51
</script>
60
</script>
52
 
61
 
53
<script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_ImageComponent">
62
<script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_ImageComponent">
54
    <div class="imageComponent component">
63
    <div class="imageComponent component">
55
        <div ng-if="parent['@class']=='pt.estgp.estgweb.utils.documentBuilder.CustomPane'" class="buttonTools clearfix">
64
        <div ng-if="parent['@class']=='pt.estgp.estgweb.utils.documentBuilder.CustomPane'" class="buttonTools clearfix">
56
                <button class="btn btn-danger pull-right" type="button" ng-click="removeComponent($index,parent.components)">
65
                <button class="btn btn-danger pull-right" type="button" ng-click="removeComponent($index,parent.components)">
57
                    <span class="glyphicon glyphicon-remove"></span>
66
                    <span class="glyphicon glyphicon-remove"></span>
58
                </button>
67
                </button>
59
                <label>Componente de Imagem (Use esta funcinalidade para adicionar gráficos ou tabelas que ache necessárias)</label>
68
                <label>Componente de Imagem (Use esta funcinalidade para adicionar gráficos ou tabelas que ache necessárias)</label>
60
        </div>
69
        </div>
61
 
70
 
62
        <div class="componentBody" ng-if="comp['@class']=='pt.estgp.estgweb.utils.documentBuilder.ImageComponent'">
71
        <div class="componentBody" ng-if="comp['@class']=='pt.estgp.estgweb.utils.documentBuilder.ImageComponent'">
63
                <div class="form-group clearfix" ng-if="comp.image.identifier">
72
                <div class="form-group clearfix" ng-if="comp.image.identifier">
64
                    <label class="col-md-2 control-label">Legenda</label>
73
                    <label class="col-md-2 control-label">Legenda</label>
65
                    <div class="col-md-10">
74
                    <div class="col-md-10">
66
                        <input type="text" class="form-control" rows="10" ng-model="comp.title">
75
                        <input type="text" class="form-control" rows="10" ng-model="comp.title">
67
                    </div>
76
                    </div>
68
                </div>
77
                </div>
69
                <div class="form-group clearfix">
78
                <div class="form-group clearfix">
70
                    <div class="col-md-2 control-label">
79
                    <div class="col-md-2 control-label">
71
                        <a class="btn btn-default" href="#" ng-model="comp"
80
                        <a class="btn btn-default" href="#" ng-model="comp"
72
                            data-title="Escolha Imagem"
81
                            data-title="Escolha Imagem"
73
                            data-showmetafields="false"
82
                            data-showmetafields="false"
74
                            data-confirmonupload="true"
83
                            data-confirmonupload="true"
75
                            data-toggle="modal"
84
                            data-toggle="modal"
76
                            data-target="#filesUploadModal"
85
                            data-target="#filesUploadModal"
77
                            data-multiple="false"
86
                            data-multiple="false"
78
                            data-allowed-extensions="jpg,png,gif"
87
                            data-allowed-extensions="jpg,png,gif"
79
                            data-callback-target-function="angular.element($('{{docAppSelector}}')).scope().callbackUploadedFiles">
88
                            data-callback-target-function="angular.element($('{{docAppSelector}}')).scope().callbackUploadedFiles">
80
                            <span ng-if="comp.image.identifier">
89
                            <span ng-if="comp.image.identifier">
81
                                    Substituir Imagem
90
                                    Substituir Imagem
82
                            </span>
91
                            </span>
83
                            <span ng-if="!(comp.image.identifier)">
92
                            <span ng-if="!(comp.image.identifier)">
84
                                    Carregar Imagem
93
                                    Carregar Imagem
85
                            </span>
94
                            </span>
86
 
95
 
87
                            <span class="glyphicon glyphicon-upload"/>
96
                            <span class="glyphicon glyphicon-upload"/>
88
 
97
 
89
                        </a>
98
                        </a>
90
                    </div>
99
                    </div>
91
 
100
 
92
                    <div class="col-md-10">
101
                    <div class="col-md-10">
93
                            <div ng-if="!(comp.image.identifier)">
102
                            <div ng-if="!(comp.image.identifier)">
94
                            Clique em carregar imagens e escolha uma imagem para adicionar nesta secção.
103
                            Clique em carregar imagens e escolha uma imagem para adicionar nesta secção.
95
                        </div>
104
                        </div>
96
 
105
 
97
                        <label ng-if="comp.image.identifier"> Limites do PDF </label>
106
                        <label ng-if="comp.image.identifier"> Limites do PDF </label>
98
                        <div ng-if="comp.image.identifier" style="text-align: center; width: 595px; border: 1px solid black; padding: 45px">
107
                        <div ng-if="comp.image.identifier" style="text-align: center; width: 595px; border: 1px solid black; padding: 45px">
99
                            <center>
108
                            <center>
100
                                <div style="width: 200px;height: 200px; max-width: 500px; max-height: 750px" resizable on-resize="resize($evt, $ui, comp)">
109
                                <div style="width: 200px;height: 200px; max-width: 500px; max-height: 750px" resizable on-resize="resize($evt, $ui, comp)">
101
                                    <img style="width: 100%;height: 100%"  ng-src="{{comp.imageUrl}}">
110
                                    <img style="width: 100%;height: 100%"  ng-src="{{comp.imageUrl}}">
102
                                </div>
111
                                </div>
103
                                (Se desejar altere o tamanho da imagem arrastando no canto inferior direito)
112
                                (Se desejar altere o tamanho da imagem arrastando no canto inferior direito)
104
                            </center>
113
                            </center>
105
                        </div>
114
                        </div>
106
                    </div>
115
                    </div>
107
            </div>
116
            </div>
108
        </div>
117
        </div>
109
    </div>
118
    </div>
110
</script>
119
</script>
111
 
120
 
112
<script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_TextComponent">
121
<script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_TextComponent">
113
    <div class="textComponent component">
122
    <div class="textComponent component">
114
 
123
 
115
        <div ng-if="parent['@class']=='pt.estgp.estgweb.utils.documentBuilder.CustomPane'" class="buttonTools clearfix">
124
        <div ng-if="parent['@class']=='pt.estgp.estgweb.utils.documentBuilder.CustomPane'" class="buttonTools clearfix">
116
            <button class="btn btn-danger pull-right" type="button" ng-click="removeComponent($index,parent.components)">
125
            <button class="btn btn-danger pull-right" type="button" ng-click="removeComponent($index,parent.components)">
117
                <span class="glyphicon glyphicon-remove"></span>
126
                <span class="glyphicon glyphicon-remove"></span>
118
            </button>
127
            </button>
119
            <label>Componente de Texto</label>
128
            <label>Componente de Texto</label>
120
        </div>
129
        </div>
121
        <div class="componentBody">
130
        <div class="componentBody">
122
            <div ng-if="parent['@class']=='pt.estgp.estgweb.utils.documentBuilder.CustomPane'" class="form-group clearfix">
131
            <div ng-if="parent['@class']=='pt.estgp.estgweb.utils.documentBuilder.CustomPane'" class="form-group clearfix">
123
                <label class="col-md-2 control-label">Titulo de Parágrafo</label>
132
                <label class="col-md-2 control-label">Titulo de Parágrafo</label>
124
                <div class="col-md-10">
133
                <div class="col-md-10">
125
                    <input type="text" class="form-control" rows="10" ng-model="comp.title">
134
                    <input type="text" class="form-control" rows="10" ng-model="comp.title">
126
                </div>
135
                </div>
127
            </div>
136
            </div>
128
            <div class="form-group clearfix">
137
            <div class="form-group clearfix">
129
                <label class="col-md-2 control-label">Texto</label>
138
                <label class="col-md-2 control-label">Texto</label>
130
                <div class="col-md-10">
139
                <div class="col-md-10">
131
                    <textarea class="form-control" rows="10" ng-model="comp.text">
140
                    <textarea class="form-control" rows="10" ng-model="comp.text">
132
 
141
 
133
                    </textarea>
142
                    </textarea>
134
                </div>
143
                </div>
135
            </div>
144
            </div>
-
 
145
        </div>
-
 
146
    </div>
-
 
147
</script>
-
 
148
 
-
 
149
<!--
-
 
150
@section objeto com seccoes e componentes
-
 
151
@optional @chapter capitulo do documento para esta seccao para contcatenar às subsections
-
 
152
-->
-
 
153
<script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_DocumentSection">
-
 
154
    <div class="sections">
-
 
155
        <ul class="nav nav-tabs">
-
 
156
            <li ng-model="section" class="separatorSectionNav"
-
 
157
                ng-class="{ active : subSection.active}"
-
 
158
                ng-repeat="subSection in section.sections">
-
 
159
                <a ng-click="showSep(section,subSection)"> {{$chapter}}{{$index+1}} - {{subSection.title}}</a>
-
 
160
            </li>
-
 
161
        </ul>
-
 
162
        <div ng-model="subSection"
-
 
163
             ng-class="{ hidden: !subSection.active }"
-
 
164
             ng-repeat="subSection in section.sections"
-
 
165
             class="separatorSection clearfix">
-
 
166
            <div ng-repeat="comp in subSection.components"
-
 
167
                 ng-include="class2id(comp)">
-
 
168
 
-
 
169
            </div>
-
 
170
            <div ng-if="subSection.sections"
-
 
171
                 ng-init="section=subSection;$chapter=$chapter+($index+1)+'.'"
-
 
172
                 ng-include="class2id(subSection)">
-
 
173
            </div>
-
 
174
        </div>
-
 
175
    </div>
-
 
176
</script>
-
 
177
 
-
 
178
<!--
-
 
179
@section objeto com seccoes e componentes
-
 
180
@optional @chapter capitulo do documento para esta seccao para contcatenar às subsections
-
 
181
-->
-
 
182
 
-
 
183
<script type="text/ng-template" id="pt_estgp_estgweb_services_courses_coursereport_documentmodel_CourseUnitsReportsSection">
-
 
184
    <div class="sections">
-
 
185
        <a name="indexCus"></a>
-
 
186
        <span ng-repeat="cu in section.sections" ng-init="cu.taxaAprovacao = 100 * cu.courseUnitEvaluation.numAlunosAprovTotal/(cu.courseUnitEvaluation.numAlunosInscritos - cu.courseUnitEvaluation.numAlunosSemElementosAvaliacao)">
-
 
187
            <a href="#cu{{$index}}" ng-class="{ 'alert-danger': (cu.courseUnitEvaluation.cumprimentoProgramaPercent &lt; 100) || cu.taxaAprovacao &lt; 75 || !cu.courseUnitEvaluation.closed || !cu.courseUnitEvaluation.teacherComplete}">
-
 
188
                {{cu.title}}
-
 
189
            </a> |
-
 
190
        </span>
-
 
191
        <div ng-repeat="cu in section.sections"
-
 
192
             class="section panel-primary">
-
 
193
 
-
 
194
            <a name="cu{{$index}}"></a>
-
 
195
            <span ng-if="$index != 0" class="glyphicon glyphicon-backward" ></span><a ng-if="$index != 0" href="#indexCus"> Voltar atrás</a>
-
 
196
            <div class="panel-heading"><h2>{{cu.title}}</h2></div>
-
 
197
 
-
 
198
            <div style="padding-left:20px">
-
 
199
                <div><h3><label class="label label-primary">Estado do Relatório</label></h3></div>
-
 
200
 
-
 
201
                <div ng-if="cu.courseUnitEvaluation.closed">
-
 
202
                    Entregue e Aceite
-
 
203
                </div>
-
 
204
                <div class="alert-danger" ng-if="cu.courseUnitEvaluation.closed && !cu.courseUnitEvaluation.teacherComplete">
-
 
205
                    Entregue mas não foi aprovado pela comissão
-
 
206
                </div>
-
 
207
                <div class="alert-danger" ng-if="!cu.courseUnitEvaluation.closed  && !cu.courseUnitEvaluation.teacherComplete">
-
 
208
                    Não foi entregue pelo docente para validação
-
 
209
                </div>
-
 
210
 
-
 
211
            </div>
-
 
212
 
-
 
213
 
-
 
214
            <div style="padding-left:20px">
-
 
215
                <div><h3><label class="label label-primary">Resultados</label></h3></div>
-
 
216
                <div>
-
 
217
                    <table class="tablesorter-blue"   width="100%">
-
 
218
                        <tr>
-
 
219
                            <th rowspan="2">
-
 
220
                                Nº Alunos Inscritos
-
 
221
                            </th>
-
 
222
                            <th rowspan="2">
-
 
223
                                Nº de alunos sem elementos de avaliação
-
 
224
                            </th>
-
 
225
                            <th colspan="5">
-
 
226
                                Nº de alunos aprovados em
-
 
227
                            </th>
-
 
228
                            <th colspan="2">
-
 
229
                                Aprovados com a classificação entre 10 e 13 valores
-
 
230
                            </th>
-
 
231
                            <th colspan="2">
-
 
232
                                Aprovados com a classificação entre 14 e 16 valores
-
 
233
                            </th>
-
 
234
                            <th colspan="2">
-
 
235
                                Aprovados com a classificação entre 17 e 20 valores
-
 
236
                            </th>
-
 
237
                        </tr>
-
 
238
                        <tr>
-
 
239
                            <th>Avaliação de frequência</th>
-
 
240
                            <th>Exame Época Normal</th>
-
 
241
                            <th>Exame Época Recurso</th>
-
 
242
                            <th>Exame Época Especial</th>
-
 
243
                            <th>Total</th>
-
 
244
                            <th>Nº</th>
-
 
245
                            <th>%</th>
-
 
246
                            <th>Nº</th>
-
 
247
                            <th>%</th>
-
 
248
                            <th>Nº</th>
-
 
249
                            <th>%</th>
-
 
250
                        </tr>
-
 
251
                        <tr>
-
 
252
                            <td class="text-center">
-
 
253
                                {{cu.courseUnitEvaluation.numAlunosInscritos}}
-
 
254
                            </td>
-
 
255
                            <td class="text-center">
-
 
256
                                {{cu.courseUnitEvaluation.numAlunosSemElementosAvaliacao}}
-
 
257
                            </td>
-
 
258
                            <td class="text-center">
-
 
259
                                {{cu.courseUnitEvaluation.numAlunosAprovFrequencia}}
-
 
260
                            </td>
-
 
261
                            <td class="text-center">
-
 
262
                                {{cu.courseUnitEvaluation.numAlunosAprovNormal}}
-
 
263
                            </td>
-
 
264
                            <td class="text-center">
-
 
265
                                {{cu.courseUnitEvaluation.numAlunosAprovRecurso}}
-
 
266
                            </td>
-
 
267
                            <td style="text-align: center">
-
 
268
                                {{cu.courseUnitEvaluation.numAlunosAprovEspecial}}
-
 
269
                            </td>
-
 
270
                            <td class="text-center">
-
 
271
                                {{cu.courseUnitEvaluation.numAlunosAprovTotal}}
-
 
272
                            </td>
-
 
273
                            <td class="text-center">
-
 
274
                                {{cu.courseUnitEvaluation.numAlunosAprov1013}}
-
 
275
                            </td>
-
 
276
                            <td class="text-center">
-
 
277
                                {{cu.courseUnitEvaluation.numAlunosAprov1013Percent}}
-
 
278
                            </td>
-
 
279
                            <td class="text-center">
-
 
280
                                {{cu.courseUnitEvaluation.numAlunosAprov1416}}
-
 
281
                            </td>
-
 
282
                            <td class="text-center">
-
 
283
                                {{cu.courseUnitEvaluation.numAlunosAprov1416Percent}}
-
 
284
                            </td>
-
 
285
                            <td class="text-center">
-
 
286
                                {{cu.courseUnitEvaluation.numAlunosAprov1720}}
-
 
287
                            </td>
-
 
288
                            <td class="text-center">
-
 
289
                                {{cu.courseUnitEvaluation.numAlunosAprov1720Percent}}
-
 
290
                            </td>
-
 
291
                        </tr>
-
 
292
                    </table>
-
 
293
                </div>
-
 
294
            </div>
-
 
295
 
-
 
296
            <div style="padding-left:20px" >
-
 
297
                <div><h3><label class="label label-primary">Taxa de Aprovação</label></h3></div>
-
 
298
                <div ng-class="{ 'alert-danger': cu.taxaAprovacao &lt; 75 }">{{cu.taxaAprovacao}}%</div>
-
 
299
            </div>
-
 
300
 
-
 
301
 
-
 
302
 
-
 
303
            <div style="padding-left:20px">
-
 
304
                <div><h3><label class="label label-primary">Apreciação dos resultados quantitativos obtidos pelos estudantes</label></h3></div>
-
 
305
                <div>{{cu.courseUnitEvaluation.qualApreciacaoQuantitivos}}</div>
-
 
306
            </div>
-
 
307
            <div style="padding-left:20px">
-
 
308
                <div><h3><label class="label label-primary">Apreciação do funcionamento da UC</label></h3></div>
-
 
309
                <div>{{cu.courseUnitEvaluation.qualApreciacaoUC}}</div>
-
 
310
            </div>
-
 
311
            <div style="padding-left:20px">
-
 
312
                <div><h3><label class="label label-primary">Percentagem de cumprimento do programa da UC</label></h3></div>
-
 
313
                <div ng-class="{ 'alert-danger': (cu.courseUnitEvaluation.cumprimentoProgramaPercent &lt; 100) }">
-
 
314
                    {{cu.courseUnitEvaluation.cumprimentoProgramaPercent}}%
-
 
315
                </div>
-
 
316
            </div>
-
 
317
            <div style="padding-left:20px">
-
 
318
                <div><h3><label class="label label-primary">Apreciação do cumprimento do programa da UC</label></h3></div>
-
 
319
                <div>{{cu.courseUnitEvaluation.qualApreciacaoCumprimentoPrograma}}</div>
-
 
320
            </div>
-
 
321
            <div style="padding-left:20px">
-
 
322
                <div><h3><label class="label label-primary">Conclusões</label></h3></div>
-
 
323
                <div>{{cu.courseUnitEvaluation.qualConclusoes}}</div>
-
 
324
            </div>
136
        </div>
325
        </div>
137
    </div>
326
    </div>
138
</script>
327
</script>
139
 
328
 
140
Generated by GNU Enscript 1.6.5.2.
329
Generated by GNU Enscript 1.6.5.2.
141
 
330
 
142
 
331