From: <te...@us...> - 2015-11-11 08:03:24
|
Revision: 7385 http://sourceforge.net/p/web-erp/reponame/7385 Author: tehonu Date: 2015-11-11 08:03:20 +0000 (Wed, 11 Nov 2015) Log Message: ----------- New feature GL accounts - users authority Modified Paths: -------------- trunk/AnalysisHorizontalIncome.php trunk/AnalysisHorizontalPosition.php trunk/CustomerReceipt.php trunk/GLAccountCSV.php trunk/GLAccountInquiry.php trunk/GLAccountReport.php trunk/GLBalanceSheet.php trunk/GLJournal.php trunk/GLJournalInquiry.php trunk/GLProfit_Loss.php trunk/GLTagProfit_Loss.php trunk/GLTransInquiry.php trunk/GLTrialBalance.php trunk/PDFChequeListing.php trunk/Payments.php trunk/SelectGLAccount.php trunk/WWW_Users.php trunk/includes/MainMenuLinksArray.php trunk/sql/mysql/upgrade4.12.3-4.13.sql Added Paths: ----------- trunk/GLAccountUsers.php trunk/UserGLAccounts.php Modified: trunk/AnalysisHorizontalIncome.php =================================================================== --- trunk/AnalysisHorizontalIncome.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/AnalysisHorizontalIncome.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -183,9 +183,10 @@ SUM(CASE WHEN chartdetails.period='" . $_POST['ToPeriod'] . "' THEN chartdetails.bfwd + chartdetails.actual ELSE 0 END) AS lastprdcfwd, SUM(CASE WHEN chartdetails.period='" . ($_POST['FromPeriod'] - 12) . "' THEN chartdetails.bfwd ELSE 0 END) AS firstprdbfwdly, SUM(CASE WHEN chartdetails.period='" . ($_POST['ToPeriod']-12) . "' THEN chartdetails.bfwd + chartdetails.actual ELSE 0 END) AS lastprdcfwdly - FROM chartmaster INNER JOIN accountgroups - ON chartmaster.group_ = accountgroups.groupname INNER JOIN chartdetails - ON chartmaster.accountcode= chartdetails.accountcode + FROM chartmaster + INNER JOIN accountgroups ON chartmaster.group_ = accountgroups.groupname + INNER JOIN chartdetails ON chartmaster.accountcode= chartdetails.accountcode + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canview=1 WHERE accountgroups.pandl=1 GROUP BY accountgroups.sectioninaccounts, accountgroups.parentgroupname, Modified: trunk/AnalysisHorizontalPosition.php =================================================================== --- trunk/AnalysisHorizontalPosition.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/AnalysisHorizontalPosition.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -156,9 +156,10 @@ chartmaster.accountname, Sum(CASE WHEN chartdetails.period='" . $_POST['BalancePeriodEnd'] . "' THEN chartdetails.bfwd + chartdetails.actual ELSE 0 END) AS balancecfwd, Sum(CASE WHEN chartdetails.period='" . ($_POST['BalancePeriodEnd'] - 12) . "' THEN chartdetails.bfwd + chartdetails.actual ELSE 0 END) AS balancecfwdly - FROM chartmaster INNER JOIN accountgroups - ON chartmaster.group_ = accountgroups.groupname INNER JOIN chartdetails - ON chartmaster.accountcode= chartdetails.accountcode + FROM chartmaster + INNER JOIN accountgroups ON chartmaster.group_ = accountgroups.groupname + INNER JOIN chartdetails ON chartmaster.accountcode= chartdetails.accountcode + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canview=1 WHERE accountgroups.pandl=0 GROUP BY accountgroups.groupname, chartdetails.accountcode, Modified: trunk/CustomerReceipt.php =================================================================== --- trunk/CustomerReceipt.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/CustomerReceipt.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -1100,7 +1100,11 @@ <td>' . _('GL Account') . ':</td> <td><select tabindex="8" name="GLCode">'; - $SQL = "SELECT accountcode, accountname FROM chartmaster ORDER BY accountcode"; + $SQL = "SELECT chartmaster.accountcode, + chartmaster.accountname + FROM chartmaster + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canupd=1 + ORDER BY chartmaster.accountcode"; $result=DB_query($SQL); if (DB_num_rows($result)==0){ echo '</select>' . _('No General ledger accounts have been set up yet') . ' - ' . _('receipts cannot be entered against GL accounts until the GL accounts are set up') . '</td> Modified: trunk/GLAccountCSV.php =================================================================== --- trunk/GLAccountCSV.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/GLAccountCSV.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -34,7 +34,11 @@ <tr> <td>' . _('Selected Accounts') . ':</td> <td><select name="Account[]" size="12" multiple="multiple">'; -$sql = "SELECT accountcode, accountname FROM chartmaster ORDER BY accountcode"; +$sql = "SELECT chartmaster.accountcode, + chartmaster.accountname + FROM chartmaster + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canview=1 + ORDER BY chartmaster.accountcode"; $AccountsResult = DB_query($sql); $i=0; while ($myrow=DB_fetch_array($AccountsResult,$db)){ Modified: trunk/GLAccountInquiry.php =================================================================== --- trunk/GLAccountInquiry.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/GLAccountInquiry.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -49,7 +49,11 @@ <td>' . _('Account').':</td> <td><select name="Account">'; -$sql = "SELECT accountcode, accountname FROM chartmaster ORDER BY accountcode"; +$sql = "SELECT chartmaster.accountcode, + chartmaster.accountname + FROM chartmaster + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canview=1 + ORDER BY chartmaster.accountcode"; $Account = DB_query($sql); while ($myrow=DB_fetch_array($Account,$db)){ if($myrow['accountcode'] == $SelectedAccount){ Modified: trunk/GLAccountReport.php =================================================================== --- trunk/GLAccountReport.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/GLAccountReport.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -235,7 +235,11 @@ <tr> <td>' . _('Selected Accounts') . ':</td> <td><select name="Account[]" multiple="multiple">'; - $sql = "SELECT accountcode, accountname FROM chartmaster ORDER BY accountcode"; + $sql = "SELECT chartmaster.accountcode, + chartmaster.accountname + FROM chartmaster + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canview=1 + ORDER BY chartmaster.accountcode"; $AccountsResult = DB_query($sql); $i=0; while ($myrow=DB_fetch_array($AccountsResult)){ Added: trunk/GLAccountUsers.php =================================================================== --- trunk/GLAccountUsers.php (rev 0) +++ trunk/GLAccountUsers.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -0,0 +1,261 @@ +<?php +/* $Id: glaccountusers.php 6806 2013-09-28 05:10:46Z daintree $*/ + +include('includes/session.inc'); +$Title = _('GL Account Authorised Users Maintenance'); +include('includes/header.inc'); + +echo '<p class="page_title_text"><img src="' . $RootPath . '/css/' . $Theme . '/images/money_add.png" title="' . _('GL Account Authorised Users') . '" alt="" />' . ' ' . $Title . '</p>'; + +if (isset($_POST['SelectedUser'])) { + $SelectedUser = mb_strtoupper($_POST['SelectedUser']); +} elseif (isset($_GET['SelectedUser'])) { + $SelectedUser = mb_strtoupper($_GET['SelectedUser']); +} else { + $SelectedUser = ''; +} + +if (isset($_POST['SelectedGLAccount'])) { + $SelectedGLAccount = mb_strtoupper($_POST['SelectedGLAccount']); +} elseif (isset($_GET['SelectedGLAccount'])) { + $SelectedGLAccount = mb_strtoupper($_GET['SelectedGLAccount']); +} + +if (isset($_POST['Cancel'])) { + unset($SelectedGLAccount); + unset($SelectedUser); +} + +if (isset($_POST['Process'])) { + if ($_POST['SelectedGLAccount'] == '') { + prnMsg(_('You have not selected any GL Account'), 'error'); + echo '<br />'; + unset($SelectedGLAccount); + unset($_POST['SelectedGLAccount']); + } +} + +if (isset($_POST['submit'])) { + + $InputError = 0; + + if ($_POST['SelectedUser'] == '') { + $InputError = 1; + prnMsg(_('You have not selected an user to be authorised to use this GL Account'), 'error'); + echo '<br />'; + unset($SelectedGLAccount); + } + + if ($InputError != 1) { + + // First check the user is not being duplicated + + $CheckSql = "SELECT count(*) + FROM glaccountusers + WHERE accountcode= '" . $_POST['SelectedGLAccount'] . "' + AND userid = '" . $_POST['SelectedUser'] . "'"; + + $CheckResult = DB_query($CheckSql); + $CheckRow = DB_fetch_row($CheckResult); + + if ($CheckRow[0] > 0) { + $InputError = 1; + prnMsg(_('The user') . ' ' . $_POST['SelectedUser'] . ' ' . _('is already authorised to use this GL Account'), 'error'); + } else { + // Add new record on submit + $SQL = "INSERT INTO glaccountusers (accountcode, + userid, + canview, + canupd) + VALUES ('" . $_POST['SelectedGLAccount'] . "', + '" . $_POST['SelectedUser'] . "', + '1', + '1')"; + + $msg = _('User') . ': ' . $_POST['SelectedUser'] . ' ' . _('authority to use the') . ' ' . $_POST['SelectedGLAccount'] . ' ' . _('GL Account has been changed'); + $Result = DB_query($SQL); + prnMsg($msg, 'success'); + unset($_POST['SelectedUser']); + } + } +} elseif (isset($_GET['delete'])) { + $SQL = "DELETE FROM glaccountusers + WHERE accountcode='" . $SelectedGLAccount . "' + AND userid='" . $SelectedUser . "'"; + + $ErrMsg = _('The GL Account user record could not be deleted because'); + $Result = DB_query($SQL, $ErrMsg); + prnMsg(_('User') . ' ' . $SelectedUser . ' ' . _('has had their authority to use the') . ' ' . $SelectedGLAccount . ' ' . _('GL Account removed'), 'success'); + unset($_GET['delete']); +} elseif (isset($_GET['ToggleUpdate'])) { + $SQL = "UPDATE glaccountusers + SET canupd='" . $_GET['ToggleUpdate'] . "' + WHERE accountcode='" . $SelectedGLAccount . "' + AND userid='" . $SelectedUser . "'"; + + $ErrMsg = _('The GL Account user record could not be deleted because'); + $Result = DB_query($SQL, $ErrMsg); + prnMsg(_('User') . ' ' . $SelectedUser . ' ' . _('has had their authority to update') . ' ' . $SelectedGLAccount . ' ' . _('GL Account removed'), 'success'); + unset($_GET['ToggleUpdate']); +} + +if (!isset($SelectedGLAccount)) { + + /* It could still be the second time the page has been run and a record has been selected for modification - SelectedUser will exist because it was sent with the new call. If its the first time the page has been displayed with no parameters + then none of the above are true. These will call the same page again and allow update/input or deletion of the records*/ + echo '<form method="post" action="' . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . '">'; + echo '<input type="hidden" name="FormID" value="' . $_SESSION['FormID'] . '" /> + <table class="selection"> + <tr> + <td>' . _('Select GL Account') . ':</td> + <td><select name="SelectedGLAccount">'; + + $Result = DB_query("SELECT accountcode, + accountname + FROM chartmaster + ORDER BY accountcode"); + + echo '<option value="">' . _('Not Yet Selected') . '</option>'; + while ($MyRow = DB_fetch_array($Result)) { + if (isset($SelectedGLAccount) and $MyRow['accountcode'] == $SelectedGLAccount) { + echo '<option selected="selected" value="'; + } else { + echo '<option value="'; + } + echo $MyRow['accountcode'] . '">' . $MyRow['accountcode'] . ' - ' . $MyRow['accountname'] . '</option>'; + + } //end while loop + + echo '</select></td></tr>'; + + echo '</table>'; // close main table + DB_free_result($Result); + + echo '<div class="centre"> + <input type="submit" name="Process" value="' . _('Accept') . '" /> + <input type="submit" name="Cancel" value="' . _('Cancel') . '" /> + </div>'; + + echo '</form>'; + +} + +//end of ifs and buts! +if (isset($_POST['process']) or isset($SelectedGLAccount)) { + $SQLName = "SELECT accountname + FROM chartmaster + WHERE accountcode='" . $SelectedGLAccount . "'"; + $Result = DB_query($SQLName); + $MyRow = DB_fetch_array($Result); + $SelectedGLAccountName = $MyRow['accountname']; + + echo '<div class="centre"><a href="' . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . '">' . _('Authorised users for') . ' ' . $SelectedGLAccountName . ' ' . _('GL Account') . '</a></div> + <form method="post" action="' . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . '"> + <input type="hidden" name="FormID" value="' . $_SESSION['FormID'] . '" /> + <input type="hidden" name="SelectedGLAccount" value="' . $SelectedGLAccount . '" />'; + + $SQL = "SELECT glaccountusers.userid, + canview, + canupd, + www_users.realname + FROM glaccountusers INNER JOIN www_users + ON glaccountusers.userid=www_users.userid + WHERE glaccountusers.accountcode='" . $SelectedGLAccount . "' + ORDER BY glaccountusers.userid ASC"; + + $Result = DB_query($SQL); + + echo '<table class="selection">'; + echo '<tr> + <th colspan="6"><h3>' . _('Authorised users for GL Acccount') . ': ' . $SelectedGLAccountName . '</h3></th> + </tr>'; + echo '<tr> + <th>' . _('User Code') . '</th> + <th>' . _('User Name') . '</th> + <th>' . _('View') . '</th> + <th>' . _('Update') . '</th> + </tr>'; + + $k = 0; //row colour counter + + while ($MyRow = DB_fetch_array($Result)) { + if ($k == 1) { + echo '<tr class="EvenTableRows">'; + $k = 0; + } else { + echo '<tr class="OddTableRows">'; + $k = 1; + } + + if ($MyRow['canupd'] == 1) { + $ToggleText = '<td><a href="%s?SelectedUser=%s&ToggleUpdate=0&SelectedGLAccount=' . $SelectedGLAccount . '" onclick="return confirm(\'' . _('Are you sure you wish to remove Update for this user?') . '\');">' . _('Remove Update') . '</a></td>'; + } else { + $ToggleText = '<td><a href="%s?SelectedUser=%s&ToggleUpdate=1&SelectedGLAccount=' . $SelectedGLAccount . '" onclick="return confirm(\'' . _('Are you sure you wish to add Update for this user?') . '\');">' . _('Add Update') . '</a></td>'; + } + + printf('<td>%s</td> + <td>%s</td> + <td>%s</td> + <td>%s</td>' . + $ToggleText . ' + <td><a href="%s?SelectedUser=%s&delete=yes&SelectedGLAccount=' . $SelectedGLAccount . '" onclick="return confirm(\'' . _('Are you sure you wish to un-authorise this user?') . '\');">' . _('Un-authorise') . '</a></td> + </tr>', + $MyRow['userid'], + $MyRow['realname'], + $MyRow['canview'], + $MyRow['canupd'], + htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8'), + $MyRow['userid'], + htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8'), + $MyRow['userid']); + } + //END WHILE LIST LOOP + echo '</table>'; + + if (!isset($_GET['delete'])) { + + + echo '<table class="selection">'; //Main table + + echo '<tr> + <td>' . _('Select User') . ':</td> + <td><select name="SelectedUser">'; + + $Result = DB_query("SELECT userid, + realname + FROM www_users + WHERE NOT EXISTS (SELECT glaccountusers.userid + FROM glaccountusers + WHERE glaccountusers.accountcode='" . $SelectedGLAccount . "' + AND glaccountusers.userid=www_users.userid)"); + + if (!isset($_POST['SelectedUser'])) { + echo '<option selected="selected" value="">' . _('Not Yet Selected') . '</option>'; + } + while ($MyRow = DB_fetch_array($Result)) { + if (isset($_POST['SelectedUser']) and $MyRow['userid'] == $_POST['SelectedUser']) { + echo '<option selected="selected" value="'; + } else { + echo '<option value="'; + } + echo $MyRow['userid'] . '">' . $MyRow['userid'] . ' - ' . $MyRow['realname'] . '</option>'; + + } //end while loop + + echo '</select> + </td> + </tr> + </table>'; // close main table + DB_free_result($Result); + + echo '<div class="centre"> + <input type="submit" name="submit" value="' . _('Accept') . '" /> + <input type="submit" name="Cancel" value="' . _('Cancel') . '" /> + </div> + </form>'; + + } // end if user wish to delete +} + +include('includes/footer.inc'); +?> Modified: trunk/GLBalanceSheet.php =================================================================== --- trunk/GLBalanceSheet.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/GLBalanceSheet.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -130,9 +130,10 @@ chartmaster.accountname, Sum(CASE WHEN chartdetails.period='" . $_POST['BalancePeriodEnd'] . "' THEN chartdetails.bfwd + chartdetails.actual ELSE 0 END) AS balancecfwd, Sum(CASE WHEN chartdetails.period='" . ($_POST['BalancePeriodEnd'] - 12) . "' THEN chartdetails.bfwd + chartdetails.actual ELSE 0 END) AS lybalancecfwd - FROM chartmaster INNER JOIN accountgroups - ON chartmaster.group_ = accountgroups.groupname INNER JOIN chartdetails - ON chartmaster.accountcode= chartdetails.accountcode + FROM chartmaster + INNER JOIN accountgroups ON chartmaster.group_ = accountgroups.groupname + INNER JOIN chartdetails ON chartmaster.accountcode= chartdetails.accountcode + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canview=1 WHERE accountgroups.pandl=0 GROUP BY accountgroups.groupname, chartdetails.accountcode, @@ -372,9 +373,10 @@ chartmaster.accountname, Sum(CASE WHEN chartdetails.period='" . $_POST['BalancePeriodEnd'] . "' THEN chartdetails.bfwd + chartdetails.actual ELSE 0 END) AS balancecfwd, Sum(CASE WHEN chartdetails.period='" . ($_POST['BalancePeriodEnd'] - 12) . "' THEN chartdetails.bfwd + chartdetails.actual ELSE 0 END) AS lybalancecfwd - FROM chartmaster INNER JOIN accountgroups - ON chartmaster.group_ = accountgroups.groupname INNER JOIN chartdetails - ON chartmaster.accountcode= chartdetails.accountcode + FROM chartmaster + INNER JOIN accountgroups ON chartmaster.group_ = accountgroups.groupname + INNER JOIN chartdetails ON chartmaster.accountcode= chartdetails.accountcode + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canview=1 WHERE accountgroups.pandl=0 GROUP BY accountgroups.groupname, chartdetails.accountcode, Modified: trunk/GLJournal.php =================================================================== --- trunk/GLJournal.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/GLJournal.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -324,10 +324,11 @@ } echo '<td><input type="text" autofocus="autofocus" name="GLManualCode" maxlength="12" size="12" onchange="inArray(this, GLCode.options,'. "'".'The account code '."'".'+ this.value+ '."'".' doesnt exist'."'".')" value="'. $_POST['GLManualCode'] .'" /></td>'; -$sql="SELECT accountcode, - accountname +$sql="SELECT chartmaster.accountcode, + chartmaster.accountname FROM chartmaster - ORDER BY accountcode"; + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canupd=1 + ORDER BY chartmaster.accountcode"; $result=DB_query($sql); echo '<td> Modified: trunk/GLJournalInquiry.php =================================================================== --- trunk/GLJournalInquiry.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/GLJournalInquiry.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -102,10 +102,26 @@ } else { echo '<tr><td colspan="2"></td>'; } + + // if user is allowed to see the account we show it, other wise we show "OTHERS ACCOUNTS" + $CheckSql = "SELECT count(*) + FROM glaccountusers + WHERE accountcode= '" . $myrow['account'] . "' + AND userid = '" . $_SESSION['UserID'] . "' + AND canview = '1'"; + $CheckResult = DB_query($CheckSql); + $CheckRow = DB_fetch_row($CheckResult); - echo '<td>' . $myrow['account'] . '</td> - <td>' . $myrow['accountname'] . '</td> - <td>' . $myrow['narrative'] . '</td> + if ($CheckRow[0] > 0) { + echo '<td>' . $myrow['account'] . '</td> + <td>' . $myrow['accountname'] . '</td>'; + }else{ + echo '<td>' . _('Others') . '</td> + <td>' . _('Other GL Accounts') . '</td>'; + } + + + echo '<td>' . $myrow['narrative'] . '</td> <td class="number">' . locale_number_format($myrow['amount'],$_SESSION['CompanyRecord']['decimalplaces']) . '</td> <td class="number">' . $myrow['tag'] . ' - ' . $myrow['tagdescription'] . '</td>'; Modified: trunk/GLProfit_Loss.php =================================================================== --- trunk/GLProfit_Loss.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/GLProfit_Loss.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -166,9 +166,10 @@ Sum(CASE WHEN chartdetails.period='" . ($_POST['FromPeriod'] - 12) . "' THEN chartdetails.bfwd ELSE 0 END) AS lyfirstprdbfwd, Sum(CASE WHEN chartdetails.period='" . ($_POST['ToPeriod']-12) . "' THEN chartdetails.bfwd + chartdetails.actual ELSE 0 END) AS lylastprdcfwd, Sum(CASE WHEN chartdetails.period='" . $_POST['ToPeriod'] . "' THEN chartdetails.bfwdbudget + chartdetails.budget ELSE 0 END) AS lastprdbudgetcfwd - FROM chartmaster INNER JOIN accountgroups - ON chartmaster.group_ = accountgroups.groupname INNER JOIN chartdetails - ON chartmaster.accountcode= chartdetails.accountcode + FROM chartmaster + INNER JOIN accountgroups ON chartmaster.group_ = accountgroups.groupname + INNER JOIN chartdetails ON chartmaster.accountcode= chartdetails.accountcode + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canview=1 WHERE accountgroups.pandl=1 GROUP BY accountgroups.sectioninaccounts, accountgroups.groupname, @@ -594,9 +595,10 @@ SUM(CASE WHEN chartdetails.period='" . ($_POST['FromPeriod'] - 12) . "' THEN chartdetails.bfwd ELSE 0 END) AS lyfirstprdbfwd, SUM(CASE WHEN chartdetails.period='" . ($_POST['ToPeriod']-12) . "' THEN chartdetails.bfwd + chartdetails.actual ELSE 0 END) AS lylastprdcfwd, SUM(CASE WHEN chartdetails.period='" . $_POST['ToPeriod'] . "' THEN chartdetails.bfwdbudget + chartdetails.budget ELSE 0 END) AS lastprdbudgetcfwd - FROM chartmaster INNER JOIN accountgroups - ON chartmaster.group_ = accountgroups.groupname INNER JOIN chartdetails - ON chartmaster.accountcode= chartdetails.accountcode + FROM chartmaster + INNER JOIN accountgroups ON chartmaster.group_ = accountgroups.groupname + INNER JOIN chartdetails ON chartmaster.accountcode= chartdetails.accountcode + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canview=1 WHERE accountgroups.pandl=1 GROUP BY accountgroups.sectioninaccounts, accountgroups.parentgroupname, Modified: trunk/GLTagProfit_Loss.php =================================================================== --- trunk/GLTagProfit_Loss.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/GLTagProfit_Loss.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -172,9 +172,10 @@ chartmaster.accountname, Sum(CASE WHEN (gltrans.periodno>='" . $_POST['FromPeriod'] . "' and gltrans.periodno<='" . $_POST['ToPeriod'] . "') THEN gltrans.amount ELSE 0 END) AS TotalAllPeriods, Sum(CASE WHEN (gltrans.periodno='" . $_POST['ToPeriod'] . "') THEN gltrans.amount ELSE 0 END) AS TotalThisPeriod - FROM chartmaster INNER JOIN accountgroups - ON chartmaster.group_ = accountgroups.groupname INNER JOIN gltrans - ON chartmaster.accountcode= gltrans.account + FROM chartmaster + INNER JOIN accountgroups ON chartmaster.group_ = accountgroups.groupname + INNER JOIN gltrans ON chartmaster.accountcode= gltrans.account + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canview=1 WHERE accountgroups.pandl=1 AND gltrans.tag='" . $_POST['tag'] . "' GROUP BY accountgroups.sectioninaccounts, Modified: trunk/GLTransInquiry.php =================================================================== --- trunk/GLTransInquiry.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/GLTransInquiry.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -124,8 +124,23 @@ $DetailResult = DB_query($DetailSQL); } else { - $URL = $RootPath . '/GLAccountInquiry.php?Account=' . $TransRow['account']; + // if user is allowed to see the account we show it, other wise we show "OTHERS ACCOUNTS" + $CheckSql = "SELECT count(*) + FROM glaccountusers + WHERE accountcode= '" . $TransRow['account'] . "' + AND userid = '" . $_SESSION['UserID'] . "' + AND canview = '1'"; + $CheckResult = DB_query($CheckSql); + $CheckRow = DB_fetch_row($CheckResult); + if ($CheckRow[0] > 0) { + $AccountName = $TransRow['accountname']; + $URL = $RootPath . '/GLAccountInquiry.php?Account=' . $TransRow['account']; + }else{ + $AccountName = _('Other GL Accounts'); + $URL = ""; + } + if( mb_strlen($TransRow['narrative'])==0 ) { $TransRow['narrative'] = ' '; } @@ -137,11 +152,20 @@ echo '<tr class="EvenTableRows">'; $j++; } + echo ' <td>' . MonthAndYearFromSQLDate($TransRow['lastdate_in_period']) . '</td> - <td>' . $TranDate . '</td> - <td><a href="' . $URL . '">' . $TransRow['accountname'] . '</a></td> - <td>' . $TransRow['narrative'] . '</td> - <td class="number">' . $DebitAmount . '</td> + <td>' . $TranDate . '</td>'; + + if ($URL == ""){ + // User is not allowed to see this GL account, don't show the details + echo ' <td>' . $AccountName . '</td> + <td>' . $AccountName . '</td>'; + }else{ + echo ' <td><a href="' . $URL . '">' . $AccountName . '</a></td> + <td>' . $TransRow['narrative'] . '</td>'; + } + + echo ' <td class="number">' . $DebitAmount . '</td> <td class="number">' . $CreditAmount . '</td> <td>' . $Posted . '</td> </tr>'; Modified: trunk/GLTrialBalance.php =================================================================== --- trunk/GLTrialBalance.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/GLTrialBalance.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -147,8 +147,10 @@ Sum(CASE WHEN chartdetails.period='" . $_POST['ToPeriod'] . "' THEN chartdetails.actual ELSE 0 END) AS monthactual, Sum(CASE WHEN chartdetails.period='" . $_POST['ToPeriod'] . "' THEN chartdetails.budget ELSE 0 END) AS monthbudget, Sum(CASE WHEN chartdetails.period='" . $_POST['ToPeriod'] . "' THEN chartdetails.bfwdbudget + chartdetails.budget ELSE 0 END) AS lastprdbudgetcfwd - FROM chartmaster INNER JOIN accountgroups ON chartmaster.group_ = accountgroups.groupname + FROM chartmaster + INNER JOIN accountgroups ON chartmaster.group_ = accountgroups.groupname INNER JOIN chartdetails ON chartmaster.accountcode= chartdetails.accountcode + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canview=1 GROUP BY accountgroups.groupname, accountgroups.parentgroupname, accountgroups.pandl, @@ -417,8 +419,10 @@ Sum(CASE WHEN chartdetails.period='" . $_POST['ToPeriod'] . "' THEN chartdetails.actual ELSE 0 END) AS monthactual, Sum(CASE WHEN chartdetails.period='" . $_POST['ToPeriod'] . "' THEN chartdetails.budget ELSE 0 END) AS monthbudget, Sum(CASE WHEN chartdetails.period='" . $_POST['ToPeriod'] . "' THEN chartdetails.bfwdbudget + chartdetails.budget ELSE 0 END) AS lastprdbudgetcfwd - FROM chartmaster INNER JOIN accountgroups ON chartmaster.group_ = accountgroups.groupname + FROM chartmaster + INNER JOIN accountgroups ON chartmaster.group_ = accountgroups.groupname INNER JOIN chartdetails ON chartmaster.accountcode= chartdetails.accountcode + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canview=1 GROUP BY accountgroups.groupname, accountgroups.pandl, accountgroups.sequenceintb, Modified: trunk/PDFChequeListing.php =================================================================== --- trunk/PDFChequeListing.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/PDFChequeListing.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -137,6 +137,7 @@ $LeftOvers = $pdf->addTextWrap($Left_Margin+65,$YPos,90,$FontSize,$myrow['ref'], 'left'); $sql = "SELECT accountname, + accountcode, amount, narrative FROM gltrans INNER JOIN chartmaster @@ -156,7 +157,21 @@ exit; } while ($GLRow=DB_fetch_array($GLTransResult)){ - $LeftOvers = $pdf->addTextWrap($Left_Margin+150,$YPos,90,$FontSize,$GLRow['accountname'], 'left'); + // if user is allowed to see the account we show it, other wise we show "OTHERS ACCOUNTS" + $CheckSql = "SELECT count(*) + FROM glaccountusers + WHERE accountcode= '" . $GLRow['accountcode'] . "' + AND userid = '" . $_SESSION['UserID'] . "' + AND canview = '1'"; + $CheckResult = DB_query($CheckSql); + $CheckRow = DB_fetch_row($CheckResult); + + if ($CheckRow[0] > 0) { + $AccountName = $GLRow['accountname']; + }else{ + $AccountName = _('Other GL Accounts'); + } + $LeftOvers = $pdf->addTextWrap($Left_Margin+150,$YPos,90,$FontSize,$AccountName, 'left'); $LeftOvers = $pdf->addTextWrap($Left_Margin+245,$YPos,60,$FontSize,locale_number_format($GLRow['amount'],$_SESSION['CompanyRecord']['decimalplaces']), 'right'); $LeftOvers = $pdf->addTextWrap($Left_Margin+310,$YPos,120,$FontSize,$GLRow['narrative'], 'left'); $YPos -= ($line_height); Modified: trunk/Payments.php =================================================================== --- trunk/Payments.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/Payments.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -1013,16 +1013,18 @@ } if (isset($_POST['GLGroup']) AND $_POST['GLGroup']!='') { - $SQL = "SELECT accountcode, - accountname + $SQL = "SELECT chartmaster.accountcode, + chartmaster.accountname FROM chartmaster - WHERE group_='".$_POST['GLGroup']."' - ORDER BY accountcode"; + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canupd=1 + WHERE chartmaster.group_='".$_POST['GLGroup']."' + ORDER BY chartmaster.accountcode"; } else { - $SQL = "SELECT accountcode, - accountname + $SQL = "SELECT chartmaster.accountcode, + chartmaster.accountname FROM chartmaster - ORDER BY accountcode"; + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canupd=1 + ORDER BY chartmaster.accountcode"; } Modified: trunk/SelectGLAccount.php =================================================================== --- trunk/SelectGLAccount.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/SelectGLAccount.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -22,8 +22,12 @@ chartmaster.group_, CASE WHEN accountgroups.pandl!=0 THEN '" . _('Profit and Loss') . "' ELSE '" . _('Balance Sheet') ."' END AS pl FROM chartmaster, - accountgroups - WHERE chartmaster.group_=accountgroups.groupname + accountgroups, + glaccountusers + WHERE glaccountusers.accountcode = chartmaster.accountcode + AND glaccountusers.userid='" . $_SESSION['UserID'] . "' + AND glaccountusers.canview=1 + AND chartmaster.group_=accountgroups.groupname ORDER BY chartmaster.accountcode"; } elseif (mb_strlen($_POST['Keywords'])>0) { @@ -37,9 +41,13 @@ THEN '" . _('Profit and Loss') . "' ELSE '" . _('Balance Sheet') . "' END AS pl FROM chartmaster, - accountgroups - WHERE chartmaster.group_ = accountgroups.groupname - AND accountname " . LIKE . " '$SearchString' + accountgroups, + glaccountusers + WHERE glaccountusers.accountcode = chartmaster.accountcode + AND glaccountusers.userid='" . $_SESSION['UserID'] . "' + AND glaccountusers.canview=1 + AND chartmaster.group_ = accountgroups.groupname + AND accountname " . LIKE . "'". $SearchString ."' ORDER BY accountgroups.sequenceintb, chartmaster.accountcode"; @@ -50,8 +58,12 @@ chartmaster.group_, CASE WHEN accountgroups.pandl!=0 THEN '" . _('Profit and Loss') . "' ELSE '" . _('Balance Sheet') ."' END AS pl FROM chartmaster, - accountgroups - WHERE chartmaster.group_=accountgroups.groupname + accountgroups, + glaccountusers + WHERE glaccountusers.accountcode = chartmaster.accountcode + AND glaccountusers.userid='" . $_SESSION['UserID'] . "' + AND glaccountusers.canview=1 + AND chartmaster.group_=accountgroups.groupname AND chartmaster.accountcode >= '" . $_POST['GLCode'] . "' ORDER BY chartmaster.accountcode"; } @@ -78,10 +90,11 @@ <td><input type="text" name="Keywords" size="20" maxlength="25" /></td> <td><b>' . _('OR') . '</b></td>'; - $SQLAccountSelect="SELECT accountcode, - accountname + $SQLAccountSelect="SELECT chartmaster.accountcode, + chartmaster.accountname FROM chartmaster - ORDER BY accountcode"; + INNER JOIN glaccountusers ON glaccountusers.accountcode=chartmaster.accountcode AND glaccountusers.userid='" . $_SESSION['UserID'] . "' AND glaccountusers.canview=1 + ORDER BY chartmaster.accountcode"; $ResultSelection=DB_query($SQLAccountSelect); echo '<td><select name="GLCode">'; Added: trunk/UserGLAccounts.php =================================================================== --- trunk/UserGLAccounts.php (rev 0) +++ trunk/UserGLAccounts.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -0,0 +1,262 @@ +<?php +/* $Id: glaccountusers.php 6806 2013-09-28 05:10:46Z daintree $*/ + +include('includes/session.inc'); +$Title = _('User Authorised GL Accounts Maintenance'); +include('includes/header.inc'); + +echo '<p class="page_title_text"><img src="' . $RootPath . '/css/' . $Theme . '/images/money_add.png" title="' . _('User Authorised GL Accounts') . '" alt="" />' . ' ' . $Title . '</p>'; + +if (isset($_POST['SelectedGLAccount'])) { + $SelectedGLAccount = mb_strtoupper($_POST['SelectedGLAccount']); +} elseif (isset($_GET['SelectedGLAccount'])) { + $SelectedGLAccount = mb_strtoupper($_GET['SelectedGLAccount']); +} else { + $SelectedGLAccount = ''; +} + +if (isset($_POST['SelectedUser'])) { + $SelectedUser = mb_strtoupper($_POST['SelectedUser']); +} elseif (isset($_GET['SelectedUser'])) { + $SelectedUser = mb_strtoupper($_GET['SelectedUser']); +} + +if (isset($_POST['Cancel'])) { + unset($SelectedUser); + unset($SelectedGLAccount); +} + +if (isset($_POST['Process'])) { + if ($_POST['SelectedUser'] == '') { + prnMsg(_('You have not selected any User'), 'error'); + echo '<br />'; + unset($SelectedUser); + unset($_POST['SelectedUser']); + } +} + +if (isset($_POST['submit'])) { + + $InputError = 0; + + if ($_POST['SelectedGLAccount'] == '') { + $InputError = 1; + prnMsg(_('You have not selected an GL Account to be authorised for this user'), 'error'); + echo '<br />'; + unset($SelectedUser); + } + + if ($InputError != 1) { + + // First check the user is not being duplicated + + $CheckSql = "SELECT count(*) + FROM glaccountusers + WHERE accountcode= '" . $_POST['SelectedGLAccount'] . "' + AND userid = '" . $_POST['SelectedUser'] . "'"; + + $CheckResult = DB_query($CheckSql); + $CheckRow = DB_fetch_row($CheckResult); + + if ($CheckRow[0] > 0) { + $InputError = 1; + prnMsg(_('The GL Account') . ' ' . $_POST['SelectedGLAccount'] . ' ' . _('is already authorised for this user'), 'error'); + } else { + // Add new record on submit + $SQL = "INSERT INTO glaccountusers (accountcode, + userid, + canview, + canupd) + VALUES ('" . $_POST['SelectedGLAccount'] . "', + '" . $_POST['SelectedUser'] . "', + '1', + '1')"; + + $msg = _('User') . ': ' . $_POST['SelectedUser'] . ' ' . _('authority to use the') . ' ' . $_POST['SelectedGLAccount'] . ' ' . _('GL Account has been changed'); + $Result = DB_query($SQL); + prnMsg($msg, 'success'); + unset($_POST['SelectedGLAccount']); + } + } +} elseif (isset($_GET['delete'])) { + $SQL = "DELETE FROM glaccountusers + WHERE accountcode='" . $SelectedGLAccount . "' + AND userid='" . $SelectedUser . "'"; + + $ErrMsg = _('The GL Account user record could not be deleted because'); + $Result = DB_query($SQL, $ErrMsg); + prnMsg(_('User') . ' ' . $SelectedUser . ' ' . _('has had their authority to use the') . ' ' . $SelectedGLAccount . ' ' . _('GL Account removed'), 'success'); + unset($_GET['delete']); +} elseif (isset($_GET['ToggleUpdate'])) { + $SQL = "UPDATE glaccountusers + SET canupd='" . $_GET['ToggleUpdate'] . "' + WHERE accountcode='" . $SelectedGLAccount . "' + AND userid='" . $SelectedUser . "'"; + + $ErrMsg = _('The GL Account user record could not be deleted because'); + $Result = DB_query($SQL, $ErrMsg); + prnMsg(_('User') . ' ' . $SelectedUser . ' ' . _('has had their authority to update') . ' ' . $SelectedGLAccount . ' ' . _('GL Account removed'), 'success'); + unset($_GET['ToggleUpdate']); +} + +if (!isset($SelectedUser)) { + + /* It could still be the second time the page has been run and a record has been selected for modification - SelectedGLAccount will exist because it was sent with the new call. If its the first time the page has been displayed with no parameters + then none of the above are true. These will call the same page again and allow update/input or deletion of the records*/ + echo '<form method="post" action="' . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . '">'; + echo '<input type="hidden" name="FormID" value="' . $_SESSION['FormID'] . '" /> + <table class="selection"> + <tr> + <td>' . _('Select User') . ':</td> + <td><select name="SelectedUser">'; + + $Result = DB_query("SELECT userid, + realname + FROM www_users + ORDER BY userid"); + + echo '<option value="">' . _('Not Yet Selected') . '</option>'; + while ($MyRow = DB_fetch_array($Result)) { + if (isset($SelectedUser) and $MyRow['userid'] == $SelectedUser) { + echo '<option selected="selected" value="'; + } else { + echo '<option value="'; + } + echo $MyRow['userid'] . '">' . $MyRow['userid'] . ' - ' . $MyRow['realname'] . '</option>'; + + } //end while loop + + echo '</select></td></tr>'; + + echo '</table>'; // close main table + DB_free_result($Result); + + echo '<div class="centre"> + <input type="submit" name="Process" value="' . _('Accept') . '" /> + <input type="submit" name="Cancel" value="' . _('Cancel') . '" /> + </div>'; + + echo '</form>'; + +} + +//end of ifs and buts! +if (isset($_POST['process']) or isset($SelectedUser)) { + $SQLName = "SELECT realname + FROM www_users + WHERE userid='" . $SelectedUser . "'"; + $Result = DB_query($SQLName); + $MyRow = DB_fetch_array($Result); + $SelectedUserName = $MyRow['realname']; + + echo '<div class="centre"><a href="' . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . '">' . _('Authorised GL Accounts for') . ' ' . $SelectedUserName . '</a></div> + <form method="post" action="' . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . '"> + <input type="hidden" name="FormID" value="' . $_SESSION['FormID'] . '" /> + <input type="hidden" name="SelectedUser" value="' . $SelectedUser . '" />'; + + $SQL = "SELECT glaccountusers.accountcode, + canview, + canupd, + chartmaster.accountname + FROM glaccountusers INNER JOIN chartmaster + ON glaccountusers.accountcode=chartmaster.accountcode + WHERE glaccountusers.userid='" . $SelectedUser . "' + ORDER BY chartmaster.accountcode ASC"; + + $Result = DB_query($SQL); + + echo '<table class="selection">'; + echo '<tr> + <th colspan="6"><h3>' . _('Authorised GL Accounts for User') . ': ' . $SelectedUserName . '</h3></th> + </tr>'; + echo '<tr> + <th>' . _('Code') . '</th> + <th>' . _('Name') . '</th> + <th>' . _('View') . '</th> + <th>' . _('Update') . '</th> + </tr>'; + + $k = 0; //row colour counter + + while ($MyRow = DB_fetch_array($Result)) { + if ($k == 1) { + echo '<tr class="EvenTableRows">'; + $k = 0; + } else { + echo '<tr class="OddTableRows">'; + $k = 1; + } + + if ($MyRow['canupd'] == 1) { + $ToggleText = '<td><a href="%s?SelectedGLAccount=%s&ToggleUpdate=0&SelectedUser=' . $SelectedUser . '" onclick="return confirm(\'' . _('Are you sure you wish to remove Update for this GL Account?') . '\');">' . _('Remove Update') . '</a></td>'; + } else { + $ToggleText = '<td><a href="%s?SelectedGLAccount=%s&ToggleUpdate=1&SelectedUser=' . $SelectedUser . '" onclick="return confirm(\'' . _('Are you sure you wish to add Update for this GL Account?') . '\');">' . _('Add Update') . '</a></td>'; + } + + printf('<td>%s</td> + <td>%s</td> + <td>%s</td> + <td>%s</td>' . + $ToggleText . ' + <td><a href="%s?SelectedGLAccount=%s&delete=yes&SelectedUser=' . $SelectedUser . '" onclick="return confirm(\'' . _('Are you sure you wish to un-authorise this GL Account?') . '\');">' . _('Un-authorise') . '</a></td> + </tr>', + $MyRow['accountcode'], + $MyRow['accountname'], + $MyRow['canview'], + $MyRow['canupd'], + htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8'), + $MyRow['accountcode'], + htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8'), + $MyRow['accountcode']); + } + //END WHILE LIST LOOP + echo '</table>'; + + if (!isset($_GET['delete'])) { + + + echo '<table class="selection">'; //Main table + + echo '<tr> + <td>' . _('Select GL Account') . ':</td> + <td><select name="SelectedGLAccount">'; + + $Result = DB_query("SELECT accountcode, + accountname + FROM chartmaster + WHERE NOT EXISTS (SELECT glaccountusers.accountcode + FROM glaccountusers + WHERE glaccountusers.userid='" . $SelectedUser . "' + AND glaccountusers.accountcode=chartmaster.accountcode) + ORDER BY accountcode"); + + if (!isset($_POST['SelectedGLAccount'])) { + echo '<option selected="selected" value="">' . _('Not Yet Selected') . '</option>'; + } + while ($MyRow = DB_fetch_array($Result)) { + if (isset($_POST['SelectedGLAccount']) and $MyRow['accountcode'] == $_POST['SelectedGLAccount']) { + echo '<option selected="selected" value="'; + } else { + echo '<option value="'; + } + echo $MyRow['accountcode'] . '">' . $MyRow['accountcode'] .' - '. $MyRow['accountname'] . '</option>'; + + } //end while loop + + echo '</select> + </td> + </tr> + </table>'; // close main table + DB_free_result($Result); + + echo '<div class="centre"> + <input type="submit" name="submit" value="' . _('Accept') . '" /> + <input type="submit" name="Cancel" value="' . _('Cancel') . '" /> + </div> + </form>'; + + } // end if user wish to delete +} + +include('includes/footer.inc'); +?> Modified: trunk/WWW_Users.php =================================================================== --- trunk/WWW_Users.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/WWW_Users.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -166,20 +166,6 @@ prnMsg( _('The selected user record has been updated'), 'success' ); } elseif ($InputError !=1) { - $LocationSql = "INSERT INTO locationusers (loccode, - userid, - canview, - canupd - ) VALUES ( - '" . $_POST['DefaultLocation'] . "', - '" . $_POST['UserID'] . "', - 1, - 1 - )"; - $ErrMsg = _('The default user locations could not be processed because'); - $DbgMsg = _('The SQL that was used to update the user locations and failed was'); - $Result = DB_query($LocationSql, $ErrMsg, $DbgMsg); - $sql = "INSERT INTO www_users (userid, realname, customerid, @@ -219,6 +205,30 @@ '" . $_POST['PDFLanguage'] . "', '" . $_POST['Department'] . "')"; prnMsg( _('A new user record has been inserted'), 'success' ); + + $LocationSql = "INSERT INTO locationusers (loccode, + userid, + canview, + canupd + ) VALUES ( + '" . $_POST['DefaultLocation'] . "', + '" . $_POST['UserID'] . "', + 1, + 1 + )"; + $ErrMsg = _('The default user locations could not be processed because'); + $DbgMsg = _('The SQL that was used to create the user locations and failed was'); + $Result = DB_query($LocationSql, $ErrMsg, $DbgMsg); + prnMsg( _('User has been authorized to use and update only his / her default location'), 'success' ); + + $GLAccountsSql = "INSERT INTO glaccountusers (userid, accountcode, canview, canupd) + SELECT '" . $_POST['UserID'] . "', chartmaster.accountcode,1,1 + FROM chartmaster; "; + + $ErrMsg = _('The default user GL Accounts could not be processed because'); + $DbgMsg = _('The SQL that was used to create the user GL Accounts and failed was'); + $Result = DB_query($GLAccountsSql, $ErrMsg, $DbgMsg); + prnMsg( _('User has been authorized to use and update all GL accounts'), 'success' ); } if ($InputError!=1){ Modified: trunk/includes/MainMenuLinksArray.php =================================================================== --- trunk/includes/MainMenuLinksArray.php 2015-11-09 18:25:45 UTC (rev 7384) +++ trunk/includes/MainMenuLinksArray.php 2015-11-11 08:03:20 UTC (rev 7385) @@ -1,617 +1,621 @@ -<?php - -/* $Id: MainMenuLinksArray.php 6190 2013-08-12 02:12:02Z rchacon $*/ - -/* webERP menus with Captions and URLs. */ - -$ModuleLink = array('orders', 'AR', 'PO', 'AP', 'stock', 'manuf', 'GL', 'FA', 'PC', 'system', 'Utilities'); -$ReportList = array('orders'=>'ord', - 'AR'=>'ar', - 'PO'=>'prch', - 'AP'=>'ap', - 'stock'=>'inv', - 'manuf'=>'man', - 'GL'=>'gl', - 'FA'=>'fa', - 'PC'=>'pc', - 'system'=>'sys', - 'Utilities'=>'utils' - ); - -/*The headings showing on the tabs accross the main index used also in WWW_Users for defining what should be visible to the user */ -$ModuleList = array(_('Sales'), - _('Receivables'), - _('Purchases'), - _('Payables'), - _('Inventory'), - _('Manufacturing'), - _('General Ledger'), - _('Asset Manager'), - _('Petty Cash'), - _('Setup'), - _('Utilities')); - -$MenuItems['orders']['Transactions']['Caption'] = array(_('New Sales Order or Quotation'), - _('Enter Counter Sales'), - _('Enter Counter Returns'), - _('Print Picking Lists'), - _('Outstanding Sales Orders/Quotations'), - _('Special Order'), - _('Recurring Order Template'), - _('Process Recurring Orders')); - -$MenuItems['orders']['Transactions']['URL'] = array('/SelectOrderItems.php?NewOrder=Yes', - '/CounterSales.php', - '/CounterReturns.php', - '/PDFPickingList.php', - '/SelectSalesOrder.php', - '/SpecialOrder.php', - '/SelectRecurringSalesOrder.php', - '/RecurringSalesOrdersProcess.php'); - -$MenuItems['orders']['Reports']['Caption'] = array( _('Sales Order Inquiry'), - _('Print Price Lists'), - _('Order Status Report'), - _('Orders Invoiced Reports'), - _('Daily Sales Inquiry'), - _('Sales By Sales Type Inquiry'), - _('Sales By Category Inquiry'), - _('Sales By Category By Item Inquiry'), - _('Sales Analysis Reports'), - _('Sales Graphs'), - _('Top Sellers Inquiry'), - _('Order Delivery Differences Report'), - _('Delivery In Full On Time (DIFOT) Report'), - _('Sales Order Detail Or Summary Inquiries'), - _('Top Sales Items Inquiry'), - _('Top Customers Inquiry'), - _('Worst Sales Items Report'), - _('Sales With Low Gross Profit Report'), - _('Sell Through Support Claims Report')); - -$MenuItems['orders']['Reports']['URL'] = array( '/SelectCompletedOrder.php', - '/PDFPriceList.php', - '/PDFOrderStatus.php', - '/PDFOrdersInvoiced.php', - '/DailySalesInquiry.php', - '/SalesByTypePeriodInquiry.php', - '/SalesCategoryPeriodInquiry.php', - '/StockCategorySalesInquiry.php', - '/SalesAnalRepts.php', - '/SalesGraph.php', - '/SalesTopItemsInquiry.php', - '/PDFDeliveryDifferences.php', - '/PDFDIFOT.php', - '/SalesInquiry.php', - '/TopItems.php', - '/SalesTopCustomersInquiry.php', - '/NoSalesItems.php', - '/PDFLowGP.php', - '/PDFSellThroughSupportClaim.php'); - -$MenuItems['orders']['Maintenance']['Caption'] = array( _('Create Contract'), - _('Select Contract'), - _('Sell Through Support Deals')); - -$MenuItems['orders']['Maintenance']['URL'] = array( '/Contracts.php', - '/SelectContract.php', - '/SellThroughSupport.php'); - -$MenuItems['AR']['Transactions']['Caption'] = array(_('Select Order to Invoice'), - _('Create A Credit Note'), - _('Enter Receipts'), - _('Allocate Receipts or Credit Notes')); -$MenuItems['AR']['Transactions']['URL'] = array('/SelectSalesOrder.php', - '/SelectCreditItems.php?NewCredit=Yes', - '/CustomerReceipt.php?NewReceipt=Yes&Type=Customer', - '/CustomerAllocations.php'); - -$MenuItems['AR']['Reports']['Caption'] = array( _('Where Allocated Inquiry'), - _('Print Invoices or Credit Notes'), - _('Print Statements'), - _('Aged Customer Balances/Overdues Report'), - _('Re-Print A Deposit Listing'), - _('Debtor Balances At A Prior Month End'), - _('Customer Listing By Area/Salesperson'), - _('List Daily Transactions'), - _('Customer Transaction Inquiries'), - _('Customer Activity and Balances')); - -if ($_SESSION['InvoicePortraitFormat']==0){ - $PrintInvoicesOrCreditNotesScript = '/PrintCustTrans.php'; -} else { - $PrintInvoicesOrCreditNotesScript = '/PrintCustTransPortrait.php'; -} - -$MenuItems['AR']['Reports']['URL'] = array( '/CustWhereAlloc.php', - $PrintInvoicesOrCreditNotesScript, - '/PrintCustStatements.php', - '/AgedDebtors.php', - '/PDFBankingSummary.php', - '/DebtorsAtPeriodEnd.php', - '/PDFCustomerList.php', - '/PDFCustTransListing.php', - '/CustomerTransInquiry.php', - '/CustomerBalancesMovement.php' ); - -$MenuItems['AR']['Maintenance']['Caption'] = array( _('Add Customer'), - _('Select Customer')); -$MenuItems['AR']['Maintenance']['URL'] = array( '/Customers.php', - '/SelectCustomer.php'); - -$MenuItems['AP']['Transactions']['Caption'] = array(_('Select Supplier'), - _('Supplier Allocations')); -$MenuItems['AP']['Transactions']['URL'] = array('/SelectSupplier.php', - '/SupplierAllocations.php'); - -$MenuItems['AP']['Reports']['Caption'] = array( _('Aged Supplier Report'), - _('Payment Run Report'), - _('Remittance Advices'), - _('Outstanding GRNs Report'), - _('Supplier Balances At A Prior Month End'), - _('List Daily Transactions'), - _('Supplier Transaction Inquiries')); - -$MenuItems['AP']['Reports']['URL'] = array( '/AgedSuppliers.php', - '/SuppPaymentRun.php', - '/PDFRemittanceAdvice.php', - '/OutstandingGRNs.php', - '/SupplierBalsAtPeriodEnd.php', - '/PDFSuppTransListing.php', - '/SupplierTransInquiry.php'); - -$MenuItems['AP']['Maintenance']['Caption'] = array( _('Add Supplier'), - _('Select Supplier'), - _('Maintain Factor Companies')); -$MenuItems['AP']['Maintenance']['URL'] = array( '/Suppliers.php', - '/SelectSupplier.php', - '/Factors.php'); - -$MenuItems['PO']['Transactions']['Caption'] = array(_('New Purchase Order'), - _('Purchase Orders'), - _('Purchase Order Grid Entry'), - _('Create a New Tender'), - _('Edit Existing Tenders'), - _('Process Tenders and Offers'), - _('Orders to Authorise'), - _('Shipment Entry'), - _('Select A Shipment')); -$MenuItems['PO']['Transactions']['URL'] = array( '/PO_Header.php?NewOrder=Yes', - '/PO_SelectOSPurchOrder.php', - '/PurchaseByPrefSupplier.php', - '/SupplierTenderCreate.php?New=Yes', - '/SupplierTenderCreate.php?Edit=Yes', - '/OffersReceived.php', - '/PO_AuthoriseMyOrders.php', - '/SelectSupplier.php', - '/Shipt_Select.php'); - -$MenuItems['PO']['Reports']['Caption'] = array( _('Purchase Order Inquiry'), - _('Purchase Order Detail Or Summary Inquiries'), - _('Supplier Price List')); - -$MenuItems['PO']['Reports']['URL'] = array( '/PO_SelectPurchOrder.php', - '/POReport.php', - '/SuppPriceList.php'); - -$MenuItems['PO']['Maintenance']['Caption'] = array(_('Maintain Supplier Price Lists')); - -$MenuItems['PO']['Maintenance']['URL'] = array('/SupplierPriceList.php'); - -$MenuItems['stock']['Transactions']['Caption'] = array( _('Receive Purchase Orders'), - _('Inventory Location Transfers'), //"Inventory Transfer - Item Dispatch" - _('Bulk Inventory Transfer') . ' - ' . _('Dispatch'), //"Inventory Transfer - Bulk Dispatch" - _('Bulk Inventory Transfer') . ' - ' . _('Receive'), //"Inventory Transfer - Receive" - _('Inventory Adjustments'), - _('Reverse Goods Received'), - _('Enter Stock Counts'), - _('Create a New Internal Stock Request'), - _('Authorise Internal Stock Requests'), - _('Fulfill Internal Stock Requests')); - -$MenuItems['stock']['Transactions']['URL'] = array( '/PO_SelectOSPurchOrder.php', - '/StockTransfers.php?New=Yes', - '/StockLocTransfer.php', - '/StockLocTransferReceive.php', - '/StockAdjustments.php?NewAdjustment=Yes', - '/ReverseGRN.php', - '/StockCounts.php', - '/InternalStockRequest.php?New=Yes', - '/InternalStockRequestAuthorisation.php', - '/InternalStockRequestFulfill.php'); - -$MenuItems['stock']['Reports']['Caption'] = array( _('Serial Item Research Tool'), - _('Print Price Labels'), - _('Reprint GRN'), - _('Inventory Item Movements'), - _('Inventory Item Status'), - _('Inventory Item Usage'), - _('Inventory Quantities'), - _('Reorder Level'), - _('Stock Dispatch'), - _('Inventory Valuation Report'), - _('Mail Inventory Valuation Report'), - _('Inventory Planning Report'), - _('Inventory Planning Based On Preferred Supplier Data'), - _('Inventory Stock Check Sheets'), - _('Make Inventory Quantities CSV'), - _('Compare Counts Vs Stock Check Data'), - _('All Inventory Movements By Location/Date'), - _('List Inventory Status By Location/Category'), - _('Historical Stock Quantity By Location/Category'), - _('List Negative Stocks'), - _('Period Stock Transaction Listing'), - _('Stock Transfer Note'), - _('Aged Controlled Stock Report')); - -$MenuItems['stock']['Reports']['URL'] = array( '/StockSerialItemResearch.php', - '/PDFPrintLabel.php', - '/ReprintGRN.php', - '/StockMovements.php', - '/StockStatus.php', - '/StockUsage.php', - '/InventoryQuantities.php', - '/ReorderLevel.php', - '/StockDispatch.php', - '/InventoryValuation.php', - '/MailInventoryValuation.php', - '/InventoryPlanning.php', - '/InventoryPlanningPrefSupplier.php', - '/StockCheck.php', - '/StockQties_csv.php', - '/PDFStockCheckComparison.php', - '/StockLocMovements.php', - '/StockLocStatus.php', - '/StockQuantityByDate.php', - '/PDFStockNegatives.php', - '/PDFPeriodStockTransListing.php', - '/PDFStockTransfer.php', - '/AgedControlledInventory.php'); - -$MenuItems['stock']['Maintenance']['Caption'] = array( _('Add A New Item'), - _('Select An Item'), - _('Review Translated Descriptions'), - _('Sales Category Maintenance'), - _('Brands Maintenance'), - _('Add or Update Prices Based On Costs'), - _('View or Update Prices Based On Costs'), - _('Reorder Level By Category/Location')); - -$MenuItems['stock']['Maintenance']['URL'] = array( '/Stocks.php', - '/SelectProduct.php', - '/RevisionTranslations.php', - '/SalesCategories.php', - '/Manufacturers.php', - '/PricesBasedOnMarkUp.php', - '/PricesByCost.php', - '/ReorderLevelLocation.php'); - -$MenuItems['manuf']['Transactions']['Caption'] = array( _('Work Order Entry'), - _('Select A Work Order'), - _('QA Samples and Test Results')); - -$MenuItems['manuf']['Transactions']['URL'] = array( '/WorkOrderEntry.php', - '/SelectWorkOrder.php', - '/SelectQASamples.php'); -$MenuItems['manuf']['Reports']['Caption'] = array( _('Select A Work Order'), - _('Costed Bill Of Material Inquiry'), - _('Where Used Inquiry'), - _('Bill Of Material Listing'), - _('Indented Bill Of Material Listing'), - _('List Components Required'), - _('List Materials Not Used Anywhere'), - _('Indented Where Used Listing'), - _('WO Items ready to produce'), - _('MRP'), - _('MRP Shortages'), - _('MRP Suggested Purchase Orders'), - _('MRP Suggested Work Orders'), - _('MRP Reschedules Required'), - _('Print Product Specification'), - _('Print Certificate of Analysis'), - _('Historical QA Test Results')); - -$MenuItems['manuf']['Reports']['URL'] = array( '/SelectWorkOrder.php', - '/BOMInquiry.php', - '/WhereUsedInquiry.php', - '/BOMListing.php', - '/BOMIndented.php', - '/BOMExtendedQty.php', - '/MaterialsNotUsed.php', - '/BOMIndentedReverse.php', - '/WOCanBeProducedNow.php', - '/MRPReport.php', - '/MRPShortages.php', - '/MRPPlannedPurchaseOrders.php', - '/MRPPlannedWorkOrders.php', - '/MRPReschedules.php', - '/PDFProdSpec.php', - '/PDFCOA.php', - '/HistoricalTestResults.php'); - -$MenuItems['manuf']['Maintenance']['Caption'] = array( _('Work Centre'), - _('Bills Of Material'), - _('Copy a Bill Of Materials Between Items'), - _('Master Schedule'), - _('Auto Create Master Schedule')... [truncated message content] |