Subversion-Projekte lars-tiefland.webanos.marine-sales.de

Revision

Revision 385 | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

{extends file="index.tpl"}
{block name="maincontent"}
    <script type="text/javascript">
        $(function () {
            $('#dataTableBackendUsers').dataTable({
                "lengthMenu": [[100, -1], [100, "Alle"]],
                "language": {
                    "url": "/js/DataTables-1.10.19/German.json"
                }
            });
            $('button,input:submit,input:button,input:reset,#getnewPWD,#shownewPWD ').button();
            $('.locked').uibutton({
                "icons": {
                    "primary": "ui-icon-locked"
                }
            }).click(deactivate2fa);
            $('.unlocked').uibutton({
                "icons": {
                    "primary": "ui-icon-unlocked"
                }
            });

            $('#en2fa').click(activate2fa)
            $('#editDlg').dialog({
                autoOpen:false,
                modal:true,
                resizable:false,
                width:900,
                height:400,
                buttons:[
                    {
                        text:"Speichern",
                        icon:"ui-icon-check",
                        click:function (){
                            let url="/backend_users";
                            if($("#ID").val())
                            {
                                url+="/"+$("#ID").val()
                            }
                            /*$.post(url,$('#supplierForm').serializeArray(),function(){
                                $('#editDlg').dialog("close")
                                location.reload()
                            });*/
                            $.ajax({
                                type:"post",
                                url:url,
                                data:$('#userForm').serializeArray(),
                                dataType: 'json',
                                success:function ()
                                {
                                    $('#editDlg').dialog("close");
                                    location.reload();
                                },
                                error:function (response)
                                {
                                    $('#userError').html(response.responseJSON.message);
                                    let errors = response.responseJSON.errors
                                    if(errors.email)
                                    {
                                        $('#userEmailError').html(errors.email)
                                    }
                                    if(errors.rank)
                                    {
                                        $('#userRankError').html(errors.rank)
                                    }
                                    if(errors.password)
                                    {
                                        $('#userPasswordError').html(errors.password)
                                    }
                                    if(errors.password_confirmation)
                                    {
                                        $('#userPasswordConfirmationError').html(errors.password_confirmation)
                                    }
                                }
                            })
                        }
                    },
                    {
                        text:"Abbrechen",
                        icon:"ui-icon-cancel",
                        click:function (){
                            $('#editDlg').dialog("close");
                        }
                    }
                ]
            })
            $('#delDlg').dialog({
                autoOpen:false,
                modal:true,
                resizable:false,
                width:800,
                buttons:[
                    {
                        text:"Löschen",
                        icon:"ui-icon-trash",
                        click:function (){
                            let url="/backend_users/"+$("#mId").html();
                            $.post(url,$('#userDelForm').serializeArray(),function(){
                                $('#delDlg').dialog("close")
                                location.reload()
                            });
                        }
                    },
                    {
                        text:"Abbrechen",
                        icon:"ui-icon-cancel",
                        click:function (){
                            $('#delDlg').dialog("close");
                        }
                    }
                ]
            })
            $("#new").uibutton({
                icons:{
                    primary:"ui-icon-plus"
                }
            }).click(function()
            {
                let url="/backend_users/create/";
                $('#editDlg').load(url).dialog("open");
            });
            $(".edit").uibutton({
                icons:{
                    primary:"ui-icon-pencil"
                }
            }).click(function() {
                let url="/backend_users/"+$(this).attr("data-id")+"/edit/";
                $('#editDlg').load(url).dialog("open");
            });
            $(".del").uibutton({
                icons:{
                    primary:"ui-icon-trash"
                }
            }).click(function() {
                let mId=$(this).attr("data-id");
                $.get("/backend_users/"+mId,function(name) {
                    $('#userName').html(name);
                    $('#mId').html(mId);
                    $('#delDlg').dialog("open");
                })
            })

        })

        function deactivate2fa() {
            let uId = $(this).attr("data-id");
            $.get("/toolbox/ga.php?mode=disable&id=" + uId, function () {
                document.location.reload();
            });
        }

        function activate2fa() {
            let uId = $(this).attr("data-id");
            document.location.href = "/toolbox/ga.php";
        }

        function randomPassword() {
            //$('#pwd').load("/generate_pwd.php");
            $.get("/generate_pwd.php", function (pwd) {
                $('#pwd').val(pwd);
                $('#pwdcheck').val($('#pwd').val());
            })
        }

        function deleteusersession() {
            $.get("../admin_user.php?action=delete_user_session&ID={$smarty.get.ID}", function (deletesessionuser) {
                alert(deletesessionuser);
            })
        }

        function showpass() {
            var x = document.getElementById("pwd");
            if (x.type === "password") {
                x.type = "text";
            } else {
                x.type = "password";
            }
        }

        function MM_swapImgRestore() { //v3.0
            var i, x, a = document.MM_sr;
            for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
        }

        function MM_preloadImages() { //v3.0
            var d = document;
            if (d.images) {
                if (!d.MM_p) d.MM_p = new Array();
                var i, j = d.MM_p.length, a = MM_preloadImages.arguments;
                for (i = 0; i < a.length; i++) {
                    if (a[i].indexOf("#") != 0) {
                        d.MM_p[j] = new Image;
                        d.MM_p[j++].src = a[i];
                    }
                }
            }
        }

        function MM_swapImage() { //v3.0
            var i, j = 0, x, a = MM_swapImage.arguments;
            document.MM_sr = new Array;
            for (i = 0; i < (a.length - 2); i += 3) {
                if ((x = MM_findObj(a[i])) != null) {
                    document.MM_sr[j++] = x;
                    if (!x.oSrc) {
                        x.oSrc = x.src;
                    }
                    x.src = a[i + 2];
                }
            }
        }

        function MM_findObj(n, d) { //v4.01
            var p, i, x;
            if (!d) {
                d = document;
            }
            if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
                d = parent.frames[n.substring(p + 1)].document;
                n = n.substring(0, p);
            }
            if (!(x = d[n]) && d.all) {
                x = d.all[n];
            }
            for (i = 0; !x && i < d.forms.length; i++) {
                x = d.forms[i][n];
            }
            for (i = 0; !x && d.layers && i < d.layers.length; i++) {
                x = MM_findObj(n, d.layers[i].document);
            }
            if (!x && d.getElementById) {
                x = d.getElementById(n);
            }
            return x;
        }
    </script>
    <style type="text/css">
        #pwd {
            margin: auto;
        }

        i#hovereffekt {
            position: relative;
            z-index: 1;
        }

        i#hovereffekt:hover {
            z-index: 2;
        }

        i#hovereffekt p {
            display: none;
        }

        i#hovereffekt:hover p {
            display: block;
            position: absolute;
            top: 3em;
            left: 3em;
            width: 300px;
            border-style: solid;
            border-width: 1px;
            padding: 5px;
            font-size: 15px;
        }

        a:link {
            color: #000 !important;
        }

        span {
            text-decoration: none !important;
            color: unset;
        }

        .error {
            font-size: 50px;
            color: red;
            text-align: center;
        }

        .zuweisungTable {
            width: 100%;
            text-align: center;
            border-collapse: collapse;
            margin-bottom: 20px;
        }

        .zuweisungTable tr td:first-child {
            border-right: 1px solid #ccc;
        }

        .zuweisungTable tr:first-child td {
            border-bottom: 1px solid #ccc;
        }

        .zuweisungTable tr td label {
            clear: both;
            float: left;

        }
    </style>
    <button id="new"></button>
    <br><br>
    <table class="keinRand" width="100%" cellspacing="0" cellpadding="3" id="dataTableBackendUsers">
        <thead>
        <tr>
            <td class="headline">Login</td>
            <td class="headline">2FA</td>
            <td class="headline">Letztes Login</td>
            <td class="headline">Aktionen</td>
        </tr>
        </thead>
        <tbody>
        {foreach $users as $user}
            {cycle values=' ,gerade' assign='class'}
            <tr class="rechts {$class}">
                <td>
                    {$user.email}
                </td>
                <td>
                    {if $user["2fa"] == true}
                        <div class="locked" title="Zwei-Faktor-Authentifizierung aktiv"
                             data-id="{$users.id}"></div>
                    {else}
                        <div class="unlocked" title="Zwei-Faktor-Authentifizierung inaktiv"
                             {if $users.id==$smarty.session.admin.uid}data-id="{$user.id}"
                             id="en2fa"{/if}></div>
                    {/if}
                </td>
                <td>
                    {if !is_null($user.last_login)}
                        {$user.last_login|date_format:"%d.%m.%Y %H:%M"} |
                        <a href="#" id="ip_{$smarty.section.u_ind.index}_{$user.ip}"
                           class="ipAddress">{$user.ip}</a>
                    {/if}
                </td>
                <td  style="text-align:left !important;">
                    <button class="edit" data-id="{$user.id}"></button>
                    <button class="del" data-id="{$user.id}"></button>
                </td>

            </tr>
        {/foreach}
        </tbody>
    </table>
    <div id="editDlg"></div>
    <div id="delDlg" title="Benutzer löschen">
        Wollen Sie den Benutzer <span id="userName"></span> wirklich löschen?
        <span id="mId" style="display: none"></span>
        <form id="userDelForm">
            <input type="hidden" name="_method" value="DELETE">
            <input type="hidden" name="_token" value="{csrf_token()}">
        </form>
    </div>
{/block}