function generateReport() { $dealId = JRequest::getVar('dealId'); if (!empty($dealId)) { $deal = JModel::getInstance('deal', 'enmasseModel')->getById($dealId); $orderItemList = JModel::getInstance('orderItem', 'enmasseModel')->listByPdtIdAndStatus($dealId, "Delivered"); for ($count = 0; $count < count($orderItemList); $count++) { $orderItemList[$count]->invtyList = JModel::getInstance('invty', 'enmasseModel')->listByOrderItemId($orderItemList[$count]->id); $orderItemList[$count]->order = JModel::getInstance('order', 'enmasseModel')->getById($orderItemList[$count]->order_id); } $count = 1; $id = 0; //id of the item in itemList array for ($i = 0; $i < count($orderItemList); $i++) { $orderItem = $orderItemList[$i]; $buyerDetail = json_decode($orderItem->order->buyer_detail); $deliveryDetail = json_decode($orderItem->order->delivery_detail); for ($j = 0; $j < count($orderItem->invtyList); $j++) { $invty = $orderItem->invtyList[$j]; $itemList[$id]['Serial No.'] = $count++ . "\t"; $itemList[$id]['Buyer Name'] = $buyerDetail->name . "\t"; $itemList[$id]['Buyer Email'] = $buyerDetail->email . "\t"; $itemList[$id]['Delivery Name'] = $deliveryDetail->name . "\t"; $itemList[$id]['Delivery Email'] = $deliveryDetail->email . "\t"; $itemList[$id]['Order Comment'] = $orderItem->order->description . "\t"; $itemList[$id]['Purchase Date'] = DatetimeWrapper::getDisplayDatetime($orderItem->created_at) . "\t"; $itemList[$id]['Coupon Serial'] = $invty->name . "\t"; $itemList[$id]['Coupon Status'] = JTEXT::_('COUPON_' . strtoupper($invty->status)) . "</br>"; $id++; } } $filename = "Report" . date('Ymd') . ".xls"; enmasseHelper::reportGenerator($itemList); header("Content-Disposition: attachment; filename=\"{$filename}\""); header("Content-Type: application/vnd.ms-excel"); exit(0); } else { $this->setRedirect('http://' . $_SERVER['SERVER_NAME'] . '/administrator/index.php?option=com_enmasse&controller=report', JTEXT::_('REPORT_EMPTY_MSG')); } }
<td align="right" class="key"><?php echo JTEXT::_('CREATED_AT'); ?> :</td> <td><?php echo DatetimeWrapper::getDisplayDatetime($row->created_at); ?> </td> </tr> <tr> <td align="right" class="key"><?php echo JTEXT::_('UPDATED_AT'); ?> :</td> <td><?php echo DatetimeWrapper::getDisplayDatetime($row->updated_at); ?> </td> </tr> <?php } ?> </table> </fieldset> </div> <input type="hidden" name="position" value="<?php echo $row->position; ?> " /> <input type="hidden" name="id" value="<?php
?> <tr> <td> <?php echo JHTML::_('grid.id', $count - 1, $invty->id); ?> </td> <td><?php echo $buyerDetail->name; ?> </td> <td><?php echo $orderItem->order->description; ?> </td> <td align="center"><?php echo DatetimeWrapper::getDisplayDatetime($orderItem->created_at); ?> </td> <td align="center"><?php echo $invty->name; ?> </td> <td align="center"> <?php if ($invty->status == "Used") { echo "<b>"; echo JTEXT::_('COUPON_' . $invty->status); echo "</b>"; } else { echo JTEXT::_('COUPON_' . $invty->status); }
</a></td> <td name="min_needed_qty"><?php echo $row->min_needed_qty; ?> </td> <td align="center" name="published"><?php if ($row->published) { echo "Published"; } else { echo "Not Published"; } ?> </td> <td name="status" align="center" ><?php echo JText::_('DEAL_' . str_replace(' ', '_', $row->status)); ?> </td> <td name="end_at"><?php echo DatetimeWrapper::getDisplayDatetime($row->end_at); ?> </td> </tr> <?php } ?> </table> <input type="hidden" name="option" value="com_enmasse" /> <input type="hidden" name="controller" value="salesPerson" /> <input type="hidden" name="task" value="dealShow" /> </form> </div>
</div> <div class="subtitle"><?php echo implode(", ", EnmasseHelper::getDealLocationNames($oDeal->id)); ?> </div> <div class="description"> <?php echo $oDeal->short_desc; ?> </div> <div class="timer"> <span><?php echo JText::_('START_AT'); ?> <?php echo DatetimeWrapper::getDisplayDatetime($oDeal->start_at); ?> </span> </div> <div class="line"></div> <input name="" type="button" class="button" value="<?php echo JText::_('DEAL_LIST_VIEW_THIS_DEAL'); ?> " onclick="window.location.href='<?php echo JRoute::_($link); ?> '" /> </div> </div> <?php foreach ($dealList as $oDeal) {
public static function doNotify($orderId) { $order = JModel::getInstance('order', 'enmasseModel')->getById($orderId); JModel::getInstance('order', 'enmasseModel')->updateStatus($order->id, 'Paid'); $orderItemList = JModel::getInstance('orderItem', 'enmasseModel')->listByOrderId($orderId); $totalQty = 0; for ($count = 0; $count < count($orderItemList); $count++) { $orderItem = $orderItemList[$count]; // only add total sold when order has status of delivered //JModel::getInstance('deal', 'enmasseModel')->addQtySold($orderItem->pdt_id, $orderItem->qty); JModel::getInstance('orderItem', 'enmasseModel')->updateStatus($orderItem->id, 'Paid'); JModel::getInstance('invty', 'enmasseModel')->updateStatusByOrderItemId($orderItem->id, 'Sold'); if ($count == 0) { $dealName = $orderItem->description; } elseif ($count == count($orderItemList) - 1) { $dealName .= " & " . $orderItem->description; } else { $dealName .= " , " . $orderItem->description; } $totalQty += $orderItem->qty; } //--------------------------- //Create the receipt with pdf format //just create bill if the order is not free and buyer have full paid //remember full paid = order->status = "paid" and order->paid_amount == 0.0 if ($order->total_buyer_paid > 0 && $order->paid_amount == 0.0) { $sBillName = BillHelper::createPDF($orderId); } else { $sBillName = ""; } //-------------------------- // Sending email $payment = json_decode($order->pay_detail); $buyer = json_decode($order->buyer_detail); $delivery = json_decode($order->delivery_detail); $params = array(); $params['$buyerName'] = $buyer->name; $params['$buyerEmail'] = $buyer->email; $buyerEmail = $buyer->email; $params['$deliveryName'] = $delivery->name; $params['$deliveryEmail'] = $delivery->email; $params['$orderId'] = self::displayOrderDisplayId($order->id); $params['$dealName'] = $dealName; $params['$totalPrice'] = self::displayCurrency($order->paid_amount); $params['$totalQty'] = $totalQty; $params['$createdAt'] = DatetimeWrapper::getDisplayDatetime($order->created_at); if (self::getSetting()->sending_bill_auto == 1) { self::sendMailByTemplate($buyerEmail, 'receipt', $params, $sBillName); //send mail with bill attachment } else { self::sendMailByTemplate($buyerEmail, 'receipt', $params); //send mail with no attachment } foreach ($orderItemList as $orderItem) { $deal = JModel::getInstance('deal', 'enmasseModel')->getById($orderItem->pdt_id); if ($deal->status == "Confirmed" && $deal->prepay_percent == 100.0) { self::orderItemDelivered($orderItem); } //--- auto confirm deal if ($deal->auto_confirm && $deal->status != "Confirmed" && $deal->min_needed_qty <= $deal->cur_sold_qty) { //------------------------ //generate integration class $isPointSystemEnabled = EnmasseHelper::isPointSystemEnabled(); if ($isPointSystemEnabled == true) { $integrationClass = EnmasseHelper::getPointSystemClassFromSetting(); $integrateFileName = $integrationClass . '.class.php'; require_once JPATH_SITE . DS . "components" . DS . "com_enmasse" . DS . "helpers" . DS . "pointsystem" . DS . $integrationClass . DS . $integrateFileName; } //--- update deal status to "Confirmed" JModel::getInstance('deal', 'enmasseModel')->updateStatus($deal->id, 'Confirmed'); //--- delivery coupon by email if the deal is not partial payment if ($deal->prepay_percent == 100.0) { $arOrderItemDelivery = JModel::getInstance('orderItem', 'enmasseModel')->listByPdtIdAndStatus($deal->id, "Paid"); foreach ($arOrderItemDelivery as $oOrderItem) { EnmasseHelper::orderItemDelivered($oOrderItem); //------------------------ //generate integration class if ($isPointSystemEnabled == true) { $buyerId = EnmasseHelper::getUserIdByOrderId($oOrderItem->order_id); $referralId = EnmasseHelper::getReferralIdByOrderId($oOrderItem->order_id); $integrationObject = new $integrationClass(); $integrationObject->integration($buyerId, 'confirmdeal'); if (!empty($referralId)) { $integrationObject->integration($referralId, 'referralbonus'); } } sleep(1); } } //--- Refund point to who paid with point but without paying by cash if ($isPointSystemEnabled == true) { $buyerList = EnmasseHelper::getBuyerRefundConfirmDeal($deal->id); $integrationObject = new $integrationClass(); foreach ($buyerList as $buyer) { $integrationObject->integration($buyer['buyer_id'], 'refunddeal', $buyer['point_used_to_pay']); } } } } }