Browse Source

you can add a read-only member now

star7th 9 years ago
parent
commit
35189f437d

+ 10 - 3
Application/Home/Controller/BaseController.class.php

@@ -45,7 +45,7 @@ class BaseController extends Controller {
 		echo json_encode($result);
 	}
 
-	//判断某用户是否有项目管理权限(项目成员项目创建者)
+	//判断某用户是否有项目管理权限(项目成员member_group_id为1,以及 项目创建者)
 	protected function checkItemPermn($uid , $item_id){
 
 		if (!$uid) {
@@ -61,7 +61,7 @@ class BaseController extends Controller {
 			session("mamage_item_".$item_id , 1 );
 			return true;
 		}
-		$ItemMember = D("ItemMember")->where("item_id = '%d' and uid = '%d' ",array($item_id,$uid))->find();
+		$ItemMember = D("ItemMember")->where("item_id = '%d' and uid = '%d' and member_group_id = 1 ",array($item_id,$uid))->find();
 		if ($ItemMember) {
 			session("mamage_item_".$item_id , 1 );
 			return true;
@@ -92,7 +92,14 @@ class BaseController extends Controller {
 			return true;
 		}
 
-		if ($this->checkItemPermn($uid , $item_id)) {
+		if ($this->checkItemCreator($uid , $item_id)) {
+			session("visit_item_".$item_id , 1 );
+			return true;
+		}
+
+		$ItemMember = D("ItemMember")->where("item_id = '%d' and uid = '%d'  ",array($item_id,$uid))->find();
+		if ($ItemMember) {
+			session("visit_item_".$item_id , 1 );
 			return true;
 		}
 

+ 3 - 1
Application/Home/Controller/MemberController.class.php

@@ -19,6 +19,7 @@ class MemberController extends BaseController {
     //保存
     public function save(){
         $item_id =  I("item_id/d");
+        $member_group_id =  I("member_group_id/d");
         $login_user = $this->checkLogin();
         if (!$this->checkItemCreator($login_user['uid'] , $item_id)) {
             $this->message(L('no_permissions'));
@@ -37,6 +38,7 @@ class MemberController extends BaseController {
         $data['username'] = $member['username'] ;
         $data['uid'] = $member['uid'] ;
         $data['item_id'] = $item_id ;
+        $data['member_group_id'] = $member_group_id ;
         $data['addtime'] = time() ;
         
 
@@ -67,7 +69,7 @@ class MemberController extends BaseController {
         }
     }
 
-    //删除目录
+    //删除成员
     public function delete(){
         $item_id = I("item_id/d")? I("item_id/d") : 0;
         $login_user = $this->checkLogin();

+ 16 - 0
Application/Home/Controller/UpdateController.class.php

@@ -112,6 +112,22 @@ class UpdateController extends BaseController {
             }
         }
 
+        //item_member表增加level字段
+        $columns = M("ItemMember")->getDbFields();
+        if ($columns) {
+            $has_it = 0 ;//是否存在该字段
+            foreach ($columns as $key => $value) {
+                if ($value == 'member_group_id') {
+                    $has_it = 1 ;
+                }
+            }
+            if ($has_it === 0) {
+                $sql = "ALTER TABLE ".C('DB_PREFIX')."item_member ADD member_group_id INT( 1 ) NOT NULL DEFAULT '1'  ;";
+                D("ItemMember")->execute($sql);
+            }
+        }
+
+
         echo 'OK!';
     }
 

+ 1 - 1
Application/Home/Lang/en-us.php

@@ -125,7 +125,7 @@ return array(
     'member_list'=>'member list',
     'click_to_delete'=>'Click to delete',
     'close'=>'Close',
-    
+    "member_group_id" => "Read-only(can read item ,but not edit or delete )",
     //page
     'input_page_title'=>'Please enter a page title',
     'level_2_directory'=>'Second-level catalog',

+ 1 - 0
Application/Home/Lang/zh-cn.php

@@ -125,6 +125,7 @@ return array(
     'member_list'=>'成员列表',
     'click_to_delete'=>'点击可删除',
     'close'=>'关闭',
+    "member_group_id" => "只读(只能查看项目,不能修改/删除)",
     
     //page
     'input_page_title'=>'请输入页面标题',

+ 1 - 1
Application/Home/View/Common/header.html

@@ -17,6 +17,6 @@
 
       DocConfig.hostUrl = DocConfig.host + "/" + DocConfig.app;
       </script>
-      <script src="__PUBLIC__/js/lang.{:LANG_SET}.js?v=2"></script>
+      <script src="__PUBLIC__/js/lang.{:LANG_SET}.js?v=21"></script>
   </head>
   <body>

+ 8 - 1
Application/Home/View/Member/edit.html

@@ -20,6 +20,13 @@
                 <input type="text" id="username" placeholder="{$Think.Lang.username}" value="">
               </div>
             </div>
+            <div class="control-group">
+              <div class="controls">
+                <label class="checkbox">
+                  <input type="checkbox" id="member_group_id">{$Think.Lang.member_group_id}
+                </label>
+              </div>
+            </div>
             <div class="control-group">
               <div class="controls">
                 <button type="submit" class="btn" id="save-cat">{$Think.Lang.save}</button>
@@ -47,4 +54,4 @@
  </div>
 
  <include file="Common/footer" />
-<script src="__PUBLIC__/js/member/edit.js?v=1"></script>
+<script src="__PUBLIC__/js/member/edit.js?v=12"></script>

+ 1 - 0
Public/js/lang.en-us.js

@@ -35,3 +35,4 @@ lang["delete_this_template"] = "Delete template";
 lang["no_templ_msg"] = "<p><br>You have not saved any templates.<br>When you edit the page, click the 'save' button on the right click, select Save as template in the down menu .<br>When you create or edit a new page, click the 'More template' button, then you can use the template you save</p>";
 lang["add_page_comments_msg"] = "Please enter the page comments.It can be page update log , or other you want.It will be showed in page history version convenient for you to check the change of page";
 
+lang["confirm_to_delete_member"] = "Sure to delete this member ?";

+ 1 - 0
Public/js/lang.zh-cn.js

@@ -36,3 +36,4 @@ lang["no_templ_msg"] = "<p><br>你尚未保存过任何模板。<br>你可以在
 lang["add_page_comments_msg"] = "请输入页面注释内容。可以填写你对页面的修改注释或者其它注释。添加后,在页面的历史版本处会显示每一个页面版本的注释,方便你查阅、追踪页面的修改";
 
 
+lang["confirm_to_delete_member"] = "确认要删除该成员?";

+ 5 - 2
Public/js/member/edit.js

@@ -34,9 +34,10 @@ $(function(){
   //保存
   $("#save-cat").click(function(){
       var username = $("#username").val();
+      var member_group_id = $("#member_group_id").is(':checked') ? 0 : 1 ;
       $.post(
         "?s=/home/member/save",
-        {"username": username ,"item_id": item_id  },
+        {"username": username ,"item_id": item_id,"member_group_id": member_group_id   },
         function(data){
           if (data.error_code == 0) {
             $("#username").val('');
@@ -56,7 +57,9 @@ $(function(){
   //删除
   $('#show-cat').delegate('.single-cat','click', function(){
       var username = $(this).attr("data-username");
-
+        if (!confirm(lang['confirm_to_delete_member'])) {
+            return false;
+        }
       if (username) {
           $.post(
               "?s=/home/member/delete",

BIN
Sqlite/showdoc.db.php


+ 1 - 1
composer.json

@@ -5,7 +5,7 @@
     "description": "ShowDoc is a tool greatly applicable for an IT team to share documents online",
     "keywords": ["showdoc","documents","Api"],
     "homepage": "https://github.com/star7th/showdoc",
-    "version":"v1.0.4",
+    "version":"v1.0.5",
     "license": "Apache-2.0",
     "authors": [
         {