Beispiel #1
0
\Pasteque\tpl_btn('btn-add', \Pasteque\get_module_url_action(PLUGIN_NAME, "product_edit"), \i18n('Add a product', PLUGIN_NAME), 'img/btn_add.png');
\Pasteque\tpl_btn('btn-import', \Pasteque\get_module_url_action(PLUGIN_NAME, "productsManagement"), \i18n('Import products', PLUGIN_NAME), 'img/btn_add.png');
\Pasteque\tpl_btn('btn-export ', \Pasteque\get_report_url(PLUGIN_NAME, "products_export"), \i18n('Export products', PLUGIN_NAME), 'img/btn_add.png');
?>

<div id="search">
<div class="title"><?php 
\pi18n("Search");
?>
</div>
<h5><?php 
\pi18n("by category", PLUGIN_NAME);
?>
</h5>
<?php 
\Pasteque\tpl_form('select', 'category', \Pasteque\CategoriesService::getAll());
?>
</div>

<p><?php 
\pi18n("%d products", PLUGIN_NAME, $totalProducts);
?>
</p>

<h2><?php 
\pi18n("Catalog", PLUGIN_NAME);
?>
</h2>

<?php 
\Pasteque\tpl_pagination($totalProducts, $range, $start);
Beispiel #2
0
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation, either version 3 of the License, or
//    (at your option) any later version.
//
//    Pastèque 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 General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with Pastèque.  If not, see <http://www.gnu.org/licenses/>.
namespace ProductBarcodes;

$message = NULL;
$error = NULL;
$categories = \Pasteque\CategoriesService::getAll();
$allProducts = \Pasteque\ProductsService::getAll(TRUE);
$products = array();
foreach ($allProducts as $product) {
    if ($product->barcode !== NULL && $product->barcode != "") {
        $products[] = $product;
    }
}
?>
<h1><?php 
\pi18n("Tags", PLUGIN_NAME);
?>
</h1>

<?php 
\Pasteque\tpl_msg_box($message, $error);
Beispiel #3
0
 public function __construct($report, $values)
 {
     $this->data = array();
     $this->i = 0;
     $countedStock = array();
     if (!isset($values['location'])) {
         $locSrv = new \Pasteque\LocationsService();
         $locations = $locSrv->getAll();
         $defaultLocationId = $locations[0]->id;
         $values['location'] = $defaultLocationId;
     }
     foreach ($values as $key => $value) {
         if (strpos($key, "qty-") === 0) {
             $productId = substr($key, 4);
             $qty = $value;
             $countedStock[$productId] = $qty;
         }
     }
     $categories = \Pasteque\CategoriesService::getAll();
     $products = \Pasteque\ProductsService::getAll(TRUE);
     $prdCat = array();
     // Build listing by categories
     foreach ($products as $product) {
         if ($product->categoryId !== \Pasteque\CompositionsService::CAT_ID) {
             $prdCat[$product->categoryId][] = $product;
         }
     }
     // Get stock to compare with counted stock
     $levels = array();
     $rawLevels = \Pasteque\StocksService::getLevels($values['location']);
     foreach ($rawLevels as $level) {
         $levels[$level->productId] = $level;
     }
     foreach ($categories as $category) {
         if (isset($prdCat[$category->id])) {
             foreach ($prdCat[$category->id] as $product) {
                 $counted = 0;
                 if (isset($countedStock[$product->id])) {
                     $counted = $countedStock[$product->id];
                 }
                 $actual = 0;
                 if (isset($levels[$product->id])) {
                     $actual = $levels[$product->id]->qty;
                 }
                 if ($counted !== $actual) {
                     $this->data[] = array("ref" => $product->reference, "counted" => $counted, "actual" => $actual, "diff" => $counted - $actual);
                 }
             }
         }
     }
 }