Changeset 23622


Ignore:
Timestamp:
2014/09/14 20:56:56 (6 years ago)
Author:
undertree
Message:

#2615 システム管理者の権限を持つメンバーを1人もいなくならないように操作できないようにする 1つである管理者権限を削除する際にアラートを表示

Location:
branches/version-2_13-dev
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13-dev/data/Smarty/templates/admin/system/index.tpl

    r23546 r23622  
    6060                <!--{assign var="work" value=$list_data[data].work}--><td><!--{$arrWORK[$work]|h}--></td> 
    6161                <td align="center"><a href="#" onclick="eccube.openWindow('./input.php?id=<!--{$list_data[data].member_id}-->&amp;pageno=<!--{$tpl_disppage}-->','member_edit','620','450'); return false;">編集</a></td> 
    62                 <td align="center"><!--{if $workmax > 1}--><a href="#" onclick="eccube.deleteMember(<!--{$list_data[data].member_id}-->,<!--{$tpl_disppage}-->); return false;">削除</a><!--{else}-->-<!--{/if}--></td> 
    63                 <td align="center"> 
     62                <td align="center"><!--{if $workmax > 1}--><a href="#" onclick="eccube.deleteMember(<!--{$list_data[data].member_id}-->,<!--{$tpl_disppage}-->,<!--{if $list_data[data].authority==0}--><!--{$tpl_last_admin}--><!--{else}-->false<!--{/if}-->); return false;">削除</a><!--{else}-->-<!--{/if}--></td> 
    6463                <!--{$tpl_nomove}--> 
    6564                <!--{if !($smarty.section.data.first && $tpl_disppage eq 1)}--><a href="./rank.php?id=<!--{$list_data[data].member_id}-->&amp;move=up&amp;pageno=<!--{$tpl_disppage}-->">上へ</a><!--{/if}--> 
  • branches/version-2_13-dev/data/class/pages/admin/system/LC_Page_Admin_System.php

    r23546 r23622  
    9292        // 取得範囲を指定(開始行番号、行数のセット)して管理者データを取得 
    9393        $this->list_data = $this->getMemberData($objNavi->start_row); 
     94 
     95        $this->tpl_last_admin = $this->checkLastAdministrator($this->list_data); 
    9496    } 
    9597 
     
    130132 
    131133    /** 
     134     * 登録されている管理者権限が1つであるかチェックする. 
     135     * 
     136     * @access private 
     137     * @param  array   $arrMemberData 管理者データの連想配列 
     138     * @return boolean 管理者権限が1つであることを示すフラグ 
     139     */ 
     140    public function checkLastAdministrator($arrMemberData) 
     141    { 
     142        $numberOfAdministrator = 0; 
     143        foreach ($arrMemberData as $member) { 
     144            if ($member['authority'] == 0) { 
     145                $numberOfAdministrator++;   
     146                if ($numberOfAdministrator > 1) { 
     147                    break; 
     148                } 
     149            } 
     150        }         
     151        return $numberOfAdministrator == 1 ? 1 : 0; 
     152    } 
     153 
     154 
     155    /** 
    132156     * ページ番号が信頼しうる値かチェックする. 
    133157     * 
  • branches/version-2_13-dev/html/user_data/packages/admin/js/eccube.admin.js

    r23546 r23622  
    3131 
    3232    //指定されたidの削除を行うページを実行する。 
    33     eccube.deleteMember = function(id, pageno) { 
     33    eccube.deleteMember = function(id, pageno, lastAdminFlag) { 
    3434        var url = "./delete.php?id=" + id + "&pageno=" + pageno; 
    35         if(window.confirm('登録内容を削除しても宜しいでしょうか')){ 
     35        var message = lastAdminFlag ?  
     36        '警告: 管理者がいなくなってしまいますと、システム設定などの操作が行えなくりますが宜しいでしょうか'  
     37        : '登録内容を削除しても宜しいでしょうか'; 
     38        if(window.confirm(message)){ 
    3639            location.href = url; 
    3740        } 
Note: See TracChangeset for help on using the changeset viewer.