Subversion Repositories bacoAlunos

Rev

Rev 1310 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@ page import="jomm.dao.utils.HibernateUtils" %>
<%@ page import="pt.estgp.estgweb.Globals" %>
<%@ page import="pt.estgp.estgweb.domain.*" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.services.data.RepositoryService" %>
<%@ page import="pt.estgp.estgweb.web.UserSessionProxy" %>
<%@ page import="java.util.List" %>
<%@ page import="pt.estgp.estgweb.web.filters.UserRoleProxy" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<%
    if(!UserSession.getUser().hasRole(Globals.ROLE_PROCESSES_ADMIN) && !UserSession.getUser().isSuperuser())
    {
%>
    <jsp:include page="/errors/401.jsp"/>
<%
        return;
    }
%>
<script language="javascript">


    function addUser(username)
    {
        $('#formulario').find('input[name="personToAdd"]').val(username);
        $('#formulario').find('input[name="dispatch"]').val('update');
        $("#personsResults").hide();
        $("#formulario").submit();

    }
    function searchPersons(form,targetElement,q,searchInput)
    {
        $.post( "<%=request.getContextPath()%>/user/processes/searchPerson.jsp?q="+q, function( data ) {
            $( "#" + targetElement ).html( data );
            //$( "#" + targetElement).show();
            $( "#" + targetElement).css({ left: $("#"+searchInput).position().left, top: $("#"+searchInput).position().top + 30}).show();

        });

    }

</script>
<html:errors/>
<jomm:messages/>

<h2>Criando novo metaprocesso</h2>



<html:form styleId="formulario" action="/user/metaProcessesController" enctype="multipart/form-data">
<jsp:useBean id="NewMetaProcessForm" type="pt.estgp.estgweb.web.form.processes.NewMetaProcessForm" scope="request"/>
<%
    if(request.getParameter("id")!=null)
    {
        long id = Long.parseLong(request.getParameter("id"));
        HibernateUtils.getCurrentSession().beginTransaction();
        MetaProcess metaProcess = DaoFactory.getMetaProcessDaoImpl().get(id);
        System.out.println("1");
        NewMetaProcessForm.setMetaProcess((MetaProcessImpl) metaProcess);
        System.out.println("2");
        new RepositoryService().load(metaProcess.getRepositoryStream(), UserSessionProxy.loadUserSessionFromRequest(request)).getName();
        System.out.println("3");
        NewMetaProcessForm.setFileName(new RepositoryService().load(metaProcess.getRepositoryStream(), UserSessionProxy.loadUserSessionFromRequest(request)).getName());
        System.out.println("4");
        HibernateUtils.getCurrentSession().getTransaction().commit();
    }
%>
    <input type="hidden" name="dispatch" value="update"/>
    <html:hidden property="metaProcess.id"/>
    <html:hidden property="metaProcess.possiblePersons"/>
    <html:hidden property="metaProcess.possibleTargets"/>
    <html:hidden property="personToAdd"/>
    <html:hidden property="personToRemove"/>
    <html:hidden property="roleToRemove"/>
    <html:hidden property="metaProcess.repositoryStream"/>
    <html:hidden property="fileName"/>


    <table border="0" style="width: 100%" >
       <tr>
            <th align="right"></th>
            <th colspan="2" align="center" >
                <div style="padding: 10px; background-color: lightgrey;border: 1px solid darkgray">
                <i><u>Ficheiro Modelo</u></i>
                <html:file property="file"/> <input value="Carregar ficheiro" type="button" onclick="this.form.dispatch.value='update';this.form.submit()"/>
                <logic:notEmpty name="NewMetaProcessForm" property="metaProcess.repositoryStream">
                    <a target="_blank" href="<%=request.getContextPath()%>/repositoryStream/<bean:write name="NewMetaProcessForm" property="metaProcess.repositoryStream"/>"><bean:write name="NewMetaProcessForm" property="fileName"/></a>
                    <br/>

                    <a href="javascript:invoqueDataVersionForm(<bean:write name="NewMetaProcessForm" property="metaProcess.repositoryStream"/>);">Ver todas as versões</a>
                </logic:notEmpty>
                </div>
            </th>
            <th align="center"></th>
       </tr>
        <tr>
            <td align="right" style="font-size: 7pt"></td>
            <td colspan="2" valign="middle" align="center" style="vertical-align: middle; font-size: 7pt;padding: 10px;">
                <i>&lt;&lt;input&gt;&gt;</i> <img src="<%=request.getContextPath()%>/imgs/process/down_arrow.png"/>
            </td>
            <td align="center"></td>
        </tr>
       <tr>
            <th align="center"><img src="<%=request.getContextPath()%>/imgs/process/actor.gif"/> <br/>Tipo de Requerente</th>
            <th colspan="2" align="center">Processo</th>
            <th align="center"><img src="<%=request.getContextPath()%>/imgs/process/actor.gif"/> <br/>Atendido por</th>

       </tr>
       <tr>
           <td>
               <html:select property="metaProcess.srcRole">
                   <%
                       List<String> roles = UserRoleProxy.getUserRoles();
                       request.setAttribute("roles",roles);
                   %>
                    <logic:iterate id="role" name="roles">
                        <html:option value="${role}"><bean:message key="user.role.${role}"/></html:option>
                    </logic:iterate>
               </html:select>

           </td>
           <td style="width: 100%"  colspan="2" style="padding-left: 10px;padding-right: 10px">
                <table style="width: 100%" class="processActivity" cellpadding="0" cellspacing="0">
                    <tr>
                        <td class="processActivityTail"><img src="<%=request.getContextPath()%>/imgs/process/leftProcess.gif"/></td>
                        <td class="processActivityName" style="width: 100%"><html:text style="width: 100%" property="metaProcess.name"/></td>
                        <td class="processActivityArrow"><img src="<%=request.getContextPath()%>/imgs/process/rightProcess.gif"/></td>
                    </tr>
                </table>
            </td>
            <td >
                <html:select property="metaProcess.targetRole">
                    <logic:iterate id="role" name="roles">
                        <html:option value="${role}"><bean:message key="user.role.${role}"/></html:option>
                    </logic:iterate>
                </html:select>

            </td>
        </tr>
        <tr>
            <td colspan="4" style="height: 10px; border-right: 3px dotted green; border-bottom: 3px dotted green;">

            </td>
        </tr>
        <tr>
            <td colspan="4" style="height: 10px; border-left: 3px dotted green; ">

            </td>
        </tr>
        <tr>
            <td colspan="4">

                <table style="width: 100%" class="processActivity" cellpadding="0" cellspacing="0">
                    <tr>
                        <td class="processActivityTail"><img src="<%=request.getContextPath()%>/imgs/process/leftProcess.gif"/></td>
                        <td class="processActivityName" style="width: 100%;text-align: center"><i>Tratamento</i></td>
                        <td class="processActivityArrow"><img src="<%=request.getContextPath()%>/imgs/process/rightProcess.gif"/></td>
                    </tr>
                </table>

            </td>
        </tr>
        <tr>
            <th colspan="4" style="text-align: center">
                <img src="<%=request.getContextPath()%>/imgs/process/actor.gif"/>
                <img src="<%=request.getContextPath()%>/imgs/process/actor.gif"/>
                <img src="<%=request.getContextPath()%>/imgs/process/actor.gif"/>
            </th>
        </tr>

        <tr>
            <td colspan="4" style="height: 30px; ">
                <table cellpadding="0" cellspacing="0" style="width: 100%;border:0;">
                    <tr>
                        <th  style="width: 50%; text-align: center;border-bottom: 2px solid darkgray; border-right: 2px solid darkgray;">
                            Pessoas especificas permitidas
                        </th>
                        <th  style="border-bottom: 2px solid darkgray;width: 50%; text-align: center">
                            Papeis institucionais permitidos
                        </th>
                    </tr>

                    <tr>
                        <td valign="top" style="background-color:#E4E4E4 ;width: 50%; text-align: left;border-bottom: 2px solid darkgray; border-right: 2px solid darkgray;">
                            <input style="width:200px" id="queryTd" type="text" name="q"/>   <input type="image" src="<%=request.getContextPath()%>/imgs/lupa.gif" onclick="searchPersons(this.form,'personsResults',this.form.q.value,'queryTd');return false;"/>
                        </td>
                        <td  style="background-color:#E4E4E4 ; border-bottom: 2px solid darkgray;width: 50%; text-align: left">
                            <html:select property="roleToAdd">
                                <option value="">Nenhum</option>
                                <logic:iterate id="role" name="roles">
                                    <html:option value="${role}"><bean:message key="user.role.${role}"/></html:option>
                                </logic:iterate>
                            </html:select>
                            <input type="button" onclick="set(form,'update');form.submit()" value="Adicionar"/>
                        </td>
                    </tr>
                    <tr>
                        <td valign="top" style="width: 50%; text-align: center; border-right: 2px solid darkgray; border-bottom: 2px solid darkgray;">
                        <logic:present name="NewMetaProcessForm" property="addedPersonsList">
                            <table class="dataTable" width="100%">
                                <tr>
                                    <th>Nome</th>
                                    <th>Username</th>
                                    <th>Tipo</th>
                                    <th>Email</th>
                                </tr>
                                <%
                                    HibernateUtils.getCurrentSession().beginTransaction();


                                %>
                                <logic:iterate id="person" name="NewMetaProcessForm" property="addedPersonsList" type="String">
                                    <%

                                        User u = DaoFactory.getUserDaoImpl().loadByUsername(person);
                                        if(u != null)
                                        {
                                    %>
                                    <tr>
                                        <td>
                                            <%=u.getName()%>
                                        </td>
                                        <td>
                                            <%=u.getUsername()%>
                                        </td>
                                        <td>
                                            <%
                                                if(u instanceof Teacher) {
                                            %><%="Professor"%><%
                                        }
                                        else if(u instanceof Student) {
                                        %><%="Aluno"%><%
                                        }
                                        else  {
                                        %><%="Utilizador"%><%
                                            }
                                        %>
                                        </td>
                                        <td>
                                            <%=u.getEmail()%>
                                        </td>
                                        <td><a href="javascript:NewMetaProcessForm.dispatch.value='delete';NewMetaProcessForm.personToRemove.value='${person}';NewMetaProcessForm.submit();"><img border="0" src="<%=request.getContextPath()%>/imgs/delete.gif"/></a></td>
                                    </tr>
                                    <%}%>
                                </logic:iterate>
                            </table>
                            <%
                                HibernateUtils.getCurrentSession().getTransaction().commit();
                            %>
                        </logic:present>
                        </td>
                        <td  style="border-bottom: 2px solid darkgray;width: 50%; text-align: center" valign="top">
                            <logic:present name="NewMetaProcessForm" property="addedRolesList">
                                <table class="dataTable" width="100%">
                                    <tr>
                                        <th>Papel</th>
                                    </tr>
                                    <logic:iterate id="role" name="NewMetaProcessForm" property="addedRolesList" type="String">
                                        <%
                                            if(role != null && role.length() > 0)
                                            {
                                        %>
                                        <tr>
                                            <td>
                                                <bean:message key="user.role.${role}"/>
                                            </td>
                                            <td><a href="javascript:NewMetaProcessForm.dispatch.value='delete';NewMetaProcessForm.roleToRemove.value='${role}';NewMetaProcessForm.submit();"><img border="0" src="<%=request.getContextPath()%>/imgs/delete.gif"/></a></td>
                                        </tr>
                                        <%
                                            }
                                        %>
                                    </logic:iterate>
                                </table>
                            </logic:present>
                        </td>
                    </tr>
                </table>
            </td>
        </tr>



    </table>

    <table class="dataTable">
        <tr>
            <th>Categoria</th>
            <td><html:text property="metaProcess.category"/></td>
        </tr>
        <tr>
            <th>SubCategoria</th>
            <td><html:text property="metaProcess.subCategory"/></td>
        </tr>
        <tr>
            <th>Descrição</th>
            <td><html:textarea style="width: 400px;height: 200px" property="metaProcess.description"/></td>
        </tr>
    </table>

    <input type="button" value="<bean:message key="confirm"/>" onclick="set(form,'create');form.submit();">

    <div id="personsResults" style="position: absolute;display: none;background: lightcyan;border: 1px solid gray">
    </div>





</html:form>