Subversion Repositories SmartDukaan

Rev

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

Rev 115 Rev 132
Line 16... Line 16...
16
#===============================================================================
16
#===============================================================================
17
# Different entities in the model
17
# Different entities in the model
18
#===============================================================================
18
#===============================================================================
19
 
19
 
20
class Transaction(Entity):
20
class Transaction(Entity):
21
    #using_options(auto_primarykey=False)
21
    
22
    #id = Field(Integer, primary_key=True, autoincrement=True)
22
    id = Field(Integer, primary_key=True, autoincrement=True)
23
    createdOn = Field(DateTime)
23
    createdOn = Field(DateTime)
24
    expected_delivery_time = Field(DateTime)
24
    expected_delivery_time = Field(DateTime)
25
    status = Field(Integer)
25
    status = Field(Integer)
26
    status_message = Field(String(100))
26
    status_message = Field(String(100))
27
    customer_id = Field(Integer)
27
    customer_id = Field(Integer)
-
 
28
    shopping_cart_id = Field(Integer)
28
    payments = OneToMany("Payment")
29
    payments = OneToMany("Payment")
29
    shipments = OneToMany("Shipment")
30
    shipments = OneToMany("Shipment")
30
    lineitems = OneToMany("LineItem")
31
    lineitems = OneToMany("LineItem")
31
    trails = OneToMany("TransactionTrail")
32
    trails = OneToMany("TransactionTrail")
32
    def __repr__(self):
33
    def __repr__(self):
33
        return "Transaction: id %d" % (self.id)
34
        return "Transaction: id %d" % (self.id)
34
 
35
 
35
 
36
 
36
class Payment(Entity):
37
class Payment(Entity):
37
    #using_options(auto_primarykey=False)
38
    #using_options(auto_primarykey=False)
38
    #id = Field(Integer, primary_key=True, autoincrement=True)
39
    id = Field(Integer, primary_key=True, autoincrement=True)
-
 
40
    payment_id = Field(Integer)
39
    merchant_tx_id = Field(String(30))
41
    merchant_tx_id = Field(String(30))
40
    bank_tx_id = Field(String(30))
42
    bank_tx_id = Field(String(30))
-
 
43
    mode = Field(String(30))
41
    amount = Field(Float)
44
    amount = Field(Float)
42
    status = Field(Integer)
45
    status = Field(Integer)
43
    status_message = Field(String(100))
46
    status_message = Field(String(100))
44
    start_time = Field(DateTime)
47
    start_time = Field(DateTime)
45
    finish_time = Field(DateTime)
48
    finish_time = Field(DateTime)
Line 49... Line 52...
49
        return "Payment: id %d"%(self.id)
52
        return "Payment: id %d"%(self.id)
50
    
53
    
51
 
54
 
52
class Shipment(Entity):
55
class Shipment(Entity):
53
    #using_options(auto_primarykey=False)
56
    #using_options(auto_primarykey=False)
54
    #id = Field(Integer, primary_key=True, autoincrement=True)
57
    id = Field(Integer, primary_key=True, autoincrement=True)
55
    address = Field(String(100))
58
    address = Field(String(100))
56
    tracking_id = Field(String(100))
59
    tracking_id = Field(String(100))
57
    status = Field(Integer)
60
    status = Field(Integer)
58
    status_message = Field(String(100))
61
    status_message = Field(String(100))
59
    shipment_time = Field(DateTime)
62
    shipment_time = Field(DateTime)
Line 70... Line 73...
70
        return "Shipment: id %d"%(self.id)
73
        return "Shipment: id %d"%(self.id)
71
    
74
    
72
 
75
 
73
class LineItem(Entity):
76
class LineItem(Entity):
74
    #using_options(auto_primarykey=False)
77
    #using_options(auto_primarykey=False)
75
    #id = Field(Integer, primary_key=True, autoincrement=True)
78
    id = Field(Integer, primary_key=True, autoincrement=True)
76
    added_on = Field(DateTime)
79
    added_on = Field(DateTime)
77
    item_id = Field(Integer)
80
    item_id = Field(Integer)
78
    additional_info = OneToMany("AdditionalInfo")
81
    additional_info = OneToMany("AdditionalInfo")
79
    transaction = ManyToOne("Transaction")
82
    transaction = ManyToOne("Transaction")
80
    billing = ManyToOne("Billing")
83
    billing = ManyToOne("Billing")
81
    shipment = ManyToOne("Shipment")
84
    shipment = ManyToOne("Shipment")
82
    
85
    item_info = OneToOne("ItemInfo")
83
    def __repr__(self):
86
    def __repr__(self):
84
        return "id %d item_id %d"%(self.id, self.item_id)
87
        return "id %d item_id %d"%(self.id, self.item_id)
85
    
88
    
-
 
89
class ItemInfo(Entity):
-
 
90
    id = Field(Integer, primary_key=True, autoincrement=True)
-
 
91
    price = Field(Float)
-
 
92
    weight = Field(Float)
-
 
93
    line_item = ManyToOne("LineItem")
86
 
94
 
87
class AdditionalInfo(Entity):
95
class AdditionalInfo(Entity):
88
    #using_options(auto_primarykey=False)
96
    #using_options(auto_primarykey=False)
89
    #id = Field(Integer, primary_key=True, autoincrement=True)
97
    id = Field(Integer, primary_key=True, autoincrement=True)
90
    key = Field(String(30))
98
    key = Field(String(30))
91
    value = Field(String(100))
99
    value = Field(String(100))
92
    line_item = ManyToOne("LineItem")
100
    line_item = ManyToOne("LineItem")
93
    
101
    
94
    def __repr__(self):
102
    def __repr__(self):
95
        return "Additonal info id %d key %s value %s" %(self.id, self.key, self.value)
103
        return "Additonal info id %d key %s value %s" %(self.id, self.key, self.value)
96
    
104
    
97
 
105
 
98
class Billing(Entity):
106
class Billing(Entity):
99
    #using_options(auto_primarykey=False)
107
    #using_options(auto_primarykey=False)
100
    #id = Field(Integer, primary_key=True, autoincrement=True)
108
    id = Field(Integer, primary_key=True, autoincrement=True)
101
    bill_number = Field(String(30))
109
    bill_number = Field(String(30))
102
    created_on = Field(DateTime)
110
    created_on = Field(DateTime)
103
    generated_by = Field(String(30))
111
    generated_by = Field(String(30))
104
    line_item = OneToMany("LineItem")
112
    line_item = OneToMany("LineItem")
105
    #lineitem = OneToOne("LineItem")
113
    
106
    
114
    
107
    def __repr__(self):
115
    def __repr__(self):
108
        return "Billing: billing id %d billno %s " % (self.id, self.bill_number)
116
        return "Billing: billing id %d billno %s " % (self.id, self.bill_number)
109
    
117
    
110
class TransactionTrail(Entity):
118
class TransactionTrail(Entity):
111
    #using_options(auto_primarykey=False)
119
    #using_options(auto_primarykey=False)
112
    #id = Field(Integer, primary_key=True, autoincrement=True)
120
    id = Field(Integer, primary_key=True, autoincrement=True)
113
    field_changed = Field(String(30))
121
    field_changed = Field(String(30))
114
    old_value = Field(String(30))
122
    old_value = Field(String(30))
115
    new_value = Field(String(30))
123
    new_value = Field(String(30))
116
    description = Field(String(100))
124
    description = Field(String(100))
117
    timestamp = Field(DateTime)
125
    timestamp = Field(DateTime)
118
    transaction = ManyToOne("Transaction")
126
    transaction = ManyToOne("Transaction")
119
    
127
    
120
 
128
 
121
def initialize():
129
def initialize():
122
    metadata.bind = "sqlite:///Order.sqlite"
130
    metadata.bind = "sqlite:///Transactionsnew.sqlite"
123
    metadata.bind.echo = True
131
    metadata.bind.echo = True
124
    setup_all(True)
132
    setup_all(True)
125
 
133
 
126
 
134
 
127
if __name__=="__main__":
135
if __name__=="__main__":