From: <tim...@us...> - 2010-07-19 11:52:17
|
Revision: 3640 http://web-erp.svn.sourceforge.net/web-erp/?rev=3640&view=rev Author: tim_schofield Date: 2010-07-19 11:52:11 +0000 (Mon, 19 Jul 2010) Log Message: ----------- New script to choose an asset type for editing Modified Paths: -------------- trunk/doc/Change.log.html Added Paths: ----------- trunk/SelectAssetType.php Added: trunk/SelectAssetType.php =================================================================== --- trunk/SelectAssetType.php (rev 0) +++ trunk/SelectAssetType.php 2010-07-19 11:52:11 UTC (rev 3640) @@ -0,0 +1,312 @@ +<?php +/* $Id$*/ +$PageSecurity = 2; +$PricesSecurity = 9; +include ('includes/session.inc'); +$title = _('Search Asset Types'); +include ('includes/header.inc'); +$msg = ''; +if (isset($_GET['StockID'])) { + //The page is called with a StockID + $_GET['StockID'] = trim(strtoupper($_GET['StockID'])); + $_POST['Select'] = trim(strtoupper($_GET['StockID'])); +} + +if (isset($_GET['NewSearch']) or isset($_POST['Next']) or isset($_POST['Previous']) or isset($_POST['Go'])) { + unset($StockID); + unset($_SESSION['SelectedStockItem']); + unset($_POST['Select']); +} +if (!isset($_POST['PageOffset'])) { + $_POST['PageOffset'] = 1; +} else { + if ($_POST['PageOffset'] == 0) { + $_POST['PageOffset'] = 1; + } +} +if (isset($_POST['StockCode'])) { + $_POST['StockCode'] = trim(strtoupper($_POST['StockCode'])); +} +// Always show the search facilities +$SQL = 'SELECT categoryid, + categorydescription + FROM stockcategory + WHERE stocktype="A" + ORDER BY categorydescription'; +$result1 = DB_query($SQL, $db); +if (DB_num_rows($result1) == 0) { + echo '<p><font size=4 color=red>' . _('Problem Report') . ':</font><br>' . _('There are no stock categories currently defined please use the link below to set them up'); + echo '<br><a href="' . $rootpath . '/StockCategories.php?' . SID . '">' . _('Define Stock Categories') . '</a>'; + exit; +} +// end of showing search facilities +/* displays item options if there is one and only one selected */ +if (!isset($_POST['Search']) AND (isset($_POST['Select']) OR isset($_SESSION['SelectedStockItem']))) { + if (isset($_POST['Select'])) { + $_SESSION['SelectedStockItem'] = $_POST['Select']; + $StockID = $_POST['Select']; + unset($_POST['Select']); + } else { + $StockID = $_SESSION['SelectedStockItem']; + } + $sql="SELECT stockmaster.description, + stockmaster.mbflag, + stockcategory.stocktype, + stockmaster.units, + stockmaster.decimalplaces, + stockmaster.controlled, + stockmaster.serialised, + stockmaster.materialcost+stockmaster.labourcost+stockmaster.overheadcost AS cost, + stockmaster.discontinued, + stockmaster.eoq, + stockmaster.volume, + stockmaster.kgs + FROM stockmaster INNER JOIN stockcategory + ON stockmaster.categoryid=stockcategory.categoryid + WHERE stockid='" . $StockID . "'"; + $result = DB_query($sql, $db); + $myrow = DB_fetch_array($result); + $Its_A_Kitset_Assembly_Or_Dummy = false; + $Its_A_Dummy = false; + $Its_A_Kitset = false; + $Its_A_Labour_Item = false; +} else { + // options (links) to pages. This requires stock id also to be passed. +} // end displaying item options if there is one and only one record +echo '<form action="SelectAssetType.php?' . SID . '" method=post>'; +echo '<b>' . $msg . '</b>'; +echo '<p class="page_title_text"><img src="' . $rootpath . '/css/' . $theme . '/images/magnifier.png" title="' . _('Search') . '" alt="">' . ' ' . _('Search for Inventory Items'); +echo '<table class=selection><tr>'; +echo '<td>' . _('In Stock Category') . ':'; +echo '<select name="StockCat">'; +if (!isset($_POST['StockCat'])) { + $_POST['StockCat'] = ""; +} + +while ($myrow1 = DB_fetch_array($result1)) { + if ($myrow1['categoryid'] == $_POST['StockCat']) { + echo '<option selected VALUE="' . $myrow1['categoryid'] . '">' . $myrow1['categorydescription']; + } else { + echo '<option value="' . $myrow1['categoryid'] . '">' . $myrow1['categorydescription']; + } +} +echo '</select>'; +echo '<td>' . _('Enter partial') . '<b> ' . _('Description') . '</b>:</td><td>'; +if (isset($_POST['Keywords'])) { + echo '<input type="text" name="Keywords" value="' . $_POST['Keywords'] . '" size=20 maxlength=25>'; +} else { + echo '<input type="text" name="Keywords" size=20 maxlength=25>'; +} +echo '</td></tr><tr><td></td>'; +echo '<td><font size 3><b>' . _('OR') . ' ' . '</b></font>' . _('Enter partial') . ' <b>' . _('Stock Code') . '</b>:</td>'; +echo '<td>'; +if (isset($_POST['StockCode'])) { + echo '<input type="text" name="StockCode" value="' . $_POST['StockCode'] . '" size=15 maxlength=18>'; +} else { + echo '<input type="text" name="StockCode" size=15 maxlength=18>'; +} +echo '</td></tr></table><br>'; +echo '<div class="centre"><input type=submit name="Search" value="' . _('Search Now') . '"></div><br></form>'; +echo '<script type="text/javascript">defaultControl(document.forms[0].StockCode);</script>'; +echo '</form>'; +// query for list of record(s) +if(isset($_POST['Go']) OR isset($_POST['Next']) OR isset($_POST['Previous'])) { + $_POST['Search']='Search'; +} +if (isset($_POST['Search']) OR isset($_POST['Go']) OR isset($_POST['Next']) OR isset($_POST['Previous'])) { + if (!isset($_POST['Go']) AND !isset($_POST['Next']) AND !isset($_POST['Previous'])) { + // if Search then set to first page + $_POST['PageOffset'] = 1; + } + if ($_POST['Keywords'] AND $_POST['StockCode']) { + $msg = _('Stock description keywords have been used in preference to the Stock code extract entered'); + } + if ($_POST['Keywords']) { + //insert wildcard characters in spaces + $_POST['Keywords'] = strtoupper($_POST['Keywords']); + $SearchString = '%' . str_replace(' ', '%', $_POST['Keywords']) . '%'; + if ($_POST['StockCat'] == 'All') { + $SQL = "SELECT stockmaster.stockid, + stockmaster.description, + stockmaster.units, + stockmaster.mbflag, + stockmaster.decimalplaces + FROM stockmaster + WHERE stockmaster.description " . LIKE . " '$SearchString' + GROUP BY stockmaster.stockid, + stockmaster.description, + stockmaster.units, + stockmaster.mbflag, + stockmaster.decimalplaces + ORDER BY stockmaster.stockid"; + } else { + $SQL = "SELECT stockmaster.stockid, + stockmaster.description, + stockmaster.units, + stockmaster.mbflag, + stockmaster.decimalplaces + FROM stockmaster + WHERE description " . LIKE . " '$SearchString' + AND categoryid='" . $_POST['StockCat'] . "' + GROUP BY stockmaster.stockid, + stockmaster.description, + stockmaster.units, + stockmaster.mbflag, + stockmaster.decimalplaces + ORDER BY stockmaster.stockid"; + } + } elseif (isset($_POST['StockCode'])) { + $_POST['StockCode'] = strtoupper($_POST['StockCode']); + if ($_POST['StockCat'] == 'All') { + $SQL = "SELECT stockmaster.stockid, + stockmaster.description, + stockmaster.mbflag, + stockmaster.units, + stockmaster.decimalplaces + FROM stockmaster + WHERE stockmaster.stockid " . LIKE . " '%" . $_POST['StockCode'] . "%' + GROUP BY stockmaster.stockid, + stockmaster.description, + stockmaster.units, + stockmaster.mbflag, + stockmaster.decimalplaces + ORDER BY stockmaster.stockid"; + } else { + $SQL = "SELECT stockmaster.stockid, + stockmaster.description, + stockmaster.mbflag, + stockmaster.units, + stockmaster.decimalplaces + FROM stockmaster + WHERE stockmaster.stockid " . LIKE . " '%" . $_POST['StockCode'] . "%' + AND categoryid='" . $_POST['StockCat'] . "' + GROUP BY stockmaster.stockid, + stockmaster.description, + stockmaster.units, + stockmaster.mbflag, + stockmaster.decimalplaces + ORDER BY stockmaster.stockid"; + } + } elseif (!isset($_POST['StockCode']) AND !isset($_POST['Keywords'])) { + if ($_POST['StockCat'] == 'All') { + $SQL = "SELECT stockmaster.stockid, + stockmaster.description, + stockmaster.mbflag, + stockmaster.units, + stockmaster.decimalplaces + FROM stockmaster + GROUP BY stockmaster.stockid, + stockmaster.description, + stockmaster.units, + stockmaster.mbflag, + stockmaster.decimalplaces + ORDER BY stockmaster.stockid"; + } else { + $SQL = "SELECT stockmaster.stockid, + stockmaster.description, + stockmaster.mbflag, + stockmaster.units, + stockmaster.decimalplaces + FROM stockmaster + WHERE categoryid='" . $_POST['StockCat'] . "' + GROUP BY stockmaster.stockid, + stockmaster.description, + stockmaster.units, + stockmaster.mbflag, + stockmaster.decimalplaces + ORDER BY stockmaster.stockid"; + } + } + $ErrMsg = _('No stock items were returned by the SQL because'); + $DbgMsg = _('The SQL that returned an error was'); + $searchresult = DB_query($SQL, $db, $ErrMsg, $DbgMsg); + if (DB_num_rows($searchresult) == 0) { + prnMsg(_('No stock items were returned by this search please re-enter alternative criteria to try again'), 'info'); + } + unset($_POST['Search']); +} +/* end query for list of records */ +/* display list if there is more than one record */ +if (isset($searchresult) AND !isset($_POST['Select'])) { + echo '<form action="FixedAssetItems.php?' . SID . '" method=post>'; + $ListCount = DB_num_rows($searchresult); + if ($ListCount > 0) { + // If the user hit the search button and there is more than one item to show + $ListPageMax = ceil($ListCount / $_SESSION['DisplayRecordsMax']); + if (isset($_POST['Next'])) { + if ($_POST['PageOffset'] < $ListPageMax) { + $_POST['PageOffset'] = $_POST['PageOffset'] + 1; + } + } + if (isset($_POST['Previous'])) { + if ($_POST['PageOffset'] > 1) { + $_POST['PageOffset'] = $_POST['PageOffset'] - 1; + } + } + if ($_POST['PageOffset'] > $ListPageMax) { + $_POST['PageOffset'] = $ListPageMax; + } + if ($ListPageMax > 1) { + echo "<div class='centre'><p> " . $_POST['PageOffset'] . ' ' . _('of') . ' ' . $ListPageMax . ' ' . _('pages') . '. ' . _('Go to Page') . ': '; + echo '<select name="PageOffset">'; + $ListPage = 1; + while ($ListPage <= $ListPageMax) { + if ($ListPage == $_POST['PageOffset']) { + echo '<option value=' . $ListPage . ' selected>' . $ListPage . '</option>'; + } else { + echo '<option value=' . $ListPage . '>' . $ListPage . '</option>'; + } + $ListPage++; + } + echo '</select> + <input type=submit name="Go" value="' . _('Go') . '"> + <input type=submit name="Previous" value="' . _('Previous') . '"> + <input type=submit name="Next" value="' . _('Next') . '">'; + echo '<input type=hidden name=Keywords value="'.$_POST['Keywords'].'">'; + echo '<input type=hidden name=StockCat value="'.$_POST['StockCat'].'">'; + echo '<input type=hidden name=StockCode value="'.$_POST['StockCode'].'">'; +// echo '<input type=hidden name=Search value="Search">'; + echo '<p></div>'; + } + echo '<table cellpadding=2 colspan=7>'; + $tableheader = '<tr> + <th>' . _('Code') . '</th> + <th>' . _('Description') . '</th> + <th>' . _('Units') . '</th> + <th>' . _('Stock Status') . '</th> + </tr>'; + echo $tableheader; + $j = 1; + $k = 0; //row counter to determine background colour + $RowIndex = 0; + if (DB_num_rows($searchresult) <> 0) { + DB_data_seek($searchresult, ($_POST['PageOffset'] - 1) * $_SESSION['DisplayRecordsMax']); + } + while (($myrow = DB_fetch_array($searchresult)) AND ($RowIndex <> $_SESSION['DisplayRecordsMax'])) { + if ($k == 1) { + echo '<tr class="EvenTableRows">'; + $k = 0; + } else { + echo '<tr class="OddTableRows">'; + $k++; + } + echo "<td><input type=submit name='Select' value='".$myrow['stockid']."'></td> + <td>".$myrow['description']."</td> + <td>".$myrow['units']."</td> + <td><a target='_blank' href='" . $rootpath . "/StockStatus.php?" . SID . "&StockID=".$myrow['stockid']."'>" . _('View') . "</a></td> + </tr>"; + $j++; + if ($j == 20 AND ($RowIndex + 1 != $_SESSION['DisplayRecordsMax'])) { + $j = 1; + echo $tableheader; + } + $RowIndex = $RowIndex + 1; + //end of page full new headings if + } + //end of while loop + echo '</table></form><br>'; + } +} +/* end display list if there is more than one record */ +include ('includes/footer.inc'); +?> \ No newline at end of file Modified: trunk/doc/Change.log.html =================================================================== --- trunk/doc/Change.log.html 2010-07-19 11:51:46 UTC (rev 3639) +++ trunk/doc/Change.log.html 2010-07-19 11:52:11 UTC (rev 3640) @@ -1,5 +1,6 @@ <p><font SIZE=4 COLOR=BLUE><b>webERP Change Log</b></font></p> <p></p> +<p>19/07/10 Tim: SelectAssetType.php - New script to choose an asset type for editing</p> <p>18/07/10 Tim: PCAssignCashToTab.php - Layout changes, sql quoting</p> <p>18/07/10 Tim: StockAdjustments.php - Provide option for tagging stock adjustments, change layout, allow for searching for a part code, and sql quoting</p> <p>18/07/10 Phil: CounterSales.php - was not retrieving ReceiptNumber if the debtor integration was disabled - also the correct period was not retrieved because the date format was not in the correct DateFormat because of a typo in SESSION['DefaultDateFormat'] </p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |