|
From: <te...@us...> - 2012-07-23 08:29:34
|
Revision: 5530
http://web-erp.svn.sourceforge.net/web-erp/?rev=5530&view=rev
Author: tehonu
Date: 2012-07-23 08:29:23 +0000 (Mon, 23 Jul 2012)
Log Message:
-----------
Ricard: Restrict internal departments to users as described in http://www.weberp.org/forum/showthread.php?tid=171&pid=1029#pid1029
Modified Paths:
--------------
trunk/InternalStockRequest.php
trunk/WWW_Users.php
trunk/includes/UserLogin.php
trunk/sql/mysql/upgrade4.08-4.09.sql
Modified: trunk/InternalStockRequest.php
===================================================================
--- trunk/InternalStockRequest.php 2012-07-23 06:50:11 UTC (rev 5529)
+++ trunk/InternalStockRequest.php 2012-07-23 08:29:23 UTC (rev 5530)
@@ -166,20 +166,27 @@
</tr>
<tr>
<td>' . _('Department') . ':</td>';
-
-$sql="SELECT departmentid,
- description
- FROM departments
- ORDER BY description";
-
+if($_SESSION['AllowedDepartment'] == 0){
+ // any internal department allowed
+ $sql="SELECT departmentid,
+ description
+ FROM departments
+ ORDER BY description";
+}else{
+ // just 1 internal department allowed
+ $sql="SELECT departmentid,
+ description
+ FROM departments
+ WHERE departmentid = '". $_SESSION['AllowedDepartment'] ."'
+ ORDER BY description";
+}
$result=DB_query($sql, $db);
-echo '<td><select name="Department">
- <option value="">' . _('Select your department') . '</option>';
+echo '<td><select name="Department">';
while ($myrow=DB_fetch_array($result)){
if (isset($_SESSION['Request']->Department) AND $_SESSION['Request']->Department==$myrow['departmentid']){
- echo '<option selected="True" value="' . $myrow['departmentid'] . '">' . $myrow['departmentid'].' - ' .htmlspecialchars($myrow['description'], ENT_QUOTES,'UTF-8') . '</option>';
+ echo '<option selected="True" value="' . $myrow['departmentid'] . '">' . htmlspecialchars($myrow['description'], ENT_QUOTES,'UTF-8') . '</option>';
} else {
- echo '<option value="' . $myrow['departmentid'] . '">' . $myrow['departmentid'].' - ' .htmlspecialchars($myrow['description'], ENT_QUOTES,'UTF-8') . '</option>';
+ echo '<option value="' . $myrow['departmentid'] . '">' . htmlspecialchars($myrow['description'], ENT_QUOTES,'UTF-8') . '</option>';
}
}
echo '</select></td>
Modified: trunk/WWW_Users.php
===================================================================
--- trunk/WWW_Users.php 2012-07-23 06:50:11 UTC (rev 5529)
+++ trunk/WWW_Users.php 2012-07-23 08:29:23 UTC (rev 5530)
@@ -156,7 +156,8 @@
defaultlocation='" . $_POST['DefaultLocation'] ."',
modulesallowed='" . $ModulesAllowed . "',
blocked='" . $_POST['Blocked'] . "',
- pdflanguage='" . $_POST['PDFLanguage'] . "'
+ pdflanguage='" . $_POST['PDFLanguage'] . "',
+ department='" . $_POST['Department'] . "'
WHERE userid = '". $SelectedUser . "'";
prnMsg( _('The selected user record has been updated'), 'success' );
@@ -179,7 +180,8 @@
displayrecordsmax,
theme,
language,
- pdflanguage)
+ pdflanguage,
+ department)
VALUES ('" . $_POST['UserID'] . "',
'" . $_POST['RealName'] ."',
'" . $_POST['Cust'] ."',
@@ -197,7 +199,8 @@
'" . $_SESSION['DefaultDisplayRecordsMax'] . "',
'" . $_POST['Theme'] . "',
'". $_POST['UserLanguage'] ."',
- '" . $_POST['PDFLanguage'] . "')";
+ '" . $_POST['PDFLanguage'] . "',
+ '" . $_POST['Department'] . "')";
prnMsg( _('A new user record has been inserted'), 'success' );
}
@@ -225,6 +228,7 @@
unset($_POST['Theme']);
unset($_POST['UserLanguage']);
unset($_POST['PDFLanguage']);
+ unset($_POST['Department']);
unset($SelectedUser);
}
@@ -376,7 +380,8 @@
blocked,
theme,
language,
- pdflanguage
+ pdflanguage,
+ department
FROM www_users
WHERE userid='" . $SelectedUser . "'";
@@ -400,6 +405,7 @@
$_POST['UserLanguage'] = $myrow['language'];
$_POST['Blocked'] = $myrow['blocked'];
$_POST['PDFLanguage'] = $myrow['pdflanguage'];
+ $_POST['Department'] = $myrow['department'];
echo '<input type="hidden" name="SelectedUser" value="' . $SelectedUser . '" />';
echo '<input type="hidden" name="UserID" value="' . $_POST['UserID'] . '" />';
@@ -680,7 +686,36 @@
echo '</select></td>
</tr>';
+/* Allowed Department for Internal Requests */
+
echo '<tr>
+ <td>' . _('Allowed Department for Internal Requests') . ':</td>';
+
+$sql="SELECT departmentid,
+ description
+ FROM departments
+ ORDER BY description";
+
+$result=DB_query($sql, $db);
+echo '<td><select name="Department">';
+if ((isset($_POST['Department']) AND $_POST['Department']=='0') OR !isset($_POST['Department'])){
+ echo '<option selected="selected" value="0">' . _('Any Internal Department') . '</option>';
+} else {
+ echo '<option value="">' . _('Any Internal Department') . '</option>';
+}
+while ($myrow=DB_fetch_array($result)){
+ if (isset($_POST['Department']) AND $myrow['departmentid'] == $_POST['Department']){
+ echo '<option selected="selected" value="' . $myrow['departmentid'] . '">' . $myrow['description'] . '</option>';
+ } else {
+ echo '<option value="' . $myrow['departmentid'] . '">' . $myrow['description'] . '</option>';
+ }
+}
+echo '</select></td>
+ </tr>';
+
+/* Account status */
+
+echo '<tr>
<td>' . _('Account Status') . ':</td>
<td><select name="Blocked">';
if ($_POST['Blocked']==0){
Modified: trunk/includes/UserLogin.php
===================================================================
--- trunk/includes/UserLogin.php 2012-07-23 06:50:11 UTC (rev 5529)
+++ trunk/includes/UserLogin.php 2012-07-23 08:29:23 UTC (rev 5530)
@@ -66,6 +66,8 @@
$_SESSION['Language'] = $myrow['language'];
$_SESSION['SalesmanLogin'] = $myrow['salesman'];
$_SESSION['CanCreateTender'] = $myrow['cancreatetender'];
+ $_SESSION['AllowedDepartment'] = $myrow['department'];
+
if (isset($myrow['pdflanguage'])) {
$_SESSION['PDFLanguage'] = $myrow['pdflanguage'];
} else {
Modified: trunk/sql/mysql/upgrade4.08-4.09.sql
===================================================================
--- trunk/sql/mysql/upgrade4.08-4.09.sql 2012-07-23 06:50:11 UTC (rev 5529)
+++ trunk/sql/mysql/upgrade4.08-4.09.sql 2012-07-23 08:29:23 UTC (rev 5530)
@@ -17,4 +17,6 @@
INSERT INTO scripts VALUES ('GLJournalInquiry.php','15','General Ledger Journal Inquiry');
INSERT INTO scripts VALUES ('PDFGLJournal.php','15','General Ledger Journal Print');
+ALTER TABLE `www_users` ADD `department` INT( 11 ) NOT NULL DEFAULT '0';
+
UPDATE config SET confvalue='4.08.2' WHERE confname='VersionNumber';
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|