summaryrefslogtreecommitdiffstats
path: root/settings
diff options
context:
space:
mode:
authorraghunayyar <me@iraghu.com>2014-01-28 14:07:42 +0530
committerArthur Schiwon <blizzz@owncloud.com>2014-06-02 12:52:52 +0200
commitb2ca595509a1c14eb28768e4eed99a3ba6eba46a (patch)
tree1a4ec7ae74c185c3732062e5dcf780face6aa750 /settings
parent43ced8c6c76eff0f258bf055ca7049e407043a33 (diff)
downloadnextcloud-server-b2ca595509a1c14eb28768e4eed99a3ba6eba46a.tar.gz
nextcloud-server-b2ca595509a1c14eb28768e4eed99a3ba6eba46a.zip
Add GroupList Ajax to Users.
Diffstat (limited to 'settings')
-rw-r--r--settings/ajax/grouplist.php75
-rw-r--r--settings/css/settings.css2
-rw-r--r--settings/routes.php2
3 files changed, 78 insertions, 1 deletions
diff --git a/settings/ajax/grouplist.php b/settings/ajax/grouplist.php
new file mode 100644
index 00000000000..99acf50c764
--- /dev/null
+++ b/settings/ajax/grouplist.php
@@ -0,0 +1,75 @@
+<?php
+
+/**
+ * ownCloud - Core
+ *
+ * @author Morris Jobke
+ * @author Raghu Nayyar
+ * @copyright 2014 Morris Jobke morris.jobke@gmail.com
+ * @copyright 2014 Raghu Nayyar raghu.nayyar.007@gmail.com
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// This file is repsonsible for the Ajax Request for Group list
+// Outputs are Names of Groups and IDs of users which are a part of them
+
+OC_JSON::checkSubAdminUser();
+
+$users = array();
+$groupname = array();
+$useringroup = array();
+$userUid = OC_User::getUser();
+$isAdmin = OC_User::isAdminUser($userUid);
+
+if (isset($_GET['offset'])) {
+ $offset = $_GET['offset'];
+} else {
+ $offset = 0;
+}
+if (isset($_GET['limit'])) {
+ $limit = $_GET['limit'];
+} else {
+ $limit = 10;
+}
+
+if ($isAdmin) {
+ $groups = OC_Group::getGroups();
+ $batch = OC_User::getDisplayNames('', $limit, $offset);
+ foreach ($batch as $user) {
+ $users['users'][] = array( 'user' => $user );
+ }
+}
+else {
+ $groups = OC_SubAdmin::getSubAdminsGroups($userUid);
+ $batch = OC_Group::usersInGroups($groups, '', $limit, $offset);
+ foreach ($batch as $user) {
+ $users['users'][] = array( 'user' => $user );
+ }
+}
+
+// convert them to the needed format
+foreach( $groups as $gid ) {
+ $groupname[] = array(
+ 'id' => str_replace(' ','', $gid ),
+ 'name' => $gid,
+ 'useringroup' => OC_Group::usersInGroup($gid, '', $limit, $offset),
+ 'isAdmin' => !OC_User::isAdminUser($gid),
+ );
+}
+
+OCP\JSON::success(array('result' => $groupname ));
+
+?> \ No newline at end of file
diff --git a/settings/css/settings.css b/settings/css/settings.css
index 7d33d2afb92..37cd1b6f132 100644
--- a/settings/css/settings.css
+++ b/settings/css/settings.css
@@ -65,7 +65,7 @@ tr:hover>td.remove>a, tr:hover>td.password>img,tr:hover>td.displayName>img, tr:h
tr:hover>td.remove>a { float:right; }
div.quota {
- float: right;
+ margin: 10px;
display: block;
}
div.quota-select-wrapper { position: relative; }
diff --git a/settings/routes.php b/settings/routes.php
index 0e0f293b9be..77a10f68d6f 100644
--- a/settings/routes.php
+++ b/settings/routes.php
@@ -25,6 +25,8 @@ $this->create('settings_admin', '/settings/admin')
// users
$this->create('settings_ajax_userlist', '/settings/ajax/userlist')
->actionInclude('settings/ajax/userlist.php');
+$this->create('settings_ajax_grouplist', '/settings/ajax/grouplist')
+ ->actionInclude('settings/ajax/grouplist.php');
$this->create('settings_ajax_createuser', '/settings/ajax/createuser.php')
->actionInclude('settings/ajax/createuser.php');
$this->create('settings_ajax_removeuser', '/settings/ajax/removeuser.php')