From 131acc5f5b08d7cca97b7f4079f11cf56c2ff360 Mon Sep 17 00:00:00 2001 From: Paulo Henrique Date: Wed, 19 Nov 2014 20:38:29 -0300 Subject: [PATCH] Merge com o projeto de Perris --- .../WEB-INF/struts/struts-config-course.xml | 28 + WebContent/WEB-INF/web.xml | 4 + WebContent/js/managementActivity.js | 50 + WebContent/jsp/conf/courseMenu.jsp | 9 + WebContent/jsp/conf/header.jsp | 13 + WebContent/jsp/course/ViewPersonTimeline.jsp | 97 ++ WebContent/jsp/course/viewGraphic.jsp | 3 + .../jsp/course/viewGroupDayTimeline.jsp | 63 + WebContent/jsp/course/viewGroupTimeline.jsp | 87 ++ WebContent/jsp/course/viewGroups.jsp | 394 +++++ WebContent/jsp/course/viewGroupsRelatorio.jsp | 89 ++ WebContent/jsp/course/viewOneGroup.jsp | 60 + .../jsp/course/viewPersonDayTimeline.jsp | 63 + WebContent/mobile.html | 4 +- .../themes/default/imgs/icons/green.png | Bin 0 -> 598 bytes WebContent/themes/default/imgs/icons/red.png | Bin 0 -> 568 bytes src/amadeuslms_web-FINAL.sql | 64 + .../amadeus/amadeus_web/dao/DAOFactory.java | 15 + .../dao/content_managment/ForumDAO.java | 6 + .../dao/content_managment/GameDAO.java | 6 + .../dao/content_managment/GroupsDAO.java | 33 + .../PersonRoleCourseDAO.java | 5 + .../dao/hibernate/HibernateDAOFactory.java | 10 + .../content_managment/ForumHibernateDAO.java | 38 + .../content_managment/GameHibernateDAO.java | 37 + .../content_managment/GroupsHibernateDAO.java | 101 ++ .../PersonRoleCourseHibernateDAO.java | 39 + .../register/PersonHibernateDAO.java | 72 + .../amadeus_web/dao/register/PersonDAO.java | 10 + .../domain/content_management/Course.java | 12 +- .../domain/content_management/Forum.java | 3 + .../domain/content_management/Groups.java | 128 ++ .../domain/content_management/Log.java | 13 + .../content_management/Person_Groups.java | 101 ++ .../amadeus_web/domain/register/Person.java | 3 + .../amadeus_web/facade/Controller.java | 317 ++++ .../amadeus/amadeus_web/facade/Facade.java | 136 ++ .../content_management/CoursePermissions.java | 43 + .../struts/action/CourseActions.java | 1333 ++++++++++++++--- .../struts/action/SystemActions.java | 26 + .../struts/action/UserActions.java | 20 + .../content_management/ModuleActions.java | 5 + .../forum/ForumActions.java | 10 + .../material/MaterialActions.java | 7 + .../MessageResources_en_US.properties | 16 + .../MessageResources_pt_BR.properties | 16 + .../amadeus_web/syncronize/Course.java | 16 + .../syncronize/GroupPlusStatus.java | 49 + .../amadeus_web/syncronize/Groups.java | 88 ++ .../syncronize/LogVisualizacao.java | 66 + .../syncronize/PersonGroupPlusStatus.java | 52 + .../amadeus_web/syncronize/Person_Groups.java | 58 + .../syncronize/RelatorioGrupo.java | 42 + .../syncronize/StudentHaveGroup.java | 61 + .../amadeus_web/syncronize/TimelineItem.java | 45 + src/hibernate.cfg.xml | 12 + src/settings/amadeus.web.settings.xml | 12 +- 57 files changed, 3862 insertions(+), 228 deletions(-) create mode 100644 WebContent/jsp/course/ViewPersonTimeline.jsp create mode 100644 WebContent/jsp/course/viewGroupDayTimeline.jsp create mode 100644 WebContent/jsp/course/viewGroupTimeline.jsp create mode 100644 WebContent/jsp/course/viewGroups.jsp create mode 100644 WebContent/jsp/course/viewGroupsRelatorio.jsp create mode 100644 WebContent/jsp/course/viewOneGroup.jsp create mode 100644 WebContent/jsp/course/viewPersonDayTimeline.jsp create mode 100644 WebContent/themes/default/imgs/icons/green.png create mode 100644 WebContent/themes/default/imgs/icons/red.png create mode 100644 src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/GroupsDAO.java create mode 100644 src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/content_managment/GroupsHibernateDAO.java create mode 100644 src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Groups.java create mode 100644 src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Person_Groups.java create mode 100644 src/br/ufpe/cin/amadeus/amadeus_web/syncronize/GroupPlusStatus.java create mode 100644 src/br/ufpe/cin/amadeus/amadeus_web/syncronize/Groups.java create mode 100644 src/br/ufpe/cin/amadeus/amadeus_web/syncronize/LogVisualizacao.java create mode 100644 src/br/ufpe/cin/amadeus/amadeus_web/syncronize/PersonGroupPlusStatus.java create mode 100644 src/br/ufpe/cin/amadeus/amadeus_web/syncronize/Person_Groups.java create mode 100644 src/br/ufpe/cin/amadeus/amadeus_web/syncronize/RelatorioGrupo.java create mode 100644 src/br/ufpe/cin/amadeus/amadeus_web/syncronize/StudentHaveGroup.java create mode 100644 src/br/ufpe/cin/amadeus/amadeus_web/syncronize/TimelineItem.java diff --git a/WebContent/WEB-INF/struts/struts-config-course.xml b/WebContent/WEB-INF/struts/struts-config-course.xml index 023199b..f4ffbdf 100755 --- a/WebContent/WEB-INF/struts/struts-config-course.xml +++ b/WebContent/WEB-INF/struts/struts-config-course.xml @@ -101,6 +101,7 @@ +<<<<<<< HEAD @@ -132,6 +133,13 @@ +======= + + + + + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 @@ -161,6 +169,17 @@ +<<<<<<< HEAD +======= + + + + + + + + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 @@ -230,6 +249,7 @@ +<<<<<<< HEAD +======= + + + + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 +======= + /WEB-INF/struts/struts-config-log.xml +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 2 diff --git a/WebContent/js/managementActivity.js b/WebContent/js/managementActivity.js index cb0d81e..3a6b2f7 100755 --- a/WebContent/js/managementActivity.js +++ b/WebContent/js/managementActivity.js @@ -202,6 +202,17 @@ function showScoreGameGrupo(type,idMMJogos){ UtilDWR.getInclude('/changeOrderGame.do?method=changeOrderGame&type='+type+'&idMMJogos='+idMMJogos, function(data) { dwr.util.setValue('percepcao'+idMMJogos, data, { escapeHtml:false }); +<<<<<<< HEAD + } + ); +} + +function showScoreGameIndividual(type,idMMJogos,idUser){ + UtilDWR.getInclude('/changeOrderGame.do?method=changeOrderGame&type='+type+'&idMMJogos='+idMMJogos+'&idUser='+idUser, + function(data) { + dwr.util.setValue('percepcao'+idMMJogos, data, { escapeHtml:false }); +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } ); } @@ -254,6 +265,45 @@ function log(idGame, numFases, tempo, pontuacao, meta) } +function modalGameWin(gameId) { + window.open('playGameActivity.do?method=showPlayGame&gameId='+gameId,'Game', + 'height=800,width=600,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,modal=yes,directories=no'); +} + +function openGameExternal(gameUrl){ + + var external = window.open(gameUrl,'Game', + 'height=800,width=600,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no ,modal=yes'); + + //resize para a tela não ficar preta + external.onload = resizeExternal(external); +} + +function resizeExternal(win) +{ + win.resizeTo(10,10); + win.resizeTo(811,611); +} + + +function modalVisualizacaoWin(gameId) { + if (window.showModalDialog) { + window.showModalDialog('graphicGameActivity.do?method=showGraphicGame&gameId='+gameId+'&graphic=sel',"Game Graphic", + "dialogWidth:800px;dialogHeight:600px"); + } else { + window.open('graphicGameActivity.do?method=showGraphicGame&gameId='+gameId+'&graphic=sel','Game Graphic', + 'height=800,width=600,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no ,modal=yes'); + } +} + +function log(idGame, numFases, tempo, pontuacao, meta) +{ + window.open('saveLog.do?method=saveLog&jogo='+idGame+'&fases='+numFases+'&tempo='+tempo+'&pontuacao='+pontuacao+'&metaAlternativa='+meta,'Game Graphic', + 'height=100,width=100,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no'); + +} + + // ***FIM - ATIVIDADE JOGOS *** //*** INICIO - ATIVIDADE LEARNING OBJECTS *** diff --git a/WebContent/jsp/conf/courseMenu.jsp b/WebContent/jsp/conf/courseMenu.jsp index 002a57c..6f896f3 100755 --- a/WebContent/jsp/conf/courseMenu.jsp +++ b/WebContent/jsp/conf/courseMenu.jsp @@ -33,6 +33,15 @@ Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título
  • Avaliações do Curso
  • Avaliações do Curso
  • +<<<<<<< HEAD +======= + + +
  • Grupos
  • +
  • Grupos
  • +
    + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631
  • Módulo de Visualização
  • Módulo de Visualização
  • diff --git a/WebContent/jsp/conf/header.jsp b/WebContent/jsp/conf/header.jsp index c9cfeae..f4aaf23 100755 --- a/WebContent/jsp/conf/header.jsp +++ b/WebContent/jsp/conf/header.jsp @@ -20,12 +20,16 @@ Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título +<<<<<<< HEAD +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 +<<<<<<< HEAD @@ -48,6 +52,15 @@ Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título +======= + + + + + + + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 + + +

    Time Line - Aluno ${nomePerson} do Grupo ${nomeGroup}

    +
    + + + +
    +
    +

    + +

    + + \ No newline at end of file diff --git a/WebContent/jsp/course/viewGraphic.jsp b/WebContent/jsp/course/viewGraphic.jsp index 55e790b..0508b4e 100755 --- a/WebContent/jsp/course/viewGraphic.jsp +++ b/WebContent/jsp/course/viewGraphic.jsp @@ -100,11 +100,14 @@ function selectGame()
    +<<<<<<< HEAD
    +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631
    diff --git a/WebContent/jsp/course/viewGroupDayTimeline.jsp b/WebContent/jsp/course/viewGroupDayTimeline.jsp new file mode 100644 index 0000000..7984eb6 --- /dev/null +++ b/WebContent/jsp/course/viewGroupDayTimeline.jsp @@ -0,0 +1,63 @@ + + +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="UTF-8"%> +<%@page import="antlr.collections.List"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> + +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> + + + + + + Atividades Grupo ${nomeGrupo} - ${data} + + +

    Atividades Grupo ${nomeGrupo} - ${data}

    +
    + +

    + + + + + + + + + + + +
    HoraAtividade
    + Login + Logout + Nova Postagem no Fórum + Visualização do Fórum + Visualização de Material - ${log.materialName} + Respondeu Enquete + Abriu Jogo + Jogou + Entregou Material + Visualização de Video +
    +

    + +

    + + \ No newline at end of file diff --git a/WebContent/jsp/course/viewGroupTimeline.jsp b/WebContent/jsp/course/viewGroupTimeline.jsp new file mode 100644 index 0000000..213c817 --- /dev/null +++ b/WebContent/jsp/course/viewGroupTimeline.jsp @@ -0,0 +1,87 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> + + + +<%@ taglib uri="/WEB-INF/struts-html" prefix="html"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> + + + + Time Line - Grupo ${nomeGroup} + + + + +

    Time Line - Grupo ${nomeGroup}

    +
    + + + + +
    + + \ No newline at end of file diff --git a/WebContent/jsp/course/viewGroups.jsp b/WebContent/jsp/course/viewGroups.jsp new file mode 100644 index 0000000..559630d --- /dev/null +++ b/WebContent/jsp/course/viewGroups.jsp @@ -0,0 +1,394 @@ + + + + +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib uri="/WEB-INF/struts-bean" prefix="bean" %> +<%@ taglib uri="/WEB-INF/struts-logic" prefix="logic"%> +<%@ taglib uri="/WEB-INF/struts-html" prefix="html"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> +<%@ taglib prefix="display" uri="http://displaytag.sf.net/el" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> + + + + + + + + +<%@page import="br.ufpe.cin.amadeus.amadeus_web.syncronize.*"%> +<%@page import="antlr.collections.List"%> + + + + + + + + + + +
    +
    + +
    + +
    +

    Grupos

    +
    +
    + +
    +
    + + +
    +
    +
    + + +
  • Desabilitar Criar Grupos
  • +
    + +
  • Habilitar Criar Grupos
  • +
    +
    + +
  • Criar Grupo
  • +
    +
  • Visualizar Grupos
  • + +
  • Relatório das Atividades
  • +
    +
    +

    +

    + + +

    + + + + + + + + + + + + + + + +
    Nome do GrupoIntegrantesTimelineAtividades
    ${group.name}${group.qtdMembros}Visualizar + + + + + + +
    +
    + + +
    +
    + + + + + + + + + + + + +
    +
    + Nome do Grupo: +
    +
    + +
    +
    + + + + + + + + + +
    + Participantes do Grupo: +
    + ${user.person.name} +
    +
    + + +
    + + + + + + + + + + + + + + + + +
    + Participantes do Curso: + +
    ${student.name}*${student.name}
    +
    +
    + +
    +
    +
    +
    + +
    + +
    + + \ No newline at end of file diff --git a/WebContent/jsp/course/viewGroupsRelatorio.jsp b/WebContent/jsp/course/viewGroupsRelatorio.jsp new file mode 100644 index 0000000..c05b574 --- /dev/null +++ b/WebContent/jsp/course/viewGroupsRelatorio.jsp @@ -0,0 +1,89 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> + + + + + + Relatório de Atividades + + +

    Relatório de Atividades

    + + + + + + + + + + + + + + + +
    Nome do Grupo${modulo}
    ${relatorio.nome} + + + + + + +
    + Imprimir + Fechar + + \ No newline at end of file diff --git a/WebContent/jsp/course/viewOneGroup.jsp b/WebContent/jsp/course/viewOneGroup.jsp new file mode 100644 index 0000000..aea6a55 --- /dev/null +++ b/WebContent/jsp/course/viewOneGroup.jsp @@ -0,0 +1,60 @@ + + +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="UTF-8"%> +<%@page import="antlr.collections.List"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> + + + + + + + Grupo ${nomeGrupo} + + + +
    + + + + + + + + + + + + + +
    Nome do IntegranteFunçãoAtividades
    ${aluno.name} + Fundador/Moderador + Moderador + Membro + + + + + + + +
    +
    + + \ No newline at end of file diff --git a/WebContent/jsp/course/viewPersonDayTimeline.jsp b/WebContent/jsp/course/viewPersonDayTimeline.jsp new file mode 100644 index 0000000..6fb041f --- /dev/null +++ b/WebContent/jsp/course/viewPersonDayTimeline.jsp @@ -0,0 +1,63 @@ + + +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="UTF-8"%> +<%@page import="antlr.collections.List"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> + +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> + + + + + + Atividades de ${nomePessoa} do Grupo ${nomeGrupo} - ${data} + + +

    Atividades de ${nomePessoa} do Grupo ${nomeGrupo} - ${data}

    +
    + +

    + + + + + + + + + + + +
    HoraAtividade
    + Login + Logout + Nova Postagem no Fórum + Visualização do Fórum + Visualização de Material - ${log.materialName} + Respondeu Enquete + Abriu Jogo + Jogou + Entregou Material + Visualização de Video +
    +

    + +

    + + \ No newline at end of file diff --git a/WebContent/mobile.html b/WebContent/mobile.html index 84a6945..ff08731 100755 --- a/WebContent/mobile.html +++ b/WebContent/mobile.html @@ -15,12 +15,12 @@ Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título Amadeus Mobile - +
    - logo + logo

    Você está sendo direcionado para a página do Amadeus Mobile.

    diff --git a/WebContent/themes/default/imgs/icons/green.png b/WebContent/themes/default/imgs/icons/green.png new file mode 100644 index 0000000000000000000000000000000000000000..ddc01795f455051cb8dfcab9f1257cc80222b726 GIT binary patch literal 598 zcmV-c0;&CpP)5r00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0qaRbK~y+Tjg!4^ z(@+$}e|`>$l{Ozu%SRL{Ky6wHR2YcV4Kc8Q5Ca>iI|~B~3rvU=F|u{!A7H8&D~2)@ zF(5u#P(&Nlc1S~r>o$J2!+nNSwG>sk*3o-@_ndRDt^2H=1pmWqyMar6e~GQ`Du47Q zJ$Z7e3TK=vT*%xcn=WBlR$qeEH!$Ljy?4BCy`bfPBj~w@B(t$`$fu{M6(3T~-99vl z4UG6l=Pk?4CwRe5zn_Ew{HvO=OU#!ZGgnxMO=5$lSLe;n0VAe2W;8gn@K16l^h2 zICc?L9-AW7E69P39ukHd1t}`I%P3o&;9~I(T1#~;&axf{!_nH}{OENG*^?+U4A;sJ zNHdOa#Nw>wa|XfWeECG85pJA)6c3WT5j)+ReJN9w6L(WVh_W7qIWxI1%y4)5IpzFJ zJXDFh&}gsm`qMKS?wX9FOjIH)CbE;}M{P)5r00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0nJH7K~y+TjZ?u& z0#Ot_^VBj^DTxLuQ4%+`Da4g7qFR*T#*M2!AOyGe4ef*$E^X5vgh&cOTQ?yR;zFy9 zl~SfQYNp*c&InqH4=(fO%{}Lyd*?i%PYcT8+fJi__e28qOa`r|C-9H@wKW)bcVY4Q zFmJIy5CjzhK_%ee%H17G=jW&w3ixg|he>>+(d%Kd+hGfbA^QD85}AO5%gH1j&dwmc zy$yhLrizm*DpmDMOK?Uau%4XABr-v*SVSfmME&`B2p%b~z9=LM)P^e_$BNqx#;X)# zF?f=9ZViR-I00%;xFC z8z&&}4`UE_cEB_`9X102bX5g>(o;fhaeaRuCQ(#;P%h)jWwjA85&y!E_qp z_BI$#G!xS?8AC7_26Omt9?DrytHmLCV0CLtt}${KUUE5HheCM0zaQ9G^@ZX>I{O75$(?yV=*lJl0000>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 -- -- PostgreSQL database dump -- @@ -8,7 +12,10 @@ SET check_function_bodies = false; SET client_min_messages = warning; SET escape_string_warning = off; +<<<<<<< HEAD +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 -- -- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: postgres -- @@ -67,6 +74,7 @@ CREATE TABLE alternativerealized ( ALTER TABLE public.alternativerealized OWNER TO postgres; -- +<<<<<<< HEAD -- Name: amadeus_droid_historic; Type: TABLE; Schema: public; Owner: postgres; Tablespace: -- @@ -83,6 +91,8 @@ CREATE TABLE amadeus_droid_historic ( ALTER TABLE public.amadeus_droid_historic OWNER TO postgres; -- +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 -- Name: answer; Type: TABLE; Schema: public; Owner: postgres; Tablespace: -- @@ -388,7 +398,11 @@ ALTER TABLE public.externallink OWNER TO postgres; CREATE TABLE forum ( id integer NOT NULL, +<<<<<<< HEAD description character varying(9000), +======= + description character varying(255), +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 creationdate timestamp without time zone, name character varying(255), module_id integer NOT NULL @@ -410,11 +424,19 @@ CREATE TABLE game ( minusers integer NOT NULL, name character varying(255), url character varying(255), +<<<<<<< HEAD module_id integer NOT NULL, linkexterno boolean DEFAULT false ); +======= + module_id integer NOT NULL +); + + + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 ALTER TABLE public.game OWNER TO postgres; -- @@ -530,6 +552,7 @@ CREATE TABLE learningobject ( ALTER TABLE public.learningobject OWNER TO postgres; -- +<<<<<<< HEAD -- Name: log; Type: TABLE; Schema: public; Owner: amadeus; Tablespace: -- @@ -550,6 +573,8 @@ CREATE TABLE log ( ALTER TABLE public.log OWNER TO postgres; -- +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 -- Name: material; Type: TABLE; Schema: public; Owner: postgres; Tablespace: -- @@ -593,7 +618,11 @@ ALTER TABLE public.materialrequest OWNER TO postgres; CREATE TABLE message ( id integer NOT NULL, +<<<<<<< HEAD body character varying(9000), +======= + body character varying(2000), +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 date timestamp without time zone, forum_id integer NOT NULL, author_id integer, @@ -651,9 +680,13 @@ CREATE TABLE person ( state character varying(255), access_info_id integer, image_id integer, +<<<<<<< HEAD resume_id integer, twitterlogin character varying(255), facebooklogin character varying(255) +======= + resume_id integer +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 ); @@ -814,6 +847,7 @@ ALTER TABLE ONLY alternativerealized -- +<<<<<<< HEAD -- Name: amadeus_droid_historic_pkey; Type: CONSTRAINT; Schema: public; Owner: amadeus; Tablespace: -- @@ -822,6 +856,8 @@ ALTER TABLE ONLY amadeus_droid_historic -- +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 -- Name: answer_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: -- @@ -1094,6 +1130,7 @@ ALTER TABLE ONLY learningobject -- +<<<<<<< HEAD -- Name: log_primary_key; Type: CONSTRAINT; Schema: public; Owner: amadeus; Tablespace: -- @@ -1102,6 +1139,8 @@ ALTER TABLE ONLY log -- +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 -- Name: material_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: -- @@ -1718,6 +1757,7 @@ ALTER TABLE ONLY courseevaluation_criterion -- +<<<<<<< HEAD -- Name: log_person_foreign_key; Type: FK CONSTRAINT; Schema: public; Owner: amadeus -- @@ -1726,6 +1766,8 @@ ALTER TABLE ONLY log -- +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 -- Name: public; Type: ACL; Schema: -; Owner: postgres -- @@ -1739,3 +1781,25 @@ GRANT ALL ON SCHEMA public TO PUBLIC; -- PostgreSQL database dump complete -- +<<<<<<< HEAD +======= +ALTER TABLE game ADD COLUMN linkexterno boolean DEFAULT false; + +CREATE TABLE log +( + id integer NOT NULL, + date timestamp without time zone, + person_id integer, + codigo integer, + idobjeto integer, + fases integer, + tempo integer, + pontuacao integer, + metaalternativa integer, + tamanhomensagem integer, + CONSTRAINT log_primary_key PRIMARY KEY (id ), + CONSTRAINT log_person_foreign_key FOREIGN KEY (person_id) + REFERENCES person (id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION +); +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/dao/DAOFactory.java b/src/br/ufpe/cin/amadeus/amadeus_web/dao/DAOFactory.java index 4e289b5..08304db 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/dao/DAOFactory.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/dao/DAOFactory.java @@ -13,15 +13,19 @@ Voc� deve ter recebido uma c�pia da Licen�a P�blica Geral GNU, sob o t package br.ufpe.cin.amadeus.amadeus_web.dao; +<<<<<<< HEAD import java.util.Date; import java.util.List; +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.AmadeusDroidHistoricDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.ArchiveDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.CourseDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.DeliveryDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.ForumDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.GameDAO; +import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.GroupsDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.HistoryLearningObjectDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.HomeworkDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.KeywordDAO; @@ -45,7 +49,14 @@ import br.ufpe.cin.amadeus.amadeus_web.dao.register.PersonDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.register.ResumeDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.register.TweetDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.register.UserRequestDAO; +<<<<<<< HEAD import br.ufpe.cin.amadeus.amadeus_web.domain.register.Tweet; +======= +import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.evaluation.EvaluationDAO; +import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.evaluation.EvaluationRealizedDAO; +import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.externallink.ExternalLinkDAO; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Groups; +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 public abstract class DAOFactory { @@ -98,7 +109,11 @@ public abstract class DAOFactory { public abstract ExternalLinkDAO getExternalLinkDAO(); public abstract AmadeusDroidHistoricDAO getAmadeusDroidHistoricDAO(); public abstract LogDAO getLogDAO(); +<<<<<<< HEAD public abstract MessengerMessageDAO getMessengerMessageDAO(); //Added by Nailson Cunha public abstract TweetDAO getTweetDAO(); //Added by Nailson Cunha +======= + public abstract GroupsDAO getGroupsDAO(); +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/ForumDAO.java b/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/ForumDAO.java index 0bd2d0e..5fb1d17 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/ForumDAO.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/ForumDAO.java @@ -17,9 +17,15 @@ import java.util.List; import br.ufpe.cin.amadeus.amadeus_web.dao.GenericDAO; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Forum; +import br.ufpe.cin.amadeus.amadeus_web.domain.register.Person; public interface ForumDAO extends GenericDAO { List getListForum(); +<<<<<<< HEAD +======= + + boolean verificarStatusPorForum(List alunos, Forum forum); +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/GameDAO.java b/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/GameDAO.java index 08376de..effef26 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/GameDAO.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/GameDAO.java @@ -18,7 +18,13 @@ import java.util.List; import br.ufpe.cin.amadeus.amadeus_web.dao.GenericDAO; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Course; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Game; +import br.ufpe.cin.amadeus.amadeus_web.domain.register.Person; public interface GameDAO extends GenericDAO { +<<<<<<< HEAD public List getAllGameFromCourse(Course course); +======= + public List getAllGameFromCourse(Course course); + boolean verificarStatusPorGame(List alunos, Game game); +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/GroupsDAO.java b/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/GroupsDAO.java new file mode 100644 index 0000000..208f514 --- /dev/null +++ b/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/GroupsDAO.java @@ -0,0 +1,33 @@ +/** +Copyright 2008, 2009 UFPE - Universidade Federal de Pernambuco + +Este arquivo � parte do programa Amadeus Sistema de Gest�o de Aprendizagem, ou simplesmente Amadeus LMS + +O Amadeus LMS � um software livre; voc� pode redistribui-lo e/ou modifica-lo dentro dos termos da Licen�a P�blica Geral GNU como +publicada pela Funda��o do Software Livre (FSF); na vers�o 2 da Licen�a. + +Este programa � distribu�do na esperan�a que possa ser �til, mas SEM NENHUMA GARANTIA; sem uma garantia impl�cita de ADEQUA��O a qualquer MERCADO ou APLICA��O EM PARTICULAR. Veja a Licen�a P�blica Geral GNU para maiores detalhes. + +Voc� deve ter recebido uma c�pia da Licen�a P�blica Geral GNU, sob o t�tulo "LICENCA.txt", junto com este programa, se n�o, escreva para a Funda��o do Software Livre (FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +**/ + +package br.ufpe.cin.amadeus.amadeus_web.dao.content_managment; + +import java.util.List; + +import br.ufpe.cin.amadeus.amadeus_web.dao.GenericDAO; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Groups; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Log; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Module; +import br.ufpe.cin.amadeus.amadeus_web.domain.register.Person; +import br.ufpe.cin.amadeus.amadeus_web.syncronize.TimelineItem; + +public interface GroupsDAO extends GenericDAO { + + public List getLogsByDayAndGroup(String data, int groupId); + public List getGroupsByCourseID(int id); + public List getPersonByGroupsID(int id); + public List getTimelineByGroupsID(int id); + public boolean personHaveGroup(int courseId, int personId); + public Module getUltimoModulo(int courseId); +} diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/PersonRoleCourseDAO.java b/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/PersonRoleCourseDAO.java index 3ce505b..0aa07dd 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/PersonRoleCourseDAO.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/dao/content_managment/PersonRoleCourseDAO.java @@ -21,6 +21,7 @@ import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.PersonRoleCours import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Role; import br.ufpe.cin.amadeus.amadeus_web.domain.register.AccessInfo; import br.ufpe.cin.amadeus.amadeus_web.domain.register.Person; +import br.ufpe.cin.amadeus.amadeus_web.syncronize.StudentHaveGroup; public interface PersonRoleCourseDAO extends GenericDAO{ public List searchUsersByCoursesAndRole(Course course, Role role); @@ -33,4 +34,8 @@ public interface PersonRoleCourseDAO extends GenericDAO getByRoleInCourse(Person person, Course course, Role role); public List getStudentRolesCourses(int studentId); public List getStudentByUser(AccessInfo accessInfo); +<<<<<<< HEAD +======= + public List getStudentHaveGroupByCourse(Course course, Person person); +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/HibernateDAOFactory.java b/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/HibernateDAOFactory.java index 4b2e635..bdb7238 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/HibernateDAOFactory.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/HibernateDAOFactory.java @@ -25,6 +25,7 @@ import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.CourseDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.DeliveryDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.ForumDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.GameDAO; +import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.GroupsDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.HistoryLearningObjectDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.HomeworkDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.KeywordDAO; @@ -47,6 +48,7 @@ import br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.content_managment.CourseHib import br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.content_managment.DeliveryHibernateDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.content_managment.ForumHibernateDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.content_managment.GameHibernateDAO; +import br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.content_managment.GroupsHibernateDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.content_managment.HistoryLearningObjectHibernateDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.content_managment.HomeworkHibernateDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.content_managment.KeywordHibernateDAO; @@ -206,6 +208,7 @@ public class HibernateDAOFactory extends DAOFactory { public LogDAO getLogDAO() { return (LogDAO) instantiateDAO(LogHibernateDAO.class); } +<<<<<<< HEAD /** * Método que retorna o MessengerMessageDAO @@ -221,6 +224,13 @@ public class HibernateDAOFactory extends DAOFactory { return (TweetDAO) instantiateDAO(TweetHibernateDAO.class); } +======= + + @Override + public GroupsDAO getGroupsDAO() { + return (GroupsDAO) instantiateDAO(GroupsHibernateDAO.class); + } +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/content_managment/ForumHibernateDAO.java b/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/content_managment/ForumHibernateDAO.java index 44020c8..8734715 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/content_managment/ForumHibernateDAO.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/content_managment/ForumHibernateDAO.java @@ -15,9 +15,16 @@ package br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.content_managment; import java.util.List; +<<<<<<< HEAD +======= +import org.apache.poi.hssf.record.formula.functions.Int; + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.ForumDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.GenericHibernateDAO; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Course; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Forum; +import br.ufpe.cin.amadeus.amadeus_web.domain.register.Person; public class ForumHibernateDAO extends GenericHibernateDAO implements ForumDAO { @@ -32,4 +39,35 @@ public class ForumHibernateDAO extends GenericHibernateDAO imple return results; } +<<<<<<< HEAD +======= + @SuppressWarnings("unchecked") + @Override + public boolean verificarStatusPorForum(List alunos, Forum forum) { + + String persons = " AND l.idUser.id IN ("; + + String ids = ""; + + for (int i = 0; i < alunos.size(); i++) + { + if(ids.length() != 0) + { + ids += ","; + } + ids += alunos.get(i).getId(); + } + + persons += ids + ")"; + + String hql = "select distinct l.idUser.id from Log l where l.codigo = 4 AND l.idObjeto = " + forum.getId() + persons; + List posts = getSession().createQuery(hql).list(); + + boolean retorno = alunos.size() == posts.size(); + + + return retorno; + } + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/content_managment/GameHibernateDAO.java b/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/content_managment/GameHibernateDAO.java index 270b499..f376a52 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/content_managment/GameHibernateDAO.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/content_managment/GameHibernateDAO.java @@ -15,10 +15,16 @@ package br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.content_managment; import java.util.List; +<<<<<<< HEAD +======= +import org.apache.poi.hssf.record.formula.functions.Int; + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.GameDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.GenericHibernateDAO; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Course; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Game; +import br.ufpe.cin.amadeus.amadeus_web.domain.register.Person; public class GameHibernateDAO extends GenericHibernateDAO implements GameDAO { @@ -33,5 +39,36 @@ public class GameHibernateDAO extends GenericHibernateDAO return game; } +<<<<<<< HEAD +======= + + @SuppressWarnings("unchecked") + @Override + public boolean verificarStatusPorGame(List alunos, Game game) { + + String persons = " AND l.idUser.id IN ("; + + String ids = ""; + + for (int i = 0; i < alunos.size(); i++) + { + if(ids.length() != 0) + { + ids += ","; + } + ids += alunos.get(i).getId(); + } + + persons += ids + ")"; + + String hql = "select distinct l.idUser.id from Log l where l.codigo = 7 AND l.idObjeto = " + game.getId() + persons; + List posts = getSession().createQuery(hql).list(); + + boolean retorno = alunos.size() == posts.size(); + + + return retorno; + } +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/content_managment/GroupsHibernateDAO.java b/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/content_managment/GroupsHibernateDAO.java new file mode 100644 index 0000000..8eea19e --- /dev/null +++ b/src/br/ufpe/cin/amadeus/amadeus_web/dao/hibernate/content_managment/GroupsHibernateDAO.java @@ -0,0 +1,101 @@ +package br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.content_managment; + +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.List; + +import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.GroupsDAO; +import br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.GenericHibernateDAO; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Groups; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Log; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Module; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Person_Groups; +import br.ufpe.cin.amadeus.amadeus_web.domain.register.Person; +import br.ufpe.cin.amadeus.amadeus_web.syncronize.TimelineItem; + +public class GroupsHibernateDAO extends GenericHibernateDAO +implements GroupsDAO { + + @SuppressWarnings("unchecked") + @Override + public List getLogsByDayAndGroup(String data, int groupId) { + String sqlQuery = "SELECT l.* as frequency FROM Log l, Person p, Person_Groups pg, Groups g " + + " WHERE pg.group_id = " + groupId + + " AND pg.person_id = p.id " + + " AND l.person_id = p.id " + + " AND '" + data + " 00:00:00' <= l.date " + + " AND '" + data + " 23:59:59' >= l.date " + + " AND g.id = " + groupId + + " AND g.date < l.date " + + " ORDER BY l.date ASC"; + + List list = getSession().createSQLQuery(sqlQuery).addEntity("l", Log.class).list(); + return list; + } + + @SuppressWarnings("unchecked") + @Override + public List getGroupsByCourseID(int id) { + String hqlQuery = "SELECT g FROM Groups g WHERE g.curso.id = " + id; + List results = (List) getSession().createQuery(hqlQuery).list(); + + return results; + } + + @SuppressWarnings("unchecked") + @Override + public List getPersonByGroupsID(int id) { + String hqlQuery = "SELECT p FROM Person_Groups pg, Person p WHERE pg.groups.id = " + id + " AND pg.pessoa.id = p.id"; + List results = getSession().createQuery(hqlQuery).list(); + + return results; + } + + @SuppressWarnings("unchecked") + @Override + public List getTimelineByGroupsID(int id) { + + String hqlQuery = "SELECT g.id as idGroup, to_char(date_trunc('day', l.date),'DD/MM/YYYY') as date, count(l.*) as frequency" + + " FROM Log l, Person p, Person_Groups pg, Groups g where pg.group_id = " + id + + " AND pg.person_id = p.id" + + " AND l.person_id = p.id" + + " AND g.id = pg.group_id" + + " AND g.date < l.date" + + " GROUP BY date_trunc('day', l.date), g.id ORDER BY date_trunc('day', l.date);"; + List results = getSession().createSQLQuery(hqlQuery).list(); + + List retorno = new ArrayList(); + + for(int i=0;i implements PersonRoleCourseDAO { @@ -170,4 +175,38 @@ public class PersonRoleCourseHibernateDAO extends GenericHibernateDAO getStudentHaveGroupByCourse(Course course, Person person) { + String hqlQuery = "select p.name, p.id, (pg.person_id IS NOT NULL) as haveGroup from person_role_course prc, person p " + + " LEFT JOIN (SELECT p.person_id FROM person_groups p, groups g where p.group_id = g.id AND g.course_id = " + course.getId() + ") as pg " + + " ON p.id = pg.person_id " + + " where p.id = prc.person_id " + + " and prc.course_id = " + course.getId() + + " and prc.role_id = 1 " + + " order by p.name asc "; + + List resultsParcial = HibernateUtil.getSessionFactory() + .getCurrentSession() + .createSQLQuery(hqlQuery) + .list(); + + ArrayList results = new ArrayList(); + + int pos = 0; + for(int i=0;i>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 import java.util.List; import org.hibernate.Criteria; @@ -28,13 +33,18 @@ import org.hibernate.criterion.Restrictions; import br.ufpe.cin.amadeus.amadeus_web.dao.hibernate.GenericHibernateDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.register.PersonDAO; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Course; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Log; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Role; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Status; import br.ufpe.cin.amadeus.amadeus_web.domain.register.Person; import br.ufpe.cin.amadeus.amadeus_web.syncronize.AccessInfo; +<<<<<<< HEAD public class PersonHibernateDAO extends GenericHibernateDAO implements PersonDAO { +======= +import br.ufpe.cin.amadeus.amadeus_web.syncronize.TimelineItem; +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 public PersonHibernateDAO() { super(); @@ -76,6 +86,7 @@ public class PersonHibernateDAO extends GenericHibernateDAO @Override public Person getPersonByLogin(String login) { +<<<<<<< HEAD StringBuilder hql = new StringBuilder(); hql.append("select p from Person p " + "where p.accessInfo.login = '" @@ -83,6 +94,14 @@ public class PersonHibernateDAO extends GenericHibernateDAO Person person = (Person) getSession().createQuery(hql.toString()) .uniqueResult(); +======= + + StringBuilder hql = new StringBuilder(); + hql.append("select p from Person p " + + "where p.accessInfo.login = '" + login + "'"); + + Person person = (Person) getSession().createQuery(hql.toString()).uniqueResult(); +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 return person; } @@ -90,6 +109,7 @@ public class PersonHibernateDAO extends GenericHibernateDAO public Person getPersonByUserName(String userName) { StringBuilder hql = new StringBuilder(); hql.append("select p from Person p where p.name = '" + userName + "'"); +<<<<<<< HEAD Person person = (Person) getSession().createQuery(hql.toString()) .uniqueResult(); return person; @@ -115,6 +135,58 @@ public class PersonHibernateDAO extends GenericHibernateDAO e.printStackTrace(); } return 0; +======= + Person person = (Person) getSession().createQuery(hql.toString()).uniqueResult(); + return person; + } + + @SuppressWarnings("unchecked") + @Override + public List getTimelineByPersonID(int personID, int groupID) { + + String hqlQuery = "SELECT g.id as idGroup, to_char(date_trunc('day', l.date),'DD/MM/YYYY') as date, count(l.*) as frequency" + + " FROM Log l, Person p, Person_Groups pg, Groups g " + + " WHERE pg.group_id = " + groupID + + " AND pg.person_id = " + personID + + " AND pg.person_id = p.id" + + " AND l.person_id = p.id" + + " AND g.id = pg.group_id" + + " AND g.date < l.date" + + " GROUP BY date_trunc('day', l.date), g.id ORDER BY date_trunc('day', l.date);"; + List results = getSession().createSQLQuery(hqlQuery).list(); + + List retorno = new ArrayList(); + + for(int i=0;i getLogsByDayAndPerson(String data, int groupID, int personID) { + String sqlQuery = "SELECT l.* as frequency FROM Log l, Person p, Person_Groups pg, Groups g " + + " WHERE pg.group_id = " + groupID + + " AND pg.person_id = " + personID + + " AND pg.person_id = p.id " + + " AND l.person_id = p.id " + + " AND '" + data + " 00:00:00' <= l.date " + + " AND '" + data + " 23:59:59' >= l.date " + + " AND g.id = " + groupID + + " AND g.date < l.date " + + " ORDER BY l.date ASC"; + + List list = getSession().createSQLQuery(sqlQuery).addEntity("l", Log.class).list(); + return list; +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/dao/register/PersonDAO.java b/src/br/ufpe/cin/amadeus/amadeus_web/dao/register/PersonDAO.java index a2ce49b..f054ad8 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/dao/register/PersonDAO.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/dao/register/PersonDAO.java @@ -17,9 +17,14 @@ import java.util.List; import br.ufpe.cin.amadeus.amadeus_web.dao.GenericDAO; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Course; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Log; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Role; import br.ufpe.cin.amadeus.amadeus_web.domain.register.Person; import br.ufpe.cin.amadeus.amadeus_web.syncronize.AccessInfo; +<<<<<<< HEAD +======= +import br.ufpe.cin.amadeus.amadeus_web.syncronize.TimelineItem; +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 public interface PersonDAO extends GenericDAO { @@ -28,5 +33,10 @@ public interface PersonDAO extends GenericDAO { public List getAllEmails(); public Person getPersonByLogin(String login); public Person getPersonByUserName(String userName); +<<<<<<< HEAD public int getPersonByTwitterLogin(String screenName); +======= + public List getTimelineByPersonID(int personID, int groupID); + public List getLogsByDayAndPerson(String data, int groupID, int personID); +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Course.java b/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Course.java index da64546..f13c4e8 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Course.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Course.java @@ -81,6 +81,8 @@ public class Course implements Serializable { private Date initialCourseDate; private Date finalCourseDate; + + private boolean flag_habilitar_grupo; @OneToOne @JoinColumn(name="PROFESSOR_ID") @@ -101,7 +103,7 @@ public class Course implements Serializable { @OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY) @JoinColumn(name = "COURSE_ID", nullable = false) @org.hibernate.annotations.Cascade( - value = org.hibernate.annotations.CascadeType.DELETE_ORPHAN ) + value = org.hibernate.annotations.CascadeType.DELETE_ORPHAN) private List modules = new ArrayList(); @OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY) @@ -294,5 +296,13 @@ public class Course implements Serializable { return retorno; } + public void setFlag_habilitar_grupo(boolean flag_habilitar_grupo) { + this.flag_habilitar_grupo = flag_habilitar_grupo; + } + + public boolean isFlag_habilitar_grupo() { + return flag_habilitar_grupo; + } + } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Forum.java b/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Forum.java index dd96ff8..f75f40b 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Forum.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Forum.java @@ -29,12 +29,15 @@ import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.xml.bind.annotation.XmlRootElement; +<<<<<<< HEAD import org.apache.commons.collections.MultiHashMap; import org.apache.commons.collections.MultiMap; import org.hibernate.annotations.Cascade; +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 /** * Classe que encapsula os dados de um forum * diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Groups.java b/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Groups.java new file mode 100644 index 0000000..4d7905a --- /dev/null +++ b/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Groups.java @@ -0,0 +1,128 @@ +package br.ufpe.cin.amadeus.amadeus_web.domain.content_management; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import javax.persistence.CascadeType; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.OneToMany; +import javax.persistence.OneToOne; +import javax.persistence.Table; + +import br.ufpe.cin.amadeus.amadeus_web.domain.register.Person; + +/** + * Classe que encapsula os dados de um grupo no sistema + * + * @author Jesus + * + */ + +@SuppressWarnings("serial") +@Entity +@Table(name="GROUPS") +public class Groups implements Serializable{ + + @Id @GeneratedValue (strategy=GenerationType.AUTO) + private int id; + + private Date date; + + @OneToOne(targetEntity = Person.class, fetch = FetchType.LAZY) + @JoinColumn(name="FUNDADOR_ID") + private Person fundador; + + @OneToOne(targetEntity = Course.class, fetch = FetchType.LAZY) + @JoinColumn(name="COURSE_ID") + private Course curso; + + private String name; + + @OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY) + @JoinColumn(name = "GROUP_ID", nullable = false) + @org.hibernate.annotations.Cascade( + value = org.hibernate.annotations.CascadeType.DELETE_ORPHAN ) + private List membros = new ArrayList(); + + public Groups (){ + + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public Person getFundador() { + return fundador; + } + + public void setFundador(Person usuario) { + this.fundador = usuario; + } + + public Course getCurso() { + return curso; + } + + public void setCurso(Course curso) { + this.curso = curso; + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + /** + * Metodo que cria um Groups ja com a data de criacao setada. + * @return + */ + public static Groups getGroups(){ + Groups group = new Groups(); + group.setDate(new Date()); + return group; + } + + public void setMembros(List membros) { + this.membros = membros; + } + + public List getMembros() { + return membros; + } + + public List getPersons() { + + List result = new ArrayList(); + + for(Person_Groups membro : this.membros) + { + result.add(membro.getPessoa()); + } + + return result; + } +} + diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Log.java b/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Log.java index 07b6529..d82cf2c 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Log.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Log.java @@ -34,6 +34,7 @@ public class Log implements Serializable{ @Column(name="metaalternativa") private Integer metaAlternativa; +<<<<<<< HEAD public static int LOG_CODIGO_LOGIN = 1; //Ok public static int LOG_CODIGO_LOGOUT = 2; //Ok public static int LOG_CODIGO_FORUM_POST = 3; //Ok - postagens em foruns @@ -44,6 +45,18 @@ public class Log implements Serializable{ public static int LOG_CODIGO_JOGAR = 8; //Ok public static int LOG_CODIGO_ENTREGAR_MATERIAL = 9; //Ok public static int LOG_CODIGO_VISUALIZACAO_VIDEO = 10; +======= + public final static int LOG_CODIGO_LOGIN = 1; //Ok + public final static int LOG_CODIGO_LOGOUT = 2; //Ok + public final static int LOG_CODIGO_FORUM_POST = 3; //Ok - postagens em foruns + public final static int LOG_CODIGO_FORUM_TOPICO = 4; //Ok - visualizacoes de topicos + public final static int LOG_CODIGO_VISUALIZACAO_MATERIAL = 5; //Ok - abertura de materias dos modulos + public final static int LOG_CODIGO_RESPOSTA_ENQUETE = 6; //Ok + public final static int LOG_CODIGO_ABRIR_JOGO = 7; //Ok + public final static int LOG_CODIGO_JOGAR = 8; //Ok + public final static int LOG_CODIGO_ENTREGAR_MATERIAL = 9; //Ok + public final static int LOG_CODIGO_VISUALIZACAO_VIDEO = 10; +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 public Log (){ diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Person_Groups.java b/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Person_Groups.java new file mode 100644 index 0000000..1ef8edf --- /dev/null +++ b/src/br/ufpe/cin/amadeus/amadeus_web/domain/content_management/Person_Groups.java @@ -0,0 +1,101 @@ +package br.ufpe.cin.amadeus.amadeus_web.domain.content_management; + +import java.io.Serializable; +import java.util.Date; + +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToOne; + +import br.ufpe.cin.amadeus.amadeus_web.domain.register.Person; + +/** + * Classe que encapsula os dados da agregação PersonGroup no sistema + * + * @author Jesus + * + */ + +@SuppressWarnings("serial") +@Entity +public class Person_Groups implements Serializable{ + + @Id @GeneratedValue (strategy=GenerationType.AUTO) + private int id; + + private Date date; + + @OneToOne(targetEntity = Person.class, fetch = FetchType.LAZY) + @JoinColumn(name="PERSON_ID") + private Person pessoa; + + @ManyToOne + @JoinColumn(name="GROUP_ID", nullable = false, + updatable = false, insertable = false) + private Groups groups; + + private int papel; + + public final static int PAPEL_FUNDADOR = 0; + public final static int PAPEL_MODERADOR = 1; + public final static int PAPEL_MEMBRO = 2; + + public Person_Groups (){ + + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public Person getPessoa() { + return pessoa; + } + + public void setPessoa(Person pessoa) { + this.pessoa = pessoa; + } + + /** + * Metodo que cria um Person_Groups ja com a data de criacao setada. + * @return + */ + public static Person_Groups getPersonGroups(){ + Person_Groups group = new Person_Groups(); + group.setDate(new Date()); + return group; + } + + public void setGroups(Groups groups) { + this.groups = groups; + } + + public Groups getGroups() { + return groups; + } + + public void setPapel(int papel) { + this.papel = papel; + } + + public int getPapel() { + return papel; + } +} diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/domain/register/Person.java b/src/br/ufpe/cin/amadeus/amadeus_web/domain/register/Person.java index b1bcf1c..2865553 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/domain/register/Person.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/domain/register/Person.java @@ -29,10 +29,13 @@ import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.OneToOne; import javax.xml.bind.annotation.XmlRootElement; +<<<<<<< HEAD import org.hibernate.annotations.Cascade; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.PersonForum; +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 /** * Classe que encapsula os dados de um usuário do sistema diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/facade/Controller.java b/src/br/ufpe/cin/amadeus/amadeus_web/facade/Controller.java index e7be28f..adb2986 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/facade/Controller.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/facade/Controller.java @@ -36,6 +36,7 @@ import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.ArchiveDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.CourseDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.ForumDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.GameDAO; +import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.GroupsDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.HistoryLearningObjectDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.HomeworkDAO; import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.KeywordDAO; @@ -64,6 +65,7 @@ import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Course; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.ExternalLink; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Forum; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Game; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Groups; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.HistoryLearningObject; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Homework; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Keyword; @@ -105,6 +107,12 @@ import br.ufpe.cin.amadeus.amadeus_web.exception.InvalidVideoException; import br.ufpe.cin.amadeus.amadeus_web.exception.RequestException; import br.ufpe.cin.amadeus.amadeus_web.struts.messages.Messages; import br.ufpe.cin.amadeus.amadeus_web.syncronize.Archive; +<<<<<<< HEAD +======= +import br.ufpe.cin.amadeus.amadeus_web.syncronize.LogVisualizacao; +import br.ufpe.cin.amadeus.amadeus_web.syncronize.StudentHaveGroup; +import br.ufpe.cin.amadeus.amadeus_web.syncronize.TimelineItem; +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 import br.ufpe.cin.amadeus.amadeus_web.util.Cryptography; import br.ufpe.cin.amadeus.amadeus_web.util.DateConstructor; import br.ufpe.cin.amadeus.amadeus_web.util.MailSender; @@ -670,7 +678,11 @@ public class Controller { try { if (person.getResume().getYear() == null || yearTitulation <= yearNowadays) { +<<<<<<< HEAD System.out.println("CHAMOUUUUU2"); +======= + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 PersonDAO personDAO = factory.getPersonDAO(); personDAO.merge(person); } else { @@ -1859,11 +1871,14 @@ public class Controller { return forum.findById(forumId, false); } +<<<<<<< HEAD public Message getMessageById(int idMessage) { MessageDAO messageDao = factory.getMessageDAO(); return messageDao.findById(idMessage, false); } +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 public List getListForum(){ List listForum = new ArrayList(); ForumDAO forum = factory.getForumDAO(); @@ -3603,7 +3618,11 @@ public class Controller { "WHERE " + "l.codigo = 7 " + "AND l.idobjeto = g.id " + +<<<<<<< HEAD "AND l.person_id = " + 130 +" " + +======= + "AND l.person_id = " + idAluno +" " + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 "AND g.module_id = " + idModule +" " + "AND prc.person_id = l.person_id " + "AND prc.role_id = 1 " + @@ -3631,6 +3650,7 @@ public class Controller { return array; } +<<<<<<< HEAD /** * Método criado para persistir as mensagens enviadas, como primeira mensagem (não resposta a outra) @@ -3732,4 +3752,301 @@ public class Controller { return factory.getTweetDAO().getTweetBetweenDates(inicio,fim); } +======= + /* + * TODO - Métodos para recuperar grupo + */ + public List getGroups(int id) { + List grupo = null; + try { + + GroupsDAO groupsDAO = factory.getGroupsDAO(); + grupo = groupsDAO.getGroupsByCourseID(id); + + } catch (RuntimeException e) { + throw e; + } + return grupo; + } + + public List getPersonByGroupsID(int id) { + List grupo = null; + try { + + GroupsDAO groupsDAO = factory.getGroupsDAO(); + grupo = groupsDAO.getPersonByGroupsID(id); + + } catch (RuntimeException e) { + throw e; + } + return grupo; + } + + public List getStudentsHaveGroup(Course course, Person person) + { + PersonRoleCourseDAO personRoleCourseDAO = factory.getPersonRoleCourseDAO(); + List result = personRoleCourseDAO.getStudentHaveGroupByCourse(course, person); + + return result; + } + + public Module getUltimoModulo(int courseID) + { + GroupsDAO groupsDAO = factory.getGroupsDAO(); + Module result = groupsDAO.getUltimoModulo(courseID); + + return result; + } + + public List getLogsByDayAndGroup(String data, int groupId) + { + GroupsDAO groupsDAO = factory.getGroupsDAO(); + List list = groupsDAO.getLogsByDayAndGroup(data, groupId); + + List result = new ArrayList(); + for(Log log : list) + { + LogVisualizacao logVisualizacao = null; + Facade facade = Facade.getInstance(); + + + if(log.getCodigo() == Log.LOG_CODIGO_VISUALIZACAO_MATERIAL) + { + Material material = facade.getMaterialByID(log.getIdObjeto()); + + String materialName = ""; + if(material !=null) + { + materialName = material.getArchiveName(); + } + else + { + ExternalLink link = facade.getExternalLinkById(log.getIdObjeto()); + materialName = link.getName(); + } + + logVisualizacao = new LogVisualizacao(log, materialName); + } + else + { + logVisualizacao = new LogVisualizacao(log); + } + + result.add(logVisualizacao); + } + + return result; + } + + public List getLogsByDayAndPerson(String data, int groupID, int personID) + { + PersonDAO personDAO = factory.getPersonDAO(); + List list = personDAO.getLogsByDayAndPerson(data, groupID, personID); + List result = new ArrayList(); + for(Log log : list) + { + LogVisualizacao logVisualizacao = null; + Facade facade = Facade.getInstance(); + + + if(log.getCodigo() == Log.LOG_CODIGO_VISUALIZACAO_MATERIAL) + { + String materialName = ""; + + try + { + Material material = facade.getMaterialByID(log.getIdObjeto()); + materialName = material.getArchiveName(); + } + catch(Exception e) + { + ExternalLink link = facade.getExternalLinkById(log.getIdObjeto()); + materialName = link.getName(); + } + logVisualizacao = new LogVisualizacao(log, materialName); + } + else + { + logVisualizacao = new LogVisualizacao(log); + } + + result.add(logVisualizacao); + } + + return result; + } + + public Groups inserGroups(Groups g) throws CourseInvalidException { + Groups result; + try { + GroupsDAO groupsDAO = factory.getGroupsDAO(); + result = groupsDAO.makePersistent(g); + } catch (RuntimeException e) { + throw e; + } + return result; + } + + public List listarTimelineGroup(Groups g){ + + List result = null; + try { + GroupsDAO groupsDAO = factory.getGroupsDAO(); + result = groupsDAO.getTimelineByGroupsID(g.getId()); + + int max = 0; + int min = 10000000; + + for(int i = 0; i result.get(i).getFrequency()){ + min = result.get(i).getFrequency(); + } + } + + for(int i = 0; i listarTimelinePerson(Person p, Groups g){ + + List result = null; + try { + PersonDAO personDAO = factory.getPersonDAO(); + result = personDAO.getTimelineByPersonID(p.getId(), g.getId()); + + int max = 0; + int min = 10000000; + + for(int i = 0; i result.get(i).getFrequency()){ + min = result.get(i).getFrequency(); + } + } + + for(int i = 0; i alunos, Forum forum) + { + ForumDAO forumDAO = factory.getForumDAO(); + return forumDAO.verificarStatusPorForum(alunos, forum); + } + + public boolean verificarStatusPorGame(List alunos, Game game) + { + GameDAO gameDAO = factory.getGameDAO(); + return gameDAO.verificarStatusPorGame(alunos, game); + } +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } \ No newline at end of file diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/facade/Facade.java b/src/br/ufpe/cin/amadeus/amadeus_web/facade/Facade.java index 60177f3..be1b083 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/facade/Facade.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/facade/Facade.java @@ -23,11 +23,18 @@ import javax.mail.MessagingException; import org.apache.struts.action.ActionMessages; import org.apache.struts.upload.FormFile; +<<<<<<< HEAD +======= +import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.ForumDAO; +import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.GroupsDAO; +import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.PersonRoleCourseDAO; +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.AmadeusDroidHistoric; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Course; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.ExternalLink; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Forum; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Game; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Groups; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.HistoryLearningObject; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Homework; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Keyword; @@ -66,6 +73,12 @@ import br.ufpe.cin.amadeus.amadeus_web.exception.InvalidUserException; import br.ufpe.cin.amadeus.amadeus_web.exception.InvalidVideoException; import br.ufpe.cin.amadeus.amadeus_web.exception.RequestException; import br.ufpe.cin.amadeus.amadeus_web.syncronize.Archive; +<<<<<<< HEAD +======= +import br.ufpe.cin.amadeus.amadeus_web.syncronize.LogVisualizacao; +import br.ufpe.cin.amadeus.amadeus_web.syncronize.StudentHaveGroup; +import br.ufpe.cin.amadeus.amadeus_web.syncronize.TimelineItem; +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 public class Facade { @@ -520,10 +533,13 @@ public class Facade { return this.controller.getForumById(forumId); } +<<<<<<< HEAD public Message getMessageById(int idMessage){ return this.controller.getMessageById(idMessage); } +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 public List getListForumSyncronize(){ return this.controller.getListForum(); } @@ -835,6 +851,7 @@ public class Facade { public String getJSONArrayGameGridByUser(int idGame, int idUser) { return this.controller.getJSONArrayGameGridByUser(idGame, idUser); +<<<<<<< HEAD } public String getJSONArrayTagCloudForum(int idModule){ @@ -955,6 +972,125 @@ public class Facade { public List getTweetBetweenDates(Date inicio, Date fim) { return this.controller.getTweetBetweenDates(inicio,fim); +======= +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } + public String getJSONArrayTagCloudForum(int idModule){ + return this.controller.getJSONArrayTagCloudForum(idModule); + } + + public String getJSONArrayPostsPerModule(int idModule){ + return this.controller.getJSONArrayPostsPerModule(idModule); + } + + public String getJSONArraySizeMessagePerModule(int idModule){ + return this.controller.getJSONArraySizeMessagePerModule(idModule); + } + + public String getJSONArrayPersonGameTimePerModule(int idPerson, int idModule){ + return this.controller.getJSONArrayPersonGameTimePerModule(idPerson, idModule); + } + + public String getJSONObjectTempoLevelPontuacao(int idGame) + { + return this.controller.getJSONObjectTempoLevelPontuacao(idGame); + } + + public String getJSONObjectTempoQuantidadePartidas(int idGame) + { + return this.controller.getJSONObjectTempoQuantidadePartidas(idGame); + } + + public String getJSONObjectQuantidadeTamanhoMSG(int idModule) + { + return this.controller.getJSONObjectQuantidadeTamanhoMSG(idModule); + } + + public String getJSONObjectLevelPontuacao(int idGame) + { + return this.controller.getJSONObjectLevelPontuacao(idGame); + } + + public String getJSONArrayGameMeta(int idGame){ + return this.controller.getJSONArrayGameMeta(idGame); + } + + public String getJSONArrayPersonTimeOnline(int idPerson){ + return this.controller.getJSONArrayPersonTimeOnline(idPerson); + } + + public String getJSONArrayForumVisualizacao(int idModule, int idAluno){ + return this.controller.getJSONArrayForumVisualizacao(idModule, idAluno); + } + public String getJSONArrayPostsPerUser(int idModule, int idUser){ + return this.controller.getJSONArrayPostsPerUser(idModule, idUser); + } + public String getJSONArrayMaterialView(int idUsuario, int idModule){ + return this.controller.getJSONArrayMaterialView(idUsuario, idModule); + } + public String getJSONArrayPollAnswered(int moduleID, int idAluno){ + return this.controller.getJSONArrayPollAnswered(moduleID, idAluno); + } + public String getJSONArrayGameOpen(int idModule, int idAluno){ + return this.controller.getJSONArrayGameOpen(idModule, idAluno); + } + + public List getGroups(int idCourse){ + return this.controller.getGroups(idCourse); + } + + public List getPersonByGroupsID(int groupID){ + return this.controller.getPersonByGroupsID(groupID); + } + + public List getStudentsHaveGroup(Course course, Person person) + { + return this.controller.getStudentsHaveGroup(course, person); + } + + public Module getUltimoModulo(int courseID){ + return this.controller.getUltimoModulo(courseID); + } + + public List getLogsByDayAndGroup(String data, int groupId) + { + return this.controller.getLogsByDayAndGroup(data, groupId); + } + + public List getLogsByDayAndPerson(String data, int groupID, int personID) + { + return this.controller.getLogsByDayAndPerson(data, groupID, personID); + } + + public Groups inserGroups(Groups g) throws CourseInvalidException { + return this.controller.inserGroups(g); + } + + public List listarTimelineGroup(Groups g){ + return this.controller.listarTimelineGroup(g); + } + + public List listarTimelinePerson(Person p, Groups g){ + return this.controller.listarTimelinePerson(p, g); + } + + public Groups getGroupsById(int id) { + return this.controller.getGroupsById(id); + } + + public boolean pesronHaveGroup(int courseId, int personId) + { + return this.controller.pesronHaveGroup(courseId, personId); + } + + public boolean verificarStatusPorForum(List alunos, Forum forum) + { + return this.controller.verificarStatusPorForum(alunos, forum); + } + + public boolean verificarStatusPorGame(List alunos, Game game) + { + return this.controller.verificarStatusPorGame(alunos, game); + } } \ No newline at end of file diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/permissions/content_management/CoursePermissions.java b/src/br/ufpe/cin/amadeus/amadeus_web/permissions/content_management/CoursePermissions.java index 3aa87b4..e133897 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/permissions/content_management/CoursePermissions.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/permissions/content_management/CoursePermissions.java @@ -131,6 +131,49 @@ public class CoursePermissions { return userCanViewGraphic; } +<<<<<<< HEAD +======= + + public static boolean userCanViewGroups(HttpServletRequest request, Course course) { + boolean userCanViewGroups = false; + + AccessInfo user = (AccessInfo) request.getSession().getAttribute("user"); + + Role userRoleInCourse; + + try { + userRoleInCourse = Facade.getInstance().getRoleByPersonInCourse(user.getPerson(), course); + if(userRoleInCourse != null) { + userCanViewGroups = true; + } + } catch (Exception e) { + e.printStackTrace(); + } + + return userCanViewGroups; + } + + public static boolean userCanCreateGroups(HttpServletRequest request, Course course) { + boolean userCanCreateGroups = true; + + try { + AccessInfo user = (AccessInfo) request.getSession().getAttribute("user"); + + Role userRoleInCourse = Facade.getInstance().getRoleByPersonInCourse(user.getPerson(), course); + + if(userRoleInCourse != null) { + if(userRoleInCourse.getRoleType() == RoleType.STUDENT) + { + userCanCreateGroups = Facade.getInstance().pesronHaveGroup(course.getId(), user.getPerson().getId()); + } + } + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return userCanCreateGroups; + } +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/CourseActions.java b/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/CourseActions.java index ce91a3a..a2b0a1e 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/CourseActions.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/CourseActions.java @@ -1,15 +1,15 @@ /** Copyright 2008, 2009 UFPE - Universidade Federal de Pernambuco - + Este arquivo � parte do programa Amadeus Sistema de Gest�o de Aprendizagem, ou simplesmente Amadeus LMS - + O Amadeus LMS � um software livre; voc� pode redistribui-lo e/ou modifica-lo dentro dos termos da Licen�a P�blica Geral GNU como publicada pela Funda��o do Software Livre (FSF); na vers�o 2 da Licen�a. - + Este programa � distribu�do na esperan�a que possa ser �til, mas SEM NENHUMA GARANTIA; sem uma garantia impl�cita de ADEQUA��O a qualquer MERCADO ou APLICA��O EM PARTICULAR. Veja a Licen�a P�blica Geral GNU para maiores detalhes. - + Voc� deve ter recebido uma c�pia da Licen�a P�blica Geral GNU, sob o t�tulo "LICENCA.txt", junto com este programa, se n�o, escreva para a Funda��o do Software Livre (FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -**/ + **/ package br.ufpe.cin.amadeus.amadeus_web.struts.action; @@ -26,6 +26,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Random; import java.util.Set; import javax.servlet.RequestDispatcher; @@ -43,18 +44,24 @@ import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.apache.struts.action.DynaActionForm; +import br.ufpe.cin.amadeus.amadeus_web.dao.content_managment.PersonRoleCourseDAO; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Answer; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Archive; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Choice; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Course; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.ExternalLink; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Forum; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Game; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Groups; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Keyword; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.LearningObject; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Log; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Material; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.MaterialRequest; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Module; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.PersonForum; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.PersonRoleCourse; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Person_Groups; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Poll; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.ProfileType; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Role; @@ -68,12 +75,19 @@ import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.evaluation.Ques import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.evaluation.QuestionGap; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.evaluation.QuestionMultiple; import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.evaluation.QuestionTrueFalse; +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.evaluation.realized.EvaluationRealized; import br.ufpe.cin.amadeus.amadeus_web.domain.register.AccessInfo; import br.ufpe.cin.amadeus.amadeus_web.domain.register.MessengerMessage; import br.ufpe.cin.amadeus.amadeus_web.domain.register.Person; import br.ufpe.cin.amadeus.amadeus_web.exception.CourseInvalidException; import br.ufpe.cin.amadeus.amadeus_web.facade.Facade; import br.ufpe.cin.amadeus.amadeus_web.permissions.content_management.CoursePermissions; +import br.ufpe.cin.amadeus.amadeus_web.syncronize.GroupPlusStatus; +import br.ufpe.cin.amadeus.amadeus_web.syncronize.LogVisualizacao; +import br.ufpe.cin.amadeus.amadeus_web.syncronize.PersonGroupPlusStatus; +import br.ufpe.cin.amadeus.amadeus_web.syncronize.RelatorioGrupo; +import br.ufpe.cin.amadeus.amadeus_web.syncronize.StudentHaveGroup; +import br.ufpe.cin.amadeus.amadeus_web.syncronize.TimelineItem; import br.ufpe.cin.amadeus.amadeus_web.util.DateValidator; import br.ufpe.cin.amadeus.amadeus_web.util.SocialInteractionMethods; import br.ufpe.cin.amadeus.amadeus_web.util.SocialInteractions; @@ -94,8 +108,18 @@ public class CourseActions extends SystemActions { private final String FORWARD_SHOW_VIEW_NEW_EXTERNAL_LINK = "fshowViewNewExternalLink"; private final String FORWARD_SHOW_VIEW_REPLICATE_COURSE = "fReplicateCourseStepOne"; private final String FORWARD_SHOW_VIEW_GRAPHIC = "fShowViewGraphic"; +<<<<<<< HEAD private final String FORWARD_SHOW_VIEW_SOCIAL_INTERACTION_MONITORING = "fShowViewSocialInteractionMonitoring"; private final String FORWARD_SHOW_VIEW_SOCIAL_INTERACTION_MONITORING_REPORTS = "fShowViewSocialInteractionMonitoringReports"; +======= + private final String FORWARD_SHOW_VIEW_GROUPS = "fShowViewGroups"; + private final String FORWARD_SHOW_VIEW_GROUPS_RELATORIO = "fShowViewGroupsRelatorio"; + private final String FORWARD_SHOW_GROUP_DAY_TIMELINE = "fShowGroupDayTimeline"; + private final String FORWARD_SHOW_PERSON_DAY_TIMELINE = "fShowPersonDayTimeline"; + private final String FORWARD_SHOW_VIEW_GROUP_TIMELINE = "fShowViewGroupTimeline"; + private final String FORWARD_SHOW_VIEW_PERSON_TIMELINE = "fShowViewPersonTimeline"; + private final String FORWARD_SHOW_VIEW_ONE_GROUP = "fShowViewOneGroup"; +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 @Override protected Map getKeyMethodMap() { @@ -113,10 +137,10 @@ public class CourseActions extends SystemActions { map.put("viewCourse.registration", "viewCourse"); map.put("course.delete", "deleteCourse"); map.put("course.viewDeleteConfirmation", "viewDeleteCourseConfirmation"); - - + + map.put("course.unregisterStudentCourse", "unregisterStudentCourse"); - + map.put("course.showViewCourseParticipants", "showViewCourseParticipants"); map.put("course.showViewCourse", "showViewCourse"); map.put("course.showViewCourseNotLogged", "showViewCourseNotLogged"); @@ -127,15 +151,33 @@ public class CourseActions extends SystemActions { map.put("course.showViewShowModules", "showViewShowModules"); map.put("course.showViewCourseEvaluations", "showViewCourseEvaluations"); map.put("course.showViewGraphic", "showViewGraphic"); +<<<<<<< HEAD map.put("course.showViewSendMail", "showViewSendMail"); map.put("course.sendMailForCourseParticipants", "sendMailForCourseParticipants"); map.put("course.changeTeacher", "changeTeacher"); map.put("course.viewChangeTeacher", "viewChangeTeacher"); map.put("course.sendMailForCourseParticipants", "sendMailForCourseParticipants"); +======= + map.put("course.showViewGroups", "showViewGroups"); + map.put("course.showViewOneGroup", "showViewOneGroup"); + map.put("course.habilitarDesabilitarCriarGrupos", "habilitarDesabilitarCriarGrupos"); + map.put("course.showViewSendMail", "showViewSendMail"); + map.put("course.sendMailForCourseParticipants", "sendMailForCourseParticipants"); + map.put("course.changeTeacher", "changeTeacher"); + map.put("course.viewChangeTeacher", "viewChangeTeacher"); + map.put("course.sendMailForCourseParticipants", "sendMailForCourseParticipants"); + map.put("course.showViewGroupDayTimeline","showViewGroupDayTimeline"); + map.put("course.showViewPersonDayTimeline","showViewPersonDayTimeline"); + map.put("course.showViewCreateGroup","showViewCreateGroup"); + map.put("course.showViewGroupTimeline", "showViewGroupTimeline"); + map.put("course.showViewPersonTimeline", "showViewPersonTimeline"); + map.put("course.showViewGroupsRelatorio", "showViewRelatorioAtividade"); + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 return map; } - + public ActionForward changeTeacher(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { @@ -157,15 +199,15 @@ public class CourseActions extends SystemActions { return null; } - + public ActionForward replicateCourseStepOne(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws CourseInvalidException, IOException { - + DynaActionForm myForm = (DynaActionForm) form; - + String lala = myForm.getString("keywords"); - + ActionMessages messages = new ActionMessages(); int id = (Integer) myForm.get("courseId"); Course newCourse = new Course(); @@ -204,7 +246,7 @@ public class CourseActions extends SystemActions { Date finalReg = fr.getDate(); Date initCourse = ic.getDate(); Date finalCourse = fc.getDate(); - + if (initReg.after(finalReg)) { messages.add("invalidDate", new ActionMessage("errors.initialRegistrationDate")); } else if (initCourse.after(finalCourse)) { @@ -223,7 +265,7 @@ public class CourseActions extends SystemActions { Set keywords = new HashSet(); String rawKeywords = myForm.getString("keywords"); - + if(rawKeywords != null) { String[] keywordsOfCourse = rawKeywords.split(","); for (String kw : keywordsOfCourse) { @@ -239,15 +281,15 @@ public class CourseActions extends SystemActions { keywords.add(keyword); } } - + } } - + synchronized (this) { facade.incrementPopularityKeyword(c.getId(), keywords); facade.decrementPopularityKeyword(c.getId(), keywords); } - + newCourse.setKeywords(keywords); if (!messages.isEmpty()) { @@ -288,7 +330,7 @@ public class CourseActions extends SystemActions { materialRequest.setModule(newModule); newModule.getMaterialRequests().add(materialRequest); } - + for (int j = 0; j < c.getModules().get(i).getMaterials().size(); j++) { //System.out.println("j2: "+j); Material material = new Material(); @@ -303,7 +345,7 @@ public class CourseActions extends SystemActions { material.setArchive(newArchive); newModule.getMaterials().add(material); } - + for (int j = 0; j < c.getModules().get(i).getPolls().size(); j++) { //System.out.println("j3: "+j); Poll newPoll = new Poll(); @@ -322,22 +364,22 @@ public class CourseActions extends SystemActions { newChoice.setPoll(newPoll); newModule.getPolls().get(j).getChoices().add(newChoice); } - + } - + for (int j = 0; j < c.getModules().get(i).getForums().size(); j++) { Forum newForum = new Forum(); - + newForum.setName(c.getModules().get(i).getForums().get(j).getName()); newForum.setDescription(c.getModules().get(i).getForums().get(j).getDescription()); newForum.setCreationDate(new Date()); newForum.setModule(newModule); newModule.getForums().add(newForum); } - + for (int j = 0; j < c.getModules().get(i).getExternalLinks().size(); j++) { ExternalLink newExternalLink = new ExternalLink(); - + newExternalLink.setName(c.getModules().get(i).getExternalLinks().get(j).getName()); newExternalLink.setUrl(c.getModules().get(i).getExternalLinks().get(j).getUrl()); newExternalLink.setDescription(c.getModules().get(i).getExternalLinks().get(j).getDescription()); @@ -345,50 +387,50 @@ public class CourseActions extends SystemActions { newExternalLink.setModule(newModule); newModule.getExternalLinks().add(newExternalLink); } - + for (int j = 0; j < c.getModules().get(i).getVideos().size(); j++) { VideoIriz newVideo = new VideoIriz(); - + newVideo.setName(c.getModules().get(i).getVideos().get(j).getName()); newVideo.setDescription(c.getModules().get(i).getVideos().get(j).getDescription()); newVideo.setYoutubeId(c.getModules().get(i).getVideos().get(j).getYoutubeId()); newVideo.setCreationDate(new Date()); newVideo.setModule(newModule); - + newModule.getVideos().add(newVideo); - + } - + for (int j = 0; j < c.getModules().get(i).getLearningObjects().size(); j++) { LearningObject newLearningObject = new LearningObject(); - + newLearningObject.setName(c.getModules().get(i).getLearningObjects().get(j).getName()); newLearningObject.setDescription(c.getModules().get(i).getLearningObjects().get(j).getDescription()); newLearningObject.setUrl(c.getModules().get(i).getLearningObjects().get(j).getUrl()); newLearningObject.setCreationDate(new Date()); newLearningObject.setModule(newModule); - + newModule.getLearningObjects().add(newLearningObject); } - + for (int j = 0; j < c.getModules().get(i).getEvaluations().size(); j++) { Evaluation newEvaluation = new Evaluation(); - + newEvaluation.setDescription(c.getModules().get(i).getEvaluations().get(j).getDescription()); newEvaluation.setStart(new Date()); newEvaluation.setFinish(new Date()); newEvaluation.setAfterdeadlineachieved(c.getModules().get(i).getEvaluations().get(j).isAfterdeadlineachieved()); - - - - + + + + for (int k = 0; k < c.getModules().get(i).getEvaluations().get(j).getQuestions().size(); k++) { Question question = c.getModules().get(i).getEvaluations().get(j).getQuestions().get(k); - + if (question instanceof QuestionAssociation){ QuestionAssociation oldQuestion = (QuestionAssociation)question; QuestionAssociation newQuestion = new QuestionAssociation(); - + newQuestion.setDescription(oldQuestion.getDescription()); //newQuestion.setAssociations(oldQuestion.getAssociations()); newQuestion.setCourse(newCourse); @@ -396,29 +438,29 @@ public class CourseActions extends SystemActions { newEvaluation.getQuestions().add((Question)newQuestion); newQuestion.getEvaluations().add(newEvaluation); } - + if (question instanceof QuestionGap){ QuestionGap oldQuestionGap = (QuestionGap)question; QuestionGap newQuestionGap = new QuestionGap(); - + newQuestionGap.setDescription(oldQuestionGap.getDescription()); newQuestionGap.setCourse(newCourse); newCourse.getQuestions().add(newQuestionGap); newEvaluation.getQuestions().add((Question)newQuestionGap); newQuestionGap.getEvaluations().add(newEvaluation); } - + if(question instanceof QuestionDiscursive){ QuestionDiscursive oldQuestionDiscursive = (QuestionDiscursive)question; QuestionDiscursive newQuestionDiscursive = new QuestionDiscursive(); - + newQuestionDiscursive.setDescription(oldQuestionDiscursive.getDescription()); newQuestionDiscursive.setCourse(newCourse); newCourse.getQuestions().add(newQuestionDiscursive); newEvaluation.getQuestions().add((Question)newQuestionDiscursive); newQuestionDiscursive.getEvaluations().add(newEvaluation); } - + if(question instanceof QuestionMultiple){ QuestionMultiple oldQuestionMultiple = (QuestionMultiple)question; QuestionMultiple newQuestionMultiple = new QuestionMultiple(); @@ -435,7 +477,7 @@ public class CourseActions extends SystemActions { newQuestionMultiple.getEvaluations().add(newEvaluation); } } - + if(question instanceof QuestionTrueFalse){ QuestionTrueFalse oldQuestionTrueFalse = (QuestionTrueFalse)question; QuestionTrueFalse newQuestionTrueFalse = new QuestionTrueFalse(); @@ -444,34 +486,34 @@ public class CourseActions extends SystemActions { newQuestionTrueFalse.getEvaluations().add(newEvaluation); newEvaluation.getQuestions().add((Question)newQuestionTrueFalse); newCourse.getQuestions().add(newQuestionTrueFalse); - + for (int l = 0; l < oldQuestionTrueFalse.getAlternatives().size(); l++) { Alternative newAlternative = new Alternative(); newAlternative.setCorrect(oldQuestionTrueFalse.getAlternatives().get(l).isCorrect()); newAlternative.setDescription(oldQuestionTrueFalse.getAlternatives().get(l).getDescription()); newAlternative.setQuestion(newQuestionTrueFalse); newQuestionTrueFalse.getAlternatives().add(newAlternative); - + } - + } - + } - + newEvaluation.setModule(newModule); newModule.getEvaluations().add(newEvaluation); newEvaluation.setEvaluationsRealized(null); - + } - + moduleList.add(newModule); - + } newCourse.setModules(moduleList); - + Role teacherRole = facade.searchRoleByConstant(RoleType.TEACHER); - + PersonRoleCourse prc = new PersonRoleCourse(); prc.setCourse(newCourse); prc.setPerson(newCourse.getProfessor()); @@ -480,17 +522,17 @@ public class CourseActions extends SystemActions { newCourse.getPersonsRolesCourse().add(prc); facade.validateCourseStepOne(newCourse); facade.insertCourse(newCourse); - + facade.flush(); } catch (CourseInvalidException e) { messages.add("confirmationCourse", new ActionMessage(e.getMessage())); saveErrors(request, messages); return mapping.getInputForward(); } - + response.sendRedirect("course.do?method=showViewCourse&courseId="+newCourse.getId()); return null; - + } public ActionForward insertCourseStepOne(ActionMapping mapping, @@ -501,7 +543,7 @@ public class CourseActions extends SystemActions { ActionMessages messages = new ActionMessages(); AccessInfo user = (AccessInfo) request.getSession() - .getAttribute("user"); + .getAttribute("user"); Person p = new Person(); if (user != null) { p = user.getPerson(); @@ -517,15 +559,15 @@ public class CourseActions extends SystemActions { String initialRegistrationDay = (String) myForm.get("initialRegistrationDay"); String initialRegistrationMonth = (String) myForm.get("initialRegistrationMonth"); String initialRegistrationYear = (String) myForm.get("initialRegistrationYear"); - + String finalRegistrationDay = (String) myForm.get("finalRegistrationDay"); String finalRegistrationMonth = (String) myForm.get("finalRegistrationMonth"); String finalRegistrationYear = (String) myForm.get("finalRegistrationYear"); - + String initialCourseDay = (String) myForm.get("initialCourseDay"); String initialCourseMonth = (String) myForm.get("initialCourseMonth"); String initialCourseYear = (String) myForm.get("initialCourseYear"); - + String finalCourseDay = (String) myForm.get("finalCourseDay"); String finalCourseMonth = (String) myForm.get("finalCourseMonth"); String finalCourseYear = (String) myForm.get("finalCourseYear"); @@ -550,7 +592,7 @@ public class CourseActions extends SystemActions { Date finalReg = fr.getDate(); Date initCourse = ic.getDate(); Date finalCourse = fc.getDate(); - + if (initReg.before(today)) messages.add("invalidDate", new ActionMessage("errors.todayRegistrationDate")); else if (initReg.after(finalReg)) @@ -584,21 +626,21 @@ public class CourseActions extends SystemActions { return mapping.findForward(FORWARD_INSERT_COURSE_STEP_TWO); } - + public ActionForward viewChangeTeacher(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws CourseInvalidException, IOException, Exception { - + ActionForward forward = null; int courseId = Integer.parseInt(request.getParameter("courseId")); - + Course course = facade.getCoursesById(courseId); boolean isOwner = false; - + AccessInfo loggedUser = (AccessInfo) request.getSession().getAttribute("user"); loggedUser = facade.searchUserById(loggedUser.getId()); - + ProfileType loggedProfile = loggedUser.getTypeProfile(); @@ -608,7 +650,7 @@ public class CourseActions extends SystemActions { isOwner = true; } } - + if (loggedProfile == ProfileType.ADMIN) { isOwner = true; } @@ -621,7 +663,7 @@ public class CourseActions extends SystemActions { }else{ forward = this.showViewMenu(mapping, form, request, response); } - + return forward; } @@ -634,10 +676,10 @@ public class CourseActions extends SystemActions { Course c = (Course) request.getSession().getAttribute("incompleteCourse"); request.getSession().removeAttribute("incompleteCourse"); - + Set keywords = new HashSet(); String rawKeywords = myForm.getString("keywords"); - + if(rawKeywords != null) { String[] keywordsOfCourse = rawKeywords.split(","); for (String kw : keywordsOfCourse) { @@ -653,15 +695,15 @@ public class CourseActions extends SystemActions { keywords.add(keyword); } } - + } } - + synchronized (this) { facade.incrementPopularityKeyword(c.getId(), keywords); facade.decrementPopularityKeyword(c.getId(), keywords); } - + c.setKeywords(keywords); c.setModules(new ArrayList()); @@ -672,27 +714,27 @@ public class CourseActions extends SystemActions { prc.setCourse(c); prc.setPerson(c.getProfessor()); prc.setRole(teacherRole); - + c.getPersonsRolesCourse().add(prc); - + facade.insertCourse(c); - + facade.flush(); } catch (CourseInvalidException e) { messages.add("confirmationCourse",new ActionMessage(e.getMessage())); saveErrors(request, messages); return mapping.getInputForward(); } - + response.sendRedirect("course.do?method=showViewShowModules&idCourse="+c.getId()); - + return null; } @SuppressWarnings("unchecked") public ActionForward searchCourse(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) - throws Exception { + throws Exception { DynaActionForm dyna = (DynaActionForm) form; String courseName = dyna.getString("courseName").trim(); System.out.println("LALA"); @@ -700,16 +742,16 @@ public class CourseActions extends SystemActions { if (!courseName.equals("") && courseName != null) { results = facade.getCoursesByRule(courseName); if(results[0].size() == 0 && results[1].size() == 0 - && results[2].size() == 0 && results[3].size() == 0 ){ + && results[2].size() == 0 && results[3].size() == 0 ){ results = facade.getCoursesByRule(facade.searchString(courseName)); } - + } - - + + int numberOfResults = results[0].size() + results[1].size() - + results[2].size() + results[3].size(); + + results[2].size() + results[3].size(); int numberOfPages = 1; if (numberOfResults % 10 == 0) { numberOfPages = numberOfResults / 10; @@ -719,7 +761,7 @@ public class CourseActions extends SystemActions { List[][] resultsClassified = new ArrayList[4][numberOfResults]; resultsClassified = facade - .classifyCoursesByPage(results, numberOfPages); + .classifyCoursesByPage(results, numberOfPages); request.setAttribute("criteria", courseName); request.setAttribute("foundCourses", resultsClassified); @@ -732,51 +774,51 @@ public class CourseActions extends SystemActions { public ActionForward viewCourse(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) - throws Exception { - + throws Exception { + DynaActionForm myForm = (DynaActionForm) form; - + Course c = facade.getCoursesById((Integer) myForm.get("id")); - + AccessInfo user = (AccessInfo) request.getSession().getAttribute("user"); user = facade.searchUserById(user.getId()); Person person = user.getPerson(); - + facade.registerStudentCourse(c, person); facade.updateCourse(c); - + return this.showViewMenu(mapping, myForm, request, response); } public ActionForward unregisterStudentCourse(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) - throws Exception { - + throws Exception { + Integer idStudent = Integer.valueOf(request.getParameter("studentId")); Person student = facade.getPersonByID(idStudent); - + Integer idCourse = Integer.valueOf(request.getParameter("courseId")); Course course = facade.getCoursesById(idCourse); - + facade.unregisterStudentCourse(course, student); facade.updateCourse(course); request.setAttribute("courseId", idCourse); - + return this.showViewCourseParticipants(mapping, form, request, response); } - + public ActionForward editCourse(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) - throws Exception { - - - + throws Exception { + + + DynaActionForm myForm = (DynaActionForm) form; ActionMessages messages = new ActionMessages(); int id = (Integer) myForm.get("id"); - + Course c = facade.getCoursesById(id); c.setName(myForm.getString("name")); c.setObjectives(myForm.getString("objectives")); @@ -812,7 +854,7 @@ public class CourseActions extends SystemActions { Date finalReg = fr.getDate(); Date initCourse = ic.getDate(); Date finalCourse = fc.getDate(); - + if (initReg.after(finalReg)) { messages.add("invalidDate", new ActionMessage("errors.initialRegistrationDate")); } else if (initCourse.after(finalCourse)) { @@ -831,7 +873,7 @@ public class CourseActions extends SystemActions { Set keywords = new HashSet(); String rawKeywords = myForm.getString("keywords"); - + if(rawKeywords != null) { String[] keywordsOfCourse = rawKeywords.split(","); for (String kw : keywordsOfCourse) { @@ -847,15 +889,15 @@ public class CourseActions extends SystemActions { keywords.add(keyword); } } - + } } - + synchronized (this) { facade.incrementPopularityKeyword(c.getId(), keywords); facade.decrementPopularityKeyword(c.getId(), keywords); } - + c.setKeywords(keywords); if (!messages.isEmpty()) { @@ -872,9 +914,9 @@ public class CourseActions extends SystemActions { saveErrors(request, messages); return mapping.getInputForward(); } - + response.sendRedirect("course.do?method=showViewCourse&courseId="+c.getId()); - + return null; } @@ -1015,36 +1057,36 @@ public class CourseActions extends SystemActions { public ActionForward cancelEdition(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) - throws Exception { + throws Exception { return mapping.findForward("cancel"); } - + public ActionForward deleteCourse(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) - throws Exception { - + throws Exception { + int courseId = Integer.valueOf(request.getParameter("courseId")); - + Course course = facade.getCoursesById(courseId); - + AccessInfo loggedUser = (AccessInfo) request.getSession().getAttribute("user"); loggedUser = facade.searchUserById(loggedUser.getId()); - + ProfileType loggedProfile = loggedUser.getTypeProfile(); - + boolean isOwner = false; - + Role userRole = facade.getRoleByPersonInCourse(loggedUser.getPerson(), course); if(userRole != null){ if(userRole.getRoleType() == RoleType.TEACHER || userRole.getRoleType() == RoleType.ASSISTANT){ isOwner = true; } } - + if (loggedProfile == ProfileType.ADMIN) { isOwner = true; } - + if(isOwner) { for (Keyword k : course.getKeywords()) { k.setPopularity(k.getPopularity()-1); @@ -1052,23 +1094,23 @@ public class CourseActions extends SystemActions { facade.deleteCourse(course); facade.deleteKeywordsOrphan(); } - + return this.showViewMenu(mapping, form, request, response); } - + public ActionForward viewReplicateCourse(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - + ActionForward forward = null; - + int courseId = Integer.valueOf(request.getParameter("courseId")); Course course = facade.getCoursesById(courseId); - + boolean isOwner = false; - + AccessInfo loggedUser = (AccessInfo) request.getSession().getAttribute("user"); loggedUser = facade.searchUserById(loggedUser.getId()); - + ProfileType loggedProfile = loggedUser.getTypeProfile(); @@ -1078,26 +1120,26 @@ public class CourseActions extends SystemActions { isOwner = true; } } - + if (loggedProfile == ProfileType.ADMIN) { isOwner = true; } - + if(isOwner) { ArrayList wordList = new ArrayList(); - - - + + + request.setAttribute("course", course); Set setKeywork = course.getKeywords(); Iterator it = setKeywork.iterator(); - + while(it.hasNext()){ wordList.add(it.next().getName()); } - + String keywordStr = new String(); - + for (int i = 0; i < wordList.size(); i++) { keywordStr = keywordStr.concat(wordList.get(i)+", "); } @@ -1106,77 +1148,82 @@ public class CourseActions extends SystemActions { } else { forward = this.showViewMenu(mapping, form, request, response); } - + return forward; - + } public ActionForward viewDeleteCourseConfirmation(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionForward forward = null; - + int courseId = Integer.valueOf(request.getParameter("courseId")); - + Course course = facade.getCoursesById(courseId); - + AccessInfo loggedUser = (AccessInfo) request.getSession().getAttribute("user"); loggedUser = facade.searchUserById(loggedUser.getId()); - + ProfileType loggedProfile = loggedUser.getTypeProfile(); - + boolean isOwner = false; - + Role userRole = facade.getRoleByPersonInCourse(loggedUser.getPerson(), course); if(userRole != null){ if(userRole.getRoleType() == RoleType.TEACHER || userRole.getRoleType() == RoleType.ASSISTANT){ isOwner = true; } } - + if (loggedProfile == ProfileType.ADMIN) { isOwner = true; } - + if(isOwner) { request.setAttribute("course", course); forward = mapping.findForward(FORWARD_VIEW_DELETE_CONFIRMATION); } else { forward = this.showViewMenu(mapping, form, request, response); } - + return forward; } - + public ActionForward showViewCourse(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionForward forward = null; - + if(SystemActions.isLoggedUser(request)) { AccessInfo user = (AccessInfo) request.getSession().getAttribute("user"); user = facade.searchUserById(user.getId()); - + int courseId; - - if(request.getParameter("courseId") == null) { - courseId = (Integer) request.getAttribute("courseId"); - } else { - courseId = Integer.parseInt(request.getParameter("courseId")); - } - + + if(request.getParameter("courseId") == null) { + courseId = (Integer) request.getAttribute("courseId"); + } else { + courseId = Integer.parseInt(request.getParameter("courseId")); + } + Course course = facade.getCoursesById(courseId); List teachers = facade.getTeachersByCourse(course); List assistants = facade.listAssistantsByCourse(course); +<<<<<<< HEAD List participants = facade.listStudentsByCourse(course); //added by Nailson List messagesUnread = facade.getAllUnreadByPerson(facade.getPersonByLogin(user.getLogin())); //added by Nailson +======= + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 int studentsNumber = facade.getNumberOfStudentsInCourse(course); course.setNumberOfStudentsInCourse(studentsNumber); - + Set keywords = course.getKeywords(); - + boolean canRegisterUser = false; +<<<<<<< HEAD boolean canMonitorSocialInteractions = false; if (facade.canRegisterUser(user, course)) { @@ -1186,8 +1233,15 @@ public class CourseActions extends SystemActions { canMonitorSocialInteractions = true; } +======= + + if (facade.canRegisterUser(user, course)) { + canRegisterUser = true; + } + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 Role userRoleInCourse = Facade.getInstance().getRoleByPersonInCourse(user.getPerson(), course); - + SystemActions.setMenuPermissionsForUserInRequest(request, course); request.setAttribute("userRoleInCourse", ( userRoleInCourse != null) ? userRoleInCourse.getRoleType() : null ); request.setAttribute("canRegisterUser", canRegisterUser); @@ -1198,29 +1252,29 @@ public class CourseActions extends SystemActions { request.setAttribute("participants", participants); //added by Nailson request.setAttribute("messagesUnread", messagesUnread); //added by Nailson request.setAttribute("keywords", keywords); - + forward = mapping.findForward(FORWARD_SHOW_VIEW_COURSE); } else { forward = this.showViewCourseNotLogged(mapping, form, request, response); } - + return forward; } public ActionForward showViewCourseNotLogged(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - int courseId = Integer.parseInt(request.getParameter("courseId")); - + int courseId = Integer.parseInt(request.getParameter("courseId")); + Course course = facade.getCoursesById(courseId); List teachers = facade.getTeachersByCourse(course); int studentsNumber = facade.getNumberOfStudentsInCourse(course); course.setNumberOfStudentsInCourse(studentsNumber); - + Set keywords = course.getKeywords(); List assistants = facade.listAssistantsByCourse(course); - + request.setAttribute("course", course); request.setAttribute("teachers", teachers); request.setAttribute("assistants", assistants); @@ -1229,63 +1283,72 @@ public class CourseActions extends SystemActions { return mapping.findForward(FORWARD_SHOW_VIEW_COURSE_NOT_LOGGED); } - + public ActionForward showViewCourseParticipants(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - + ActionForward forward = null; - + if(SystemActions.isLoggedUser(request)){ AccessInfo user = (AccessInfo) request.getSession().getAttribute("user"); user = facade.searchUserById(user.getId()); - int courseId = Integer.parseInt(request.getParameter("courseId")); - - Course course = facade.getCoursesById(courseId); - - Role userRoleInCourse = facade.getRoleByPersonInCourse(user.getPerson(), course); - + int courseId = Integer.parseInt(request.getParameter("courseId")); + + Course course = facade.getCoursesById(courseId); + + Role userRoleInCourse = facade.getRoleByPersonInCourse(user.getPerson(), course); + List participants = facade.listStudentsByCourse(course); List teachers = facade.listTeachersByCourse(course); List assistants = facade.listAssistantsByCourse(course); +<<<<<<< HEAD List messagesUnread = facade.getAllUnreadByPerson(facade.getPersonByLogin(user.getLogin())); //added by Nailson +======= + + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 SystemActions.setMenuPermissionsForUserInRequest(request, course); request.setAttribute("course", course); request.setAttribute("participants", participants); request.setAttribute("teachers", teachers); request.setAttribute("assistants", assistants); request.setAttribute("userRoleInCourse", userRoleInCourse); +<<<<<<< HEAD request.setAttribute("messagesUnread", messagesUnread); //added by Nailson +======= + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 forward = mapping.findForward(FORWARD_SHOW_VIEW_COURSE_PARTICIPANTS); } else { forward = showViewWelcome(mapping, form, request, response); } - + return forward; } - + public ActionForward showViewEditCourse(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - + ActionForward forward = null; - + if(SystemActions.isLoggedUser(request)) { String courseIdStr = request.getParameter("courseId"); - + if(courseIdStr == null){ courseIdStr = request.getParameter("id"); } - - int courseId = Integer.parseInt(courseIdStr); - + + int courseId = Integer.parseInt(courseIdStr); + Course course = facade.getCoursesById(courseId); - + ArrayList teacherList = (ArrayList) facade.searchUsers("", 2, 0); //System.out.println("########: " + teacherList.get(0).getLogin()); - + Set keywords = course.getKeywords(); Iterator ikeywords = keywords.iterator(); String keywordsStr = ""; @@ -1298,10 +1361,10 @@ public class CourseActions extends SystemActions { keywordsStr = keywordsStr + ikeywords.next().getName(); } } - + GregorianCalendar gc = new GregorianCalendar(); HashMap data = new HashMap(); - + gc.setTime(course.getInitialRegistrationDate()); data.put("initialRegistrationDay", gc.get(Calendar.DAY_OF_MONTH)); data.put("initialRegistrationMonth", gc.get(Calendar.MONTH) + 1); @@ -1318,29 +1381,30 @@ public class CourseActions extends SystemActions { data.put("finalCourseDay", gc.get(Calendar.DAY_OF_MONTH)); data.put("finalCourseMonth", gc.get(Calendar.MONTH) + 1); data.put("finalCourseYear", gc.get(Calendar.YEAR)); - + boolean canAssistanceRequest = false; - + AccessInfo loggedUser = (AccessInfo) request.getSession().getAttribute("user"); loggedUser = facade.searchUserById(loggedUser.getId()); - + if(facade.canAssistanceRequest(loggedUser.getPerson(), course)) { canAssistanceRequest = true; } - + request.setAttribute("canAssistanceRequest", canAssistanceRequest); request.setAttribute("data", data); request.setAttribute("keywordsStr", keywordsStr); request.setAttribute("course", course); request.setAttribute("teacherList", teacherList); - + forward = mapping.findForward(FORWARD_SHOW_VIEW_EDIT_COURSE); } else { forward = new SystemActions().showViewWelcome(mapping, form, request, response); } - + return forward; } +<<<<<<< HEAD public ActionForward showViewSocialInteractionMonitoring(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { @@ -1415,23 +1479,27 @@ public class CourseActions extends SystemActions { return forward; } +======= + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 public ActionForward showViewShowModules(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - + ActionForward forward = null; - + if(SystemActions.isLoggedUser(request)) { AccessInfo user = (AccessInfo) request.getSession().getAttribute("user"); user = facade.searchUserById(user.getId()); - + int idCourse = Integer.parseInt(request.getParameter("idCourse")); - + Course course = facade.getCoursesById(idCourse); - + if(CoursePermissions.userCanShowViewShowModules(request, course)) { Role userRoleInCourse = Facade.getInstance().getRoleByPersonInCourse(user.getPerson(), course); - + List modules = course.getModules(); +<<<<<<< HEAD List forunsperson = user.getPerson().getForuns(); @@ -1440,18 +1508,27 @@ public class CourseActions extends SystemActions { List participants = facade.listStudentsByCourse(course); //added by Nailson List messagesUnread = facade.getAllUnreadByPerson(facade.getPersonByLogin(user.getLogin())); //added by Nailson +======= + + List assistances = facade.getAssistanceInCourse(course); + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 SystemActions.setMenuPermissionsForUserInRequest(request, course); request.setAttribute("userRoleInCourse", ( userRoleInCourse != null) ? userRoleInCourse.getRoleType() : null ); request.setAttribute("course", course); request.setAttribute("modules", modules); request.setAttribute("forunsperson",forunsperson); request.setAttribute("assistants", assistances); +<<<<<<< HEAD request.setAttribute("teachers", teachers); //added by Nailson request.setAttribute("participants", participants); //added by Nailson request.setAttribute("messagesUnread", messagesUnread); //added by Nailson +======= + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 forward = mapping.findForward(FORWARD_SHOW_VIEW_SHOW_MODULES); } else { forward = SystemActions.showViewAccessDenied(mapping, form, request, response); @@ -1459,26 +1536,26 @@ public class CourseActions extends SystemActions { } else { forward = this.showViewWelcome(mapping, form, request, response); } - + return forward; } - + public ActionForward showViewCourseEvaluations(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - + ActionForward forward = null; - + if(SystemActions.isLoggedUser(request)) { int courseId = Integer.parseInt(request.getParameter("courseId")); Course course = facade.getCoursesById(courseId); - + if(CoursePermissions.userCanShowViewCourseEvaluations(request, course)) { List participants = facade.listStudentsByCourse(course); - + SystemActions.setMenuPermissionsForUserInRequest(request, course); request.setAttribute("participants", participants); request.setAttribute("course", course); - + forward = mapping.findForward(FORWARD_SHOW_VIEW_COURSE_EVALUATIONS); } else { forward = SystemActions.showViewAccessDenied(mapping, form, request, response); @@ -1486,19 +1563,19 @@ public class CourseActions extends SystemActions { } else { forward = this.showViewWelcome(mapping, form, request, response); } - + return forward; } - + public ActionForward showViewSendMail(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - + ActionForward forward = null; - + if(SystemActions.isLoggedUser(request)) { int courseId = Integer.parseInt(request.getParameter("courseId")); Course course = facade.getCoursesById(courseId); - + if(CoursePermissions.userCanShowViewSendMail(request, course)) { request.setAttribute("course", course); forward = mapping.findForward(FORWARD_SHOW_VIEW_SEND_MAIL); @@ -1508,33 +1585,33 @@ public class CourseActions extends SystemActions { } else { forward = this.showViewWelcome(mapping, form, request, response); } - + return forward; } - + public ActionForward sendMailForCourseParticipants(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - + ActionForward forward = null; - + if(SystemActions.isLoggedUser(request)) { int courseId = Integer.parseInt(request.getParameter("courseId")); Course course = facade.getCoursesById(courseId); - + if(CoursePermissions.userCanSendMailForCourseParticipants(request, course)) { List emails = null; String subject = request.getParameter("subject"); String message = request.getParameter("message"); - + emails = facade.getEmailUsersOfCourse(courseId); - + facade.sendMail(emails, subject, message); - + request.setAttribute("course", course); request.setAttribute("subject", subject); request.setAttribute("message", message); request.setAttribute("success", Boolean.TRUE); - + forward = mapping.findForward(FORWARD_SHOW_VIEW_SEND_MAIL); } else { forward = SystemActions.showViewAccessDenied(mapping, form, request, response); @@ -1542,10 +1619,815 @@ public class CourseActions extends SystemActions { } else { forward = this.showViewWelcome(mapping, form, request, response); } - + return forward; } + public ActionForward habilitarDesabilitarCriarGrupos (ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) throws Exception { + + int courseId = Integer.parseInt(request.getParameter("courseId")); + Course course = facade.getCoursesById(courseId); + + course.setFlag_habilitar_grupo(!course.isFlag_habilitar_grupo()); + + facade.updateCourse(course); + + return showViewGroups(mapping, form, request, response); + } + + public ActionForward showViewCreateGroup(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) throws Exception { + + + AccessInfo user = (AccessInfo) request.getSession().getAttribute("user"); + Person fundador = user.getPerson(); + + int courseId = Integer.parseInt(request.getParameter("courseId")); + Course course = facade.getCoursesById(courseId); + + Groups groups = new Groups(); + groups.setDate(new Date()); + groups.setName(request.getParameter("nomeCourse")); + groups.setFundador(fundador); + groups.setCurso(course); + + int qtdAlunos = Integer.parseInt(request.getParameter("qtdAlunos")); + + for(int i=0;i list = facade.getStudentsHaveGroup(course, user.getPerson()); + request.setAttribute("students", list); + } + else + { + List grupos = facade.getGroups(courseId); + request.setAttribute("viewCreateGroup", "2"); + + List gruposStatus = new ArrayList(); + + Module module = facade.getUltimoModulo(courseId); + + for(Groups g : grupos) + { + boolean status = verificarStatusModulo(g.getPersons(), module); + GroupPlusStatus groupPlusStatus = new GroupPlusStatus(g.getId(),g.getName(),g.getMembros().size(), status); + gruposStatus.add(groupPlusStatus); + } + request.setAttribute("groups", gruposStatus); + } + } + + request.setAttribute("domain", SystemActions.webSettings.getSystemGeneralDomain()); + forward = mapping.findForward(FORWARD_SHOW_VIEW_GROUPS); + + } + else + { + forward = SystemActions.showViewAccessDenied(mapping, form, request, response); + } + } + else + { + forward = this.showViewWelcome(mapping, form, request, response); + } + return forward; + } + + public ActionForward showViewRelatorioAtividade(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) throws Exception + { + ActionForward forward = null; + if(SystemActions.isLoggedUser(request)) { + int courseId = Integer.parseInt(request.getParameter("courseId")); + Course course = facade.getCoursesById(courseId); + + if(CoursePermissions.userCanViewGroups(request, course)) + { + List grupos = facade.getGroups(courseId); + List relatorios = new ArrayList(); + List modulos = new ArrayList(); + + boolean primeiraVez = true; + + for(Groups g : grupos) + { + List status = new ArrayList(); + + for(Module module : course.getModules()) + { + if(primeiraVez) + { + modulos.add(module.getName()); + } + + boolean moduleStatus = verificarStatusModulo(g.getPersons(), module); + + status.add(moduleStatus); + } + primeiraVez = false; + + RelatorioGrupo relatorioGrupo = new RelatorioGrupo(g.getName(), status); + relatorios.add(relatorioGrupo); + } + + request.setAttribute("domain", SystemActions.webSettings.getSystemGeneralDomain()); + request.setAttribute("modulos", modulos); + request.setAttribute("relatorios", relatorios); + + forward = mapping.findForward(FORWARD_SHOW_VIEW_GROUPS_RELATORIO); + } + else + { + forward = SystemActions.showViewAccessDenied(mapping, form, request, response); + } + } + else + { + forward = this.showViewWelcome(mapping, form, request, response); + } + return forward; + } + + public boolean verificarStatusModulo(List alunos, Module module) + { + boolean status = true; + + if(module != null) + { + List forums = module.getForums(); + List games = module.getGames(); + List enquetes = module.getPolls(); + List evaluations = module.getEvaluations(); + List materialRequests = module.getMaterialRequests(); + + for(int i=0; i < materialRequests.size() && status; i++) + { + MaterialRequest materialRequest = materialRequests.get(i); + status = verificarStatusPorMaterialRequest(new ArrayList(alunos), materialRequest); + } + + for(int i=0; i < evaluations.size() && status; i++) + { + Evaluation evaluation = evaluations.get(i); + status = verificarStatusPorEvaluation(new ArrayList(alunos), evaluation); + } + + for(int i=0; i < enquetes.size() && status; i++) + { + Poll enquete = enquetes.get(i); + status = verificarStatusPorEnquete(new ArrayList(alunos), enquete); + } + + for(int i=0; i < forums.size() && status; i++) + { + Forum forum = forums.get(i); + status = verificarStatusPorForum(new ArrayList(alunos), forum); + } + + for(int i=0; i < games.size() && status; i++) + { + Game game = games.get(i); + status = verificarStatusPorGame(new ArrayList(alunos), game); + } + } + + return status; + } + + public boolean verificarStatusPorGame(List alunos, Game game) + { + return facade.verificarStatusPorGame(alunos, game); + } + + public boolean verificarStatusPorForum(List alunos, Forum forum) + { + return facade.verificarStatusPorForum(alunos, forum); + } + + public boolean verificarStatusPorEnquete (List alunos, Poll enquete) + { + List respostas = enquete.getAnswers(); + boolean temTodos = false; + for(int i=0; i< respostas.size() && !temTodos; i++) + { + Answer resposta = respostas.get(i); + + Person alunoReposta = resposta.getPerson(); + + boolean achou = false; + for(int j=0; j < alunos.size() && !achou; j++) + { + Person aluno = alunos.get(j); + + if(aluno.getId() == alunoReposta.getId()) + { + alunos.remove(j); + achou = true; + } + } + + if(alunos.size() == 0) + { + temTodos = true; + } + + } + return temTodos; + } + + public boolean verificarStatusPorMaterialRequest (List alunos, MaterialRequest materialRequest) + { + List materiais = materialRequest.getMaterials(); + boolean temTodos = false; + for(int i=0; i< materiais.size() && !temTodos; i++) + { + Material material = materiais.get(i); + + Person alunoReposta = material.getAuthor(); + + boolean achou = false; + for(int j=0; j < alunos.size() && !achou; j++) + { + Person aluno = alunos.get(j); + + if(aluno.getId() == alunoReposta.getId()) + { + alunos.remove(j); + achou = true; + } + } + + if(alunos.size() == 0) + { + temTodos = true; + } + + } + return temTodos; + } + + public boolean verificarStatusPorEvaluation (List alunos, Evaluation evaluation) + { + List evaluationsRealized = evaluation.getEvaluationsRealized(); + boolean temTodos = false; + for(int i=0; i< evaluationsRealized.size() && !temTodos; i++) + { + EvaluationRealized evaluationRealized = evaluationsRealized.get(i); + + Person alunoReposta = evaluationRealized.getStudent(); + + boolean achou = false; + for(int j=0; j < alunos.size() && !achou; j++) + { + Person aluno = alunos.get(j); + + if(aluno.getId() == alunoReposta.getId()) + { + alunos.remove(j); + achou = true; + } + } + + if(alunos.size() == 0) + { + temTodos = true; + } + + } + return temTodos; + } + + public ActionForward showViewGroupDayTimeline (ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) throws Exception { + ActionForward forward = null; + + if(SystemActions.isLoggedUser(request)) { + int groupID = Integer.parseInt(request.getParameter("groupId")); + Groups groups = facade.getGroupsById(groupID); + String data = request.getParameter("data"); + + List list = facade.getLogsByDayAndGroup(data, groupID); + request.setAttribute("logs", list); + request.setAttribute("data", data); + request.setAttribute("nomeGrupo", groups.getName()); + + forward = mapping.findForward(FORWARD_SHOW_GROUP_DAY_TIMELINE); + } + else + { + forward = this.showViewWelcome(mapping, form, request, response); + } + return forward; + } + + public ActionForward showViewPersonDayTimeline (ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) throws Exception { + ActionForward forward = null; + + if(SystemActions.isLoggedUser(request)) { + int personID = Integer.parseInt(request.getParameter("personID")); + int groupID = Integer.parseInt(request.getParameter("groupID")); + Person person = facade.getPersonByID(personID); + Groups group = facade.getGroupsById(groupID); + String data = request.getParameter("data"); + + List list = facade.getLogsByDayAndPerson(data, groupID, personID); + request.setAttribute("logs", list); + request.setAttribute("data", data); + request.setAttribute("nomeGrupo", group.getName()); + request.setAttribute("idGrupo", groupID); + request.setAttribute("nomePessoa", person.getName()); + + forward = mapping.findForward(FORWARD_SHOW_PERSON_DAY_TIMELINE); + } + else + { + forward = this.showViewWelcome(mapping, form, request, response); + } + return forward; + } + + public ActionForward showViewOneGroup(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) throws Exception { + + ActionForward forward = null; + + if(SystemActions.isLoggedUser(request)) { + int courseId = Integer.parseInt(request.getParameter("courseId")); + Course course = facade.getCoursesById(courseId); + + if(CoursePermissions.userCanViewGroups(request, course)) { + SystemActions.setMenuPermissionsForUserInRequest(request, course); + + int groupID = Integer.parseInt(request.getParameter("groupID")); + + Groups groups = facade.getGroupsById(groupID); + + List list = new ArrayList(); + + Module module = facade.getUltimoModulo(courseId); + + for(Person_Groups aluno : groups.getMembros()) + { + List list2 = new ArrayList(); + list2.add(aluno.getPessoa()); + + boolean status = verificarStatusModulo(list2, module); + PersonGroupPlusStatus personGroupPlusStatus = new PersonGroupPlusStatus(aluno.getPessoa().getId(),aluno.getPessoa().getName(), aluno.getPapel(), status); + list.add(personGroupPlusStatus); + } + request.setAttribute("alunos", list); + + request.setAttribute("nomeGrupo", groups.getName()); + + request.setAttribute("group", groups); + + request.setAttribute("domain", SystemActions.webSettings.getSystemGeneralDomain()); + forward = mapping.findForward(FORWARD_SHOW_VIEW_ONE_GROUP); + + } + else + { + forward = SystemActions.showViewAccessDenied(mapping, form, request, response); + } + } + else + { + forward = this.showViewWelcome(mapping, form, request, response); + } + return forward; + } + + public ActionForward showViewGraphic(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) throws Exception { + + ActionForward forward = null; + + if(SystemActions.isLoggedUser(request)) { + + int courseId = Integer.parseInt(request.getParameter("courseId")); + Course course = facade.getCoursesById(courseId); + + + if(CoursePermissions.userCanViewGraphic(request, course)) { + SystemActions.setMenuPermissionsForUserInRequest(request, course); + + String graphic = request.getParameter("graphic"); + Integer moduleSel = Integer.parseInt(request.getParameter("moduleSel")); + Integer idAluno = Integer.parseInt(request.getParameter("idAluno")); + Integer idGame = Integer.parseInt(request.getParameter("idGame")); + Integer idForum;// = Integer.parseInt(request.getParameter("idForum")); + + request.setAttribute("course", course); + request.setAttribute("graphic", graphic); + request.setAttribute("moduleSel", moduleSel); + request.setAttribute("idAluno", idAluno); + request.setAttribute("idGame", idGame); + //request.setAttribute("idForum", idForum); + + if(graphic.equals("g1")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + String data = facade.getJSONArrayModuleGameTotalTime(moduleSel); + request.setAttribute("xml", data); + } + } + else if(graphic.equals("g2")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + String data = facade.getJSONArrayModuleGameTimePerDay(moduleSel); + request.setAttribute("xml", data); + } + } + else if(graphic.equals("g3")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + String data = facade.getJSONArrayTagCloudForum(moduleSel); + request.setAttribute("xml", data); + } + } + else if(graphic.equals("g4")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + String data = facade.getJSONArrayPostsPerModule(moduleSel); + request.setAttribute("xml", data); + } + } + else if(graphic.equals("g5")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + String data = facade.getJSONArraySizeMessagePerModule(moduleSel); + request.setAttribute("xml", data); + } + } + else if(graphic.equals("g6")) + { + request.setAttribute("modules", course.getModules()); + + + if(moduleSel!=-1) + { + List participants = facade.listStudentsByCourse(course); + request.setAttribute("alunos", participants); + + if(idAluno!=-1) + { + String data = facade.getJSONArrayPersonGameTimePerModule(idAluno, moduleSel); + // String data = "[{\"Aluno\":\"GameTest\",\"Tempo\":18}]"; + request.setAttribute("xml", data); + } + + } + } + //Código dos Gráficos de Danilo Começa aqui + //Tempo de permanência no sistema - Diferença entre os horários de login e logout. + else if(graphic.equals("g7")) + { + request.setAttribute("modules", course.getModules()); + + + if(moduleSel!=-1) + { + List participants = facade.listStudentsByCourse(course); + request.setAttribute("alunos", participants); + + if(idAluno!=-1) + { + String data = facade.getJSONArrayPersonGameTimePerModule(idAluno, moduleSel); + request.setAttribute("xml", data); + } + + } + } + //Quantidade de visualizações dos fóruns - Número de vezes que o usuário abriu um fórum de determinado módulo. + else if(graphic.equals("g8")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + List participants = facade.listStudentsByCourse(course); + request.setAttribute("alunos", participants); + + if(idAluno!=-1) + { + String data = facade.getJSONArrayForumVisualizacao(moduleSel, idAluno); + request.setAttribute("xml", data); + } + } + + } + //Quantidade de posts em um fórum - Número de vezes que o usuário respondeu ao fórum. + else if(graphic.equals("g9")) + { + request.setAttribute("modules", course.getModules()); + + + if(moduleSel!=-1) + { + List participants = facade.listStudentsByCourse(course); + request.setAttribute("alunos", participants); + + if(idAluno!=-1) + { + String data = facade.getJSONArrayPostsPerUser(moduleSel, idAluno); + request.setAttribute("xml", data); + } + } + } + //Quantidade de acessos à materiais - Número de vezes que o usuário abriu um material presente no módulo. + else if(graphic.equals("g10")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + List participants = facade.listStudentsByCourse(course); + request.setAttribute("alunos", participants); + + if(idAluno!=-1) + { + String data = facade.getJSONArrayMaterialView(idAluno, moduleSel); + request.setAttribute("xml", data); + } + + } + } + //Quantidade de enquetes respondidas - Número de repostas a enquetes de um módulo feitas pelo usuário. + else if(graphic.equals("g11")) + { + request.setAttribute("modules", course.getModules()); + + + if(moduleSel!=-1) + { + List participants = facade.listStudentsByCourse(course); + request.setAttribute("alunos", participants); + + if(idAluno!=-1) + { + String data = facade.getJSONArrayPollAnswered(moduleSel, idAluno); + request.setAttribute("xml", data); + } + + } + } + //Quantidade de acesso aos jogos - Número de vezes que o usuário abriu um jogo do módulo. + else if(graphic.equals("g12")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + List participants = facade.listStudentsByCourse(course); + request.setAttribute("alunos", participants); + + if(idAluno!=-1) + { + String data = facade.getJSONArrayGameOpen(moduleSel, idAluno); + request.setAttribute("xml", data); + } + + } + } + else if(graphic.equals("g13")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + String data = facade.getJSONObjectQuantidadeTamanhoMSG(moduleSel); + request.setAttribute("xml", data); + } + } + //Graficos do jogo + //Pontuação + else if(graphic.equals("g14")||graphic.equals("g15")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + Module module = facade.getModuleById(moduleSel.intValue()); + request.setAttribute("games", module.getGames()); + + if(idGame!=-1) + { + String data = facade.getJSONArrayGameScore(idGame); + request.setAttribute("xml", data); + } + + } + } + //Level + else if(graphic.equals("g16")||graphic.equals("g17")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + Module module = facade.getModuleById(moduleSel.intValue()); + request.setAttribute("games", module.getGames()); + + if(idGame!=-1) + { + String data = facade.getJSONArrayGameLevel(idGame); + request.setAttribute("xml", data); + } + + } + } + //tempo X level X pontuacao + else if(graphic.equals("g18")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + Module module = facade.getModuleById(moduleSel.intValue()); + request.setAttribute("games", module.getGames()); + + if(idGame!=-1) + { + String data = facade.getJSONObjectTempoLevelPontuacao(idGame); + request.setAttribute("xml", data); + } + + } + } + // tempo X quantidade de partidas + else if(graphic.equals("g19")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + Module module = facade.getModuleById(moduleSel.intValue()); + request.setAttribute("games", module.getGames()); + + if(idGame!=-1) + { + String data = facade.getJSONObjectTempoQuantidadePartidas(idGame); + request.setAttribute("xml", data); + } + + } + } + //level X pontuacao + else if(graphic.equals("g20")) + { + request.setAttribute("modules", course.getModules()); + + if(moduleSel!=-1) + { + Module module = facade.getModuleById(moduleSel.intValue()); + request.setAttribute("games", module.getGames()); + + if(idGame!=-1) + { + String data = facade.getJSONObjectLevelPontuacao(idGame); + request.setAttribute("xml", data); + } + + } + + } + + request.setAttribute("domain", SystemActions.webSettings.getSystemGeneralDomain()); + forward = mapping.findForward(FORWARD_SHOW_VIEW_GRAPHIC); + } else { + forward = SystemActions.showViewAccessDenied(mapping, form, request, response); + } + } else { + forward = this.showViewWelcome(mapping, form, request, response); + } + + return forward; + + } + + public ActionForward showViewGroupTimeline(ActionMapping mapping, + ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception + { + + ActionForward forward = null; + + if(SystemActions.isLoggedUser(request)) { + int groupId = Integer.parseInt(request.getParameter("groupID")); + Groups group = facade.getGroupsById(groupId); + + List timeline = facade.listarTimelineGroup(group); + + request.setAttribute("groupId", groupId); + request.setAttribute("timeline", timeline); + request.setAttribute("nomeGroup", group.getName()); + + forward = mapping.findForward(FORWARD_SHOW_VIEW_GROUP_TIMELINE); + } + else + { + forward = this.showViewWelcome(mapping, form, request, response); + } + return forward; + } + + + public ActionForward showViewPersonTimeline(ActionMapping mapping, + ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + ActionForward forward = null; + + if(SystemActions.isLoggedUser(request)) { + int personID = Integer.parseInt(request.getParameter("personID")); + int groupID = Integer.parseInt(request.getParameter("groupID")); + Person pessoa = facade.getPersonByID(personID); + Groups grupo = facade.getGroupsById(groupID); + + List timeline = facade.listarTimelinePerson(pessoa, grupo); + + request.setAttribute("personID", personID); + request.setAttribute("groupID", groupID); + request.setAttribute("timeline", timeline); + request.setAttribute("nomePerson", pessoa.getName()); + request.setAttribute("nomeGroup", grupo.getName()); + + forward = mapping.findForward(FORWARD_SHOW_VIEW_PERSON_TIMELINE); + } + else + { + forward = this.showViewWelcome(mapping, form, request, response); + } + return forward; + } +<<<<<<< HEAD + public ActionForward showViewGraphic(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { @@ -1869,4 +2751,7 @@ public class CourseActions extends SystemActions { } -} \ No newline at end of file +} +======= +} +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/SystemActions.java b/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/SystemActions.java index 3c368db..c4d0767 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/SystemActions.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/SystemActions.java @@ -180,9 +180,15 @@ public class SystemActions extends LookupDispatchAction { boolean canViewCourseEvaluations = CoursePermissions.userCanShowViewCourseEvaluations(request, course); boolean canAssistanceRequest = false; boolean canViewCourseContent = false; +<<<<<<< HEAD boolean canViewGraphic = true; boolean canMonitoringHashtag = false; boolean canSendToClassmates = false; +======= + boolean canViewGraphic = false; + boolean canViewGroups = false; + boolean canViewEnableGroups = false; +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 AccessInfo user = (AccessInfo) request.getSession().getAttribute("user"); @@ -194,6 +200,7 @@ public class SystemActions extends LookupDispatchAction { canEditCourse = true; canDeleteCourse = true; canViewCourseContent = true; +<<<<<<< HEAD canMonitoringHashtag = true; canSendToClassmates = true; @@ -202,6 +209,14 @@ public class SystemActions extends LookupDispatchAction { canInsertCourse = true; canMonitoringHashtag = true; canSendToClassmates = true; +======= + canViewEnableGroups = true; + canViewGroups = true; + canViewGraphic = true; + } else if (userRoleInCourse != null) { + if( userProfileType == ProfileType.PROFESSOR) { + canInsertCourse = true; +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } if( userRoleInCourse.getRoleType() == RoleType.TEACHER || @@ -211,14 +226,20 @@ public class SystemActions extends LookupDispatchAction { if( userRoleInCourse.getRoleType() == RoleType.TEACHER) { canDeleteCourse = true; +<<<<<<< HEAD canMonitoringHashtag = true; canSendToClassmates = true; +======= + canViewEnableGroups = true; +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } if( userRoleInCourse.getRoleType() == RoleType.TEACHER || userRoleInCourse.getRoleType() == RoleType.ASSISTANT || userRoleInCourse.getRoleType() == RoleType.STUDENT) { canViewCourseContent = true; + canViewGroups = true; + canViewGraphic = true; } } @@ -233,7 +254,12 @@ public class SystemActions extends LookupDispatchAction { request.setAttribute("canViewCourseContent", canViewCourseContent); request.setAttribute("canAssistanceRequest", canAssistanceRequest); request.setAttribute("canViewGraphic", canViewGraphic); +<<<<<<< HEAD request.setAttribute("canMonitoringHashtag", canMonitoringHashtag); request.setAttribute("canSendToClassmates", canSendToClassmates); +======= + request.setAttribute("canViewGroups", canViewGroups); + request.setAttribute("canViewEnableGroups", canViewEnableGroups); +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } } \ No newline at end of file diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/UserActions.java b/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/UserActions.java index 647f3f0..d74ffe4 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/UserActions.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/UserActions.java @@ -1388,7 +1388,12 @@ public class UserActions extends SystemActions { DynaActionForm dynaForm = (DynaActionForm) form; Person person = new Person(); +<<<<<<< HEAD //person.setId(Integer.parseInt(request.getParameter("userId"))); +======= + + person.setId(Integer.parseInt(request.getParameter("userId"))); +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 person.setName(dynaForm.getString("name")); person.setCity(dynaForm.getString("city")); person.setState(dynaForm.getString("state")); @@ -1519,9 +1524,13 @@ public class UserActions extends SystemActions { Person person = new Person(); +<<<<<<< HEAD //person.getAccessInfo().setId(Integer.parseInt(request.getParameter("userId"))); AccessInfo accessInfoOld = facade.searchUserById(Integer.parseInt(request.getParameter("userId"))); person.setId(accessInfoOld.getPerson().getId()); +======= + person.setId(Integer.parseInt(request.getParameter("userId"))); +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 person.setName(dynaForm.getString("name")); person.setCity(dynaForm.getString("city")); person.setState(dynaForm.getString("state")); @@ -1562,8 +1571,12 @@ public class UserActions extends SystemActions { } AccessInfo accessInfo = new AccessInfo(); +<<<<<<< HEAD accessInfo.setLogin(accessInfoOld.getLogin()); accessInfo.setTypeProfile(accessInfoOld.getTypeProfile()); +======= + accessInfo.setLogin(dynaForm.getString("login")); +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 accessInfo.setPassword(dynaForm.getString("password")); String profileType = request.getParameter("userType"); @@ -1603,10 +1616,17 @@ public class UserActions extends SystemActions { person.setResume(resume); +<<<<<<< HEAD /*if (facade.existLogin(person.getAccessInfo().getLogin())) { messages.add("error", new ActionMessage( "errors.login.alreadyExists")); }*/ +======= + if (facade.existLogin(person.getAccessInfo().getLogin())) { + messages.add("error", new ActionMessage( + "errors.login.alreadyExists")); + } +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 /*if (facade.existEmail(person.getEmail())) { messages.add("error", new ActionMessage( "errors.email.alreadyExists")); diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/content_management/ModuleActions.java b/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/content_management/ModuleActions.java index 4be653a..560fa16 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/content_management/ModuleActions.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/content_management/ModuleActions.java @@ -89,8 +89,13 @@ public class ModuleActions extends SystemActions { int positionModule = facade.getNextPositionModule(course); Module module = new Module(); +<<<<<<< HEAD module.setName("Nome do Módulo - "+(positionModule)); module.setDescription("Descrição"); +======= + module.setName("Nome do Módulo - "+(positionModule)); + module.setDescription("Descrição"); +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 module.setVisible(true); module.setPosition(positionModule); module.setCourse(course); diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/content_management/forum/ForumActions.java b/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/content_management/forum/ForumActions.java index daee4ad..300fe4a 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/content_management/forum/ForumActions.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/content_management/forum/ForumActions.java @@ -109,14 +109,24 @@ public class ForumActions extends SystemActions { request.setAttribute("forum", forum); request.setAttribute("module", module); +<<<<<<< HEAD // request.setAttribute("canAnswerForum", canAnswerForum); // TODO - LOG - Visualizacao de um topico - OK +======= + //request.setAttribute("canAnswerForum", canAnswerForum); + + //TODO - LOG - Visualizacao de um topico - OK +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 Log log = SystemActions.getLogUser(request); log.setCodigo(Log.LOG_CODIGO_FORUM_TOPICO); log.setIdObjeto(forum.getId()); facade.saveLog(log); +<<<<<<< HEAD +======= + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 return mapping.findForward(FORWARD_SHOW_VIEW_FORUM_ACTIVITY); } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/content_management/material/MaterialActions.java b/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/content_management/material/MaterialActions.java index 3397730..d49e530 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/content_management/material/MaterialActions.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/struts/action/content_management/material/MaterialActions.java @@ -666,6 +666,13 @@ public class MaterialActions extends org.apache.struts.actions.DispatchAction { os.flush(); os.write(swf); os.close(); + + //TODO - LOG - Visualizacao de Material - OK + Log log = SystemActions.getLogUser(request); + log.setCodigo(Log.LOG_CODIGO_VISUALIZACAO_MATERIAL); + log.setIdObjeto(material.getId()); + this.facade.saveLog(log); + } catch (IOException e) { e.printStackTrace(); } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/struts/messages/MessageResources_en_US.properties b/src/br/ufpe/cin/amadeus/amadeus_web/struts/messages/MessageResources_en_US.properties index 1e7cec7..1800452 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/struts/messages/MessageResources_en_US.properties +++ b/src/br/ufpe/cin/amadeus/amadeus_web/struts/messages/MessageResources_en_US.properties @@ -766,8 +766,12 @@ course.showViewCourse=showViewCourse course.showViewCourseNotLogged=showViewCourseNotLogged course.showViewCourseParticipants=showViewCourseParticipants course.showViewEditCourse=showViewEditCourse +<<<<<<< HEAD course.showViewSocialInteractionMonitoring=showViewSocialInteractionMonitoring course.showViewSocialInteractionMonitoringReports=showViewSocialInteractionMonitoringReports +======= +course.showViewCreateGroup=showViewCreateGroup +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 course.showViewShowModules=showViewShowModules course.showViewCourseEvaluations=showViewCourseEvaluations course.showViewSendMail=showViewSendMail @@ -775,7 +779,19 @@ course.sendMailForCourseParticipants=sendMailForCourseParticipants course.changeTeacher=changeTeacher course.viewChangeTeacher=viewChangeTeacher course.showViewGraphic=showViewGraphic +<<<<<<< HEAD course.showPlayGame=showPlayGame +======= +course.showViewGroupDayTimeline=showViewGroupDayTimeline +course.showViewPersonDayTimeline=showViewPersonDayTimeline +course.showViewGroups=showViewGroups +course.showViewOneGroup=showViewOneGroup +course.habilitarDesabilitarCriarGrupos=habilitarDesabilitarCriarGrupos +course.showViewGroupTimeline=showViewGroupTimeline +course.showViewPersonTimeline=showViewPersonTimeline +course.showPlayGame=showPlayGame +course.showViewGroupsRelatorio=showViewRelatorioAtividade +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 #-- MAP Action method module -- module.showViewEditModule=showViewEditModule diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/struts/messages/MessageResources_pt_BR.properties b/src/br/ufpe/cin/amadeus/amadeus_web/struts/messages/MessageResources_pt_BR.properties index 5d675be..2e2a09d 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/struts/messages/MessageResources_pt_BR.properties +++ b/src/br/ufpe/cin/amadeus/amadeus_web/struts/messages/MessageResources_pt_BR.properties @@ -760,8 +760,12 @@ course.showViewCourseNotLogged=showViewCourseNotLogged course.showViewCourseParticipants=showViewCourseParticipants course.unregisterStudentCourse=unregisterStudentCourse course.showViewEditCourse=showViewEditCourse +<<<<<<< HEAD course.showViewSocialInteractionMonitoring=showViewSocialInteractionMonitoring course.showViewSocialInteractionMonitoringReports=showViewSocialInteractionMonitoringReports +======= +course.showViewCreateGroup=showViewCreateGroup +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 course.showViewShowModules=showViewShowModules course.showViewCourseEvaluations=showViewCourseEvaluations course.showViewSendMail=showViewSendMail @@ -769,7 +773,19 @@ course.sendMailForCourseParticipants=sendMailForCourseParticipants course.changeTeacher=changeTeacher course.viewChangeTeacher=viewChangeTeacher course.sendMailForCourseParticipants=sendMailForCourseParticipants +<<<<<<< HEAD course.showViewGraphic=showViewGraphic +======= +course.showViewGraphic=showViewGraphic +course.showViewGroupDayTimeline=showViewGroupDayTimeline +course.showViewPersonDayTimeline=showViewPersonDayTimeline +course.showViewGroups=showViewGroups +course.habilitarDesabilitarCriarGrupos=habilitarDesabilitarCriarGrupos +course.showViewGroupTimeline=showViewGroupTimeline +course.showViewPersonTimeline=showViewPersonTimeline +course.showViewOneGroup=showViewOneGroup +course.showViewGroupsRelatorio=showViewRelatorioAtividade +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 #-- MAP Action method module -- module.showViewEditModule=showViewEditModule diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/Course.java b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/Course.java index d9a4873..5625101 100755 --- a/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/Course.java +++ b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/Course.java @@ -35,6 +35,11 @@ public class Course implements Serializable{ private Person professor; +<<<<<<< HEAD +======= + private boolean flag_habilitar_grupo; + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 private List materials = new ArrayList(); private List foruns = new ArrayList(); @@ -151,6 +156,17 @@ public class Course implements Serializable{ public void setForuns(List foruns) { this.foruns = foruns; } +<<<<<<< HEAD +======= + + public void setFlag_habilitar_grupo(boolean flag_habilitar_grupo) { + this.flag_habilitar_grupo = flag_habilitar_grupo; + } + + public boolean isFlag_habilitar_grupo() { + return flag_habilitar_grupo; + } +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 } diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/GroupPlusStatus.java b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/GroupPlusStatus.java new file mode 100644 index 0000000..9ed0a45 --- /dev/null +++ b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/GroupPlusStatus.java @@ -0,0 +1,49 @@ +package br.ufpe.cin.amadeus.amadeus_web.syncronize; + + +public class GroupPlusStatus { + + private int id; + private String name; + private int qtdMembros; + private boolean status; + + public GroupPlusStatus(int id, String name, int qtdMembros, boolean status) { + this.setId(id); + this.setName(name); + this.setQtdMembros(qtdMembros); + this.setStatus(status); + } + + public void setId(int id) { + this.id = id; + } + + public int getId() { + return id; + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setQtdMembros(int qtdMembros) { + this.qtdMembros = qtdMembros; + } + + public int getQtdMembros() { + return qtdMembros; + } + + public void setStatus(boolean status) { + this.status = status; + } + + public boolean isStatus() { + return status; + } +} diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/Groups.java b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/Groups.java new file mode 100644 index 0000000..0e1c5b4 --- /dev/null +++ b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/Groups.java @@ -0,0 +1,88 @@ +package br.ufpe.cin.amadeus.amadeus_web.syncronize; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import javax.xml.bind.annotation.XmlRootElement; + + +@SuppressWarnings("serial") +@XmlRootElement +public class Groups implements Serializable{ + + + private int id; + + private Date date; + + private Person fundador; + private Course curso; + private String name; + private List membros = new ArrayList(); + + public Groups (){ + + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public Person getFundador() { + return fundador; + } + + public void setFundador(Person usuario) { + this.fundador = usuario; + } + + public Course getCurso() { + return curso; + } + + public void setCurso(Course curso) { + this.curso = curso; + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + /** + * Metodo que cria um Groups ja com a data de criacao setada. + * @return + */ + public static Groups getGroups(){ + Groups group = new Groups(); + group.setDate(new Date()); + return group; + } + + public void setMembros(List membros) { + this.membros = membros; + } + + public List getMembros() { + return membros; + } +} + + diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/LogVisualizacao.java b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/LogVisualizacao.java new file mode 100644 index 0000000..5abfc5c --- /dev/null +++ b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/LogVisualizacao.java @@ -0,0 +1,66 @@ +package br.ufpe.cin.amadeus.amadeus_web.syncronize; + +import java.util.Date; + +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Log; + +public class LogVisualizacao { + + private Date date; + private Integer codigo; + private String materialName; + + public LogVisualizacao(Log log) { + this.date = log.getDate(); + this.codigo = log.getCodigo(); + } + + public LogVisualizacao(Log log, String materialName) { + this.date = log.getDate(); + this.codigo = log.getCodigo(); + this.materialName = materialName; + } + + /** + * @param date the date to set + */ + public void setDate(Date date) { + this.date = date; + } + + /** + * @return the date + */ + public Date getDate() { + return date; + } + + /** + * @param codigo the codigo to set + */ + public void setCodigo(Integer codigo) { + this.codigo = codigo; + } + + /** + * @return the codigo + */ + public Integer getCodigo() { + return codigo; + } + + /** + * @param materialName the materialName to set + */ + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + /** + * @return the materialName + */ + public String getMaterialName() { + return materialName; + } + +} diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/PersonGroupPlusStatus.java b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/PersonGroupPlusStatus.java new file mode 100644 index 0000000..17f314a --- /dev/null +++ b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/PersonGroupPlusStatus.java @@ -0,0 +1,52 @@ +package br.ufpe.cin.amadeus.amadeus_web.syncronize; + + + +public class PersonGroupPlusStatus { + + private int id; + private String name; + private int papel; + private boolean status; + + public PersonGroupPlusStatus (int id, String name, int papel, boolean status){ + this.id = id; + this.setName(name); + this.setPapel(papel); + this.status = status; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setPapel(int papel) { + this.papel = papel; + } + + public int getPapel() { + return papel; + } + + public void setStatus(boolean status) { + this.status = status; + } + + public boolean isStatus() { + return status; + } +} diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/Person_Groups.java b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/Person_Groups.java new file mode 100644 index 0000000..c3056d2 --- /dev/null +++ b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/Person_Groups.java @@ -0,0 +1,58 @@ +package br.ufpe.cin.amadeus.amadeus_web.syncronize; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +import br.ufpe.cin.amadeus.amadeus_web.domain.content_management.Groups; +import br.ufpe.cin.amadeus.amadeus_web.domain.register.Person; + + +@SuppressWarnings("serial") +@XmlRootElement +public class Person_Groups implements Serializable{ + + private int id; + + private Person pessoa; + + private Groups groups; + + private boolean moderador; + + public Person_Groups (){ + + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public Person getPessoa() { + return pessoa; + } + + public void setPessoa(Person pessoa) { + this.pessoa = pessoa; + } + + public void setModerador(boolean moderador) { + this.moderador = moderador; + } + + public boolean isModerador() { + return moderador; + } + + public Groups getGroups() { + return groups; + } + + public void setGroups(Groups groups) { + this.groups = groups; + } +} diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/RelatorioGrupo.java b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/RelatorioGrupo.java new file mode 100644 index 0000000..de29445 --- /dev/null +++ b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/RelatorioGrupo.java @@ -0,0 +1,42 @@ +package br.ufpe.cin.amadeus.amadeus_web.syncronize; + +import java.util.List; + +public class RelatorioGrupo { + + private String nome; + private List status; + + public RelatorioGrupo(String nome, List status) { + this.nome = nome; + this.status = status; + } + + /** + * @return the nome + */ + public String getNome() { + return nome; + } + + /** + * @param nome the nome to set + */ + public void setNome(String nome) { + this.nome = nome; + } + + /** + * @return the status + */ + public List getStatus() { + return status; + } + + /** + * @param status the status to set + */ + public void setStatus(List status) { + this.status = status; + } +} diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/StudentHaveGroup.java b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/StudentHaveGroup.java new file mode 100644 index 0000000..897719c --- /dev/null +++ b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/StudentHaveGroup.java @@ -0,0 +1,61 @@ +package br.ufpe.cin.amadeus.amadeus_web.syncronize; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + + +@SuppressWarnings("serial") +@XmlRootElement +public class StudentHaveGroup implements Serializable { + + private String name; + private int id; + private boolean haveGroup; + private int position; + + public StudentHaveGroup() { + // TODO Auto-generated constructor stub + } + + public StudentHaveGroup(String name, int id, boolean b, int position) { + this.name = name; + this.id = id; + this.haveGroup = b; + this.setPosition(position); + + } + + + public String getName() { + return this.name; + } + + public void setName(String name) { + this.name = name; + } + + public int getId() { + return this.id; + } + + public void setId(int id) { + this.id = id; + } + + public boolean isHaveGroup() { + return haveGroup; + } + + public void setHaveGroup(boolean haveGroup) { + this.haveGroup = haveGroup; + } + + public void setPosition(int position) { + this.position = position; + } + + public int getPosition() { + return position; + } +} diff --git a/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/TimelineItem.java b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/TimelineItem.java new file mode 100644 index 0000000..30d6e86 --- /dev/null +++ b/src/br/ufpe/cin/amadeus/amadeus_web/syncronize/TimelineItem.java @@ -0,0 +1,45 @@ +package br.ufpe.cin.amadeus.amadeus_web.syncronize; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +@SuppressWarnings("serial") +@XmlRootElement +public class TimelineItem implements Serializable { + + private int idGroup; + private String date; + private int frequency; + private String classe; + + public TimelineItem() { + + } + + public int getIdGroup() { + return idGroup; + } + public void setIdGroup(int idGroup) { + this.idGroup = idGroup; + } + public String getDate() { + return date; + } + public void setDate(String date) { + this.date = date; + } + public int getFrequency() { + return frequency; + } + public void setFrequency(int frequency) { + this.frequency = frequency; + } + public String getClasse() { + return classe; + } + public void setClasse(String classe) { + this.classe = classe; + } + +} diff --git a/src/hibernate.cfg.xml b/src/hibernate.cfg.xml index 8aff02a..8bff506 100755 --- a/src/hibernate.cfg.xml +++ b/src/hibernate.cfg.xml @@ -11,9 +11,16 @@ jdbc:postgresql://localhost:5432/amadeus_web postgres postgres +<<<<<<< HEAD thread update +======= + thread + + + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 10 2 @@ -85,6 +92,11 @@ +<<<<<<< HEAD +======= + + +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 diff --git a/src/settings/amadeus.web.settings.xml b/src/settings/amadeus.web.settings.xml index 6e6a993..cb48028 100755 --- a/src/settings/amadeus.web.settings.xml +++ b/src/settings/amadeus.web.settings.xml @@ -1,7 +1,12 @@ +<<<<<<< HEAD 00.96.60 +======= + + 00.96.30 +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 Português-Brasil UTF-8 default @@ -9,8 +14,13 @@ Conta de e-mail padrão +<<<<<<< HEAD exemploamadeus@gmail.com amadeus2012! +======= + exemplo@email.com + senha +>>>>>>> 661708b07f533da1f47ab2b8c362cb287fdf4631 smtp.gmail.com true false @@ -31,4 +41,4 @@ true - \ No newline at end of file +