Exemplo n.º 1
0
 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'));
     }
 }
Exemplo n.º 2
0
				<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);
        }
Exemplo n.º 4
0
</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>
Exemplo n.º 5
0
				</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) {
Exemplo n.º 6
0
 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']);
                 }
             }
         }
     }
 }