Subversion Repositories SmartDukaan

Rev

Rev 699 | Rev 746 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
104 ashish 1
'''
2
Created on 29-Mar-2010
3
 
4
@author: ashish
5
'''
6
 
7
from elixir import *
8
from elixir.entity import Entity
9
from elixir.fields import Field
10
from sqlalchemy.types import Integer
11
from elixir.relationships import OneToMany, ManyToOne
12
import datetime
13
 
14
 
15
 
16
#===============================================================================
17
# Different entities in the model
18
#===============================================================================
19
 
483 rajveer 20
def initialize():
21
    metadata.bind = "sqlite:///Transactionsnew.sqlite"
22
    metadata.bind.echo = True
23
    setup_all(True)
24
 
25
 
26
if __name__=="__main__":
27
    initialize()
28
 
29
 
30
class LineItem(Entity):
31
    id = Field(Integer, primary_key=True, autoincrement=True)
699 chandransh 32
    item_id = Field(Integer)
483 rajveer 33
    brand = Field(String(30))
34
    model_number = Field(String(30))
669 chandransh 35
    model_name = Field(String(30))
36
    color = Field(String(20))
483 rajveer 37
    extra_info = Field(String(100))
38
    quantity = Field(Float)
39
    unit_price = Field(Float)
40
    unit_weight = Field(Float)
41
    total_price = Field(Float)
42
    total_weight = Field(Float)
43
    order = ManyToOne("Order")
44
 
45
class Order(Entity):
46
    id = Field(Integer, primary_key=True, autoincrement=True)
47
    warehouse_id = Field(Integer)
48
    logistics_provider_id = Field(Integer)
49
    airwaybill_no = Field(String(50))
50
    tracking_id = Field(String(50))
51
    expected_delivery_time = Field(DateTime)
52
    customer_id = Field(Integer)
53
    customer_name = Field(String(50))
54
    customer_mobilenumber = Field(String(20))
55
    customer_pincode = Field(String(10))
738 chandransh 56
    customer_address1 = Field(String(100))
57
    customer_address2 = Field(String(100))
669 chandransh 58
    customer_city = Field(String(100))
59
    customer_state = Field(String(100))
483 rajveer 60
    customer_email = Field(String(50))
61
    status = Field(Integer)
62
    statusDescription = Field(String(50))
63
    total_amount = Field(Float)
64
    total_weight = Field(Float)
65
    invoice_number = Field(String(30))
66
    billed_by = Field(String(30))
67
    created_timestamp = Field(DateTime)
68
    accepted_timestamp = Field(DateTime)
69
    billing_timestamp = Field(DateTime)
70
    shipping_timestamp = Field(DateTime)
71
    delivery_timestamp = Field(DateTime)
72
    lineitems = OneToMany("LineItem")
73
    transaction = ManyToOne("Transaction")
642 chandransh 74
    jacket_number = Field(Integer)
483 rajveer 75
 
104 ashish 76
class Transaction(Entity):
483 rajveer 77
    id = Field(Integer, primary_key=True, autoincrement=True)
78
    createdOn = Field(DateTime)
79
    status = Field(Integer)
80
    status_message = Field(String(100))
81
    customer_id = Field(Integer)
82
    shopping_cart_id = Field(Integer)
83
    orders = OneToMany("Order")
132 ashish 84
 
483 rajveer 85
class Alerts(Entity):
132 ashish 86
    id = Field(Integer, primary_key=True, autoincrement=True)
483 rajveer 87
    order_id = Field(Integer)
88
    valid = Field(Boolean)
89
    type = Field(Integer)
90
    time_set = Field(DateTime)
91
    comment = Field(String(100))
685 chandransh 92
    time_unset = Field(DateTime)