Subversion Repositories bacoAlunos

Rev

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

<%@ page import="pt.estgp.estgweb.domain.UserRoleConfig" %>
<%@ page import="pt.estgp.estgweb.web.filters.UserRoleProxy" %>
<%@ page import="pt.estgp.estgweb.web.form.configuration.ConfigurationUserRolesForm" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib prefix="hmlt" uri="http://jakarta.apache.org/struts/tags-html" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<jomm:messages/>
<html:errors/>


<script type="text/javascript" language="JavaScript">
    //TABLE SORTER

    $(document).ready(function()
    {

        // $('#myTable').tablesorter();
        //  $('#myTable2').tablesorter();
        $(".transl").hide();
        $('.tablesorter-filter-row td:eq(3)').hide();
        $('.tablesorter-filter-row td:eq(4)').hide();
        $('.tablesorter-filter-row td:eq(5)').hide();
        $('.tablesorter-filter-row td:eq(6)').hide();
    });

    function toogleFiltersTransl()
    {
        $('.tablesorter-filter-row td:eq(3)').toggle();
        $('.tablesorter-filter-row td:eq(4)').toggle();
        $('.tablesorter-filter-row td:eq(5)').toggle();
        $('.tablesorter-filter-row td:eq(6)').toggle();
    }


    function updatedField(field,posForId)
    {
        $("#Line"+posForId + " select").css('background-color','yellow');
        $("#Line"+posForId + " input:text").css('background-color','yellow');
        $("#Line"+posForId + " #dirty").val("true");
    }

    function initField(posForId)
    {
        if($("#Line"+posForId + " #dirty").val()=='true')
        {
            $("#Line"+posForId + " select").css('background-color','yellow');
            $("#Line"+posForId + " input:text").css('background-color','yellow');
        }
        if($("#Line"+posForId + " .bacoRoleSelect option:selected")=='false')
        {
            $("#Line"+posForId + " select").css('background-color','red');
            $("#Line"+posForId + " input:text").css('background-color','red');
        }
    }

    function setInvalid(posForId)
    {

        $("#Line"+posForId + " select").css('background-color','red');
        $("#Line"+posForId + " input:text").css('background-color','red');

    }

</script>
<%





%>

<div class="container">

<nested:form action="/user/userRoles" enctype="multipart/form-data">
    <jsp:useBean id="ConfigurationUserRolesForm" scope="request" type="pt.estgp.estgweb.web.form.configuration.ConfigurationUserRolesForm"/>
    <%
        if(ConfigurationUserRolesForm.isUserRolesConfigEmpty())
        {
            List<UserRoleConfig> userRoles = UserRoleProxy.getUserRoleConfigs();
            ConfigurationUserRolesForm.setUserRoleConfigs(userRoles);
        }

    %>
    <input type="hidden" name="dispatch" value="">
    <input type="hidden" name="op">
    <input type="hidden" name="id">


    <div class="panel panel-default">
        <div class="panel-heading">

            <button style="float: right" class="btn btn-success" onclick="this.form.op.value='addNew';set(this.form,'addNew');this.form.submit()">Adicionar Novo</button>

            <button style="float: right" class="btn btn-default" onclick="this.form.op.value='checkNewRoles';set(this.form,'checkNewRoles');this.form.submit()">Carregar Novos Papeis a partir da configuração</button>

            <button  type="button"  class="btn btn-info" onclick="$('.transl').toggle();toogleFiltersTransl();">Mostrar Traduções</button>
        </div>
            <div class="panel-body">
                <table class="tablesorter tablesorterfiltered">
                     <thead>
                        <tr>
                            <th>Válido</th>
                            <th>Chave Única</th>
                            <th>Tradução Principal</th>
                            <th class="transl">Tradução PT</th>
                            <th class="transl">Tradução EN</th>
                            <th class="transl">Tradução ES</th>
                            <th class="transl">Tradução FR</th>
                            <th>Observações</th>
                            <th class="filter-false" data-sorter="false"><a class="btn btn-success" href="javascript:this.form.op.value='saveAllDirty';set(this.form,'saveAllDirty');this.form.submit()">Salvar Alterados</a></th>
                            <baco:isSuperUser>
                            <th class="filter-false" data-sorter="false">Apagar</th>
                            </baco:isSuperUser>
                        </tr>
                        </thead>
                        <tbody>
                        <%
                        int posForId = 0;
                        %>
                        <nested:iterate id="userRole" property="userRolesConfig" type="pt.estgp.estgweb.domain.UserRoleConfig">
                            <%
                                posForId++;
                                request.setAttribute("posForId",posForId
                                );
                            %>
                            <tr id="Line<%=posForId%>">
                                <td>
                                    <nested:equal value="false" property="valid">
                                        <script>
                                            $(document).ready(
                                                    function()
                                                    {
                                                        setInvalid(<%=posForId%>);
                                                    }
                                            );
                                        </script>
                                    </nested:equal>
                                    <nested:select styleClass="bacoRoleSelect" property="valid" onchange="updatedField(this,${posForId})">
                                        <html:option value="true" key="yes"/>
                                        <html:option value="false" key="no"/>
                                    </nested:select>
                                </td>
                                <nested:equal value="true" property="dirty">
                                    <script>
                                        $(document).ready(
                                                function()
                                                {
                                                    initField(<%=posForId%>);
                                                }
                                        );
                                    </script>
                                </nested:equal>
                                <td>
                                    <baco:isSuperUser>
                                        <nested:text onkeyup="updatedField(this,${posForId})" property="role" style="width:100%"></nested:text>
                                    </baco:isSuperUser>
                                    <baco:hasNotRole role="all">
                                        <nested:equal value="" property="role">
                                            <nested:text onkeyup="updatedField(this, ${posForId})" property="role" style="width:100%"></nested:text>
                                        </nested:equal>
                                        <nested:notEqual value="" property="role">
                                            <nested:text property="role" readonly="true" style="width:100%"></nested:text>
                                        </nested:notEqual>
                                    </baco:hasNotRole>
                                </td>
                                <td>
                                    <%--

                                    Meter aqui o posForId obrigar o valor a ser o novo e apenas auxiliar
                                    --%>
                                    <nested:hidden property="id"/>
                                    <nested:hidden property="posForId" value="${posForId}"/>
                                    <nested:hidden styleId="dirty" property="dirty"/>
                                    <nested:text onkeyup="updatedField(this, ${posForId})" property="value" style="width:100%"></nested:text>
                                </td>
                                <td class="transl">
                                    <nested:text onkeyup="updatedField(this, ${posForId})" property="valuePt" style="width:100%"></nested:text>
                                </td>
                                <td class="transl">
                                    <nested:text onkeyup="updatedField(this,${posForId})" property="valueEn" style="width:100%"></nested:text>
                                </td>
                                <td class="transl">
                                    <nested:text onkeyup="updatedField(this,${posForId})" property="valueEs" style="width:100%"></nested:text>
                                </td>
                                <td class="transl">
                                    <nested:text onkeyup="updatedField(this,${posForId})" property="valueFr" style="width:100%"></nested:text>
                                </td>
                                <td>
                                    <nested:text onkeyup="updatedField(this, ${posForId})" property="obs" style="width:100%"></nested:text>
                                </td>

                                <td class="icons">
                                    <button style="float: right" class="btn btn-success btn-sm" onclick="this.form.op.value='saveUserRole';set(this.form,'saveUserRole');this.form.id.value='${posForId}';this.form.submit()"><span class="glyphicon glyphicon-ok"></span></button>
                                </td>
                                <baco:isSuperUser>
                                <td class="icons">
                                    <a style="float: right"  class="btn btn-danger btn-sm" href="<%=request.getContextPath()%><%--TODO FALTA APAGAR--%>"><span class="glyphicon glyphicon-remove"></span></a>
                                </td>
                                </baco:isSuperUser>
                            </tr>

                        </nested:iterate>
                        </tbody>
                    </table>
                </div>
            <div class="panel-footer">
                    <html:submit styleClass="btn btn-warning" value="Salvar"/>
            </div>

    </div>
</nested:form>



</div>

Generated by GNU Enscript 1.6.5.2.