Subversion Repositories SmartDukaan

Rev

Rev 194 | Rev 353 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 194 Rev 304
Line 2... Line 2...
2
Created on 29-Mar-2010
2
Created on 29-Mar-2010
3
 
3
 
4
@author: ashish
4
@author: ashish
5
'''
5
'''
6
from shop2020.model.v1.order.impl.DataService import Transaction, LineItem,\
6
from shop2020.model.v1.order.impl.DataService import Transaction, LineItem,\
7
    AdditionalInfo, Payment, Shipment, TransactionTrail, Billing, ItemInfo
7
    AdditionalInfo, Payment, Shipment, TransactionTrail, Billing, ItemInfo,\
-
 
8
    Alerts, ExtraItemInfo
8
from shop2020.thriftpy.model.v1.order.ttypes import Transaction as T_Transaction,\
9
from shop2020.thriftpy.model.v1.order.ttypes import Transaction as T_Transaction,\
9
    TransactionServiceException
10
    TransactionServiceException
10
import datetime
11
import datetime
11
from shop2020.utils.OrderStatus import status_transaction_init,\
12
from shop2020.utils.OrderStatus import status_transaction_init,\
12
    status_shipment_shipped, status_shipment_delivered, get_c_status
13
    status_shipment_shipped, status_shipment_delivered, get_c_status
Line 78... Line 79...
78
    for v in t_transaction.shipmentInfo.shipments:
79
    for v in t_transaction.shipmentInfo.shipments:
79
        shipment = Shipment()
80
        shipment = Shipment()
80
        shipment.weight = v.weight
81
        shipment.weight = v.weight
81
        shipment.insurance_value = v.insurance
82
        shipment.insurance_value = v.insurance
82
        shipment.status = get_c_status(v.status);
83
        shipment.status = get_c_status(v.status);
-
 
84
        shipment.address = v.address
83
        transaction.shipments.append(shipment)
85
        transaction.shipments.append(shipment)
84
    session.commit()
86
    session.commit()
85
    return transaction.id
87
    return transaction.id
86
            
88
            
87
    
89
    
Line 317... Line 319...
317
 
319
 
318
def get_transactions_for_shopping_cart_id(shopping_cart_id):
320
def get_transactions_for_shopping_cart_id(shopping_cart_id):
319
    transactions = Transaction.query.filter_by(shopping_cart_id=shopping_cart_id).all()
321
    transactions = Transaction.query.filter_by(shopping_cart_id=shopping_cart_id).all()
320
    if not transactions:
322
    if not transactions:
321
        raise TransactionServiceException(108, "transactions for this shopping cart")
323
        raise TransactionServiceException(108, "transactions for this shopping cart")
322
    return transactions
-
 
323
324
    return transactions
-
 
325
 
-
 
326
def get_alerts(transaction_id, all):
-
 
327
    query = Alerts.query.filter_by(transaction_id=transaction_id)
-
 
328
    if not all:
-
 
329
        query = query.filter_by(valid=True)
-
 
330
    return query.all()
-
 
331
 
-
 
332
def set_alert(transaction_id, unset, type, comment):
-
 
333
    #get existing alert
-
 
334
    if unset:
-
 
335
        query = Alerts.query.filter_by(transaction_id=transaction_id)
-
 
336
        query = query.filter_by(type=type)
-
 
337
        alerts = query.all()
-
 
338
        for alert in alerts:
-
 
339
            if alert.valid:
-
 
340
                alert.valid = False
-
 
341
                alert.comment = comment
-
 
342
                alert.time_unset = datetime.datetime.now()
-
 
343
    else:
-
 
344
        alert = Alerts()
-
 
345
        alert.transaction_id = transaction_id
-
 
346
        alert.valid = True
-
 
347
        alert.type = type
-
 
348
        alert.comment = comment
-
 
349
        alert.time_set = datetime.datetime.now()
-
 
350
    session.commit()
-
 
351
    
-
 
352
def get_extra_info(transaction_id):
-
 
353
    return ExtraItemInfo.get_by(transaction_id=transaction_id)
-
 
354
 
-
 
355
def set_extra_info(transaction_id, sku_id, model, vendor, colour):
-
 
356
    extra_item_info = ExtraItemInfo()
-
 
357
    extra_item_info.transaction_id = transaction_id
-
 
358
    extra_item_info.sku_id = sku_id
-
 
359
    extra_item_info.model = model
-
 
360
    extra_item_info.vendor = vendor
-
 
361
    extra_item_info.colour = colour
-
 
362
    session.commit()
-
 
363
324
364