Prolly obvious, but I can't see it... can you?
--
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en.
# coding: utf8
from datetime import datetime, date, time
now = datetime.utcnow()
today = date.today()
db = SQLDB('sqlite://2hand.db')
########### 2hand DB
db.define_table('users',
SQLField('first_name', 'string', length=20),
SQLField('last_name', 'string', length=20),
SQLField('username', 'string', length=20),
SQLField('password', 'password'),
SQLField('status', 'string', requires=IS_IN_SET(['Admin','SuperAdmin'])),
SQLField('created', 'datetime', default=now, readable=False, writable=False))
db.define_table('customer',
SQLField('first_name', 'string', length=50),
SQLField('last_name', 'string', length=50),
SQLField('address', 'string', length=50),
SQLField('postal_code', 'string', length=15),
SQLField('city', 'string', length=25),
SQLField('email', 'string', length=50),
SQLField('phone_no', 'string', length=50),
SQLField('note', 'text'),
SQLField('email_date', 'datetime'),
SQLField('created', 'datetime', default=now, readable=False, writable=False))
db.define_table('taable',
SQLField('price', 'integer', length=11),
SQLField('note', 'text'))
db.define_table('customer_table',
SQLField('customer_id', db.customer),
SQLField('taable_id', db.taable),
SQLField('taable_price', db.taable),
SQLField('total_price', 'double', length=11),
SQLField('rent_start','date'),
SQLField('rent_end','date'),
SQLField('discount_start','date'),
SQLField('discount_end','date'),
SQLField('discount', 'string', length=10),
SQLField('discount_rate', 'string', length=10),
SQLField('description','text'))
db.define_table('transaction',
SQLField('customer_id', db.customer),
SQLField('receipt_no', 'integer', length=11),
SQLField('price', 'double', length=11),
SQLField('description', 'text'),
SQLField('taable_id', db.taable),
SQLField('overall', 'double', length=11),
SQLField('status', 'integer', length=3),
SQLField('pay_method', 'string', length=15),
SQLField('created', 'datetime', default=now, readable=False))
db.define_table('basket',
SQLField('receipt_no', 'string', length=5),
SQLField('customer_id', db.customer),
SQLField('transaction_id', db.transaction),
SQLField('price', 'double', length=11),
SQLField('description', 'text'),
SQLField('taable_id', db.taable),
SQLField('discount','string', length=5),
SQLField('status', 'string', length=5),
SQLField('created', 'datetime', default=now, readable=False, writable=False))
db.define_table('feedback',
SQLField('sender', db.customer),
SQLField('customer_id', db.customer),
SQLField('transaction_id', db.transaction),
SQLField('price', 'double', length=11),
SQLField('description', 'text'),
SQLField('taable_id', db.taable),
SQLField('discount','string', length=5),
SQLField('status', 'string', length=5),
SQLField('created', 'datetime', default=now, readable=False, writable=False))
############# Dependencies & constraints
db.users.first_name.requires = IS_NOT_EMPTY()
db.users.last_name.requires = IS_NOT_EMPTY()
db.users.username.requires = IS_NOT_EMPTY()
db.users.password.requires = IS_NOT_EMPTY()
db.users.status.requires = IS_NOT_EMPTY()
db.customer.first_name.requires = IS_NOT_EMPTY()
db.taable.price.requires = IS_NOT_EMPTY()
db.taable.note.requires = IS_NOT_EMPTY()
db.customer_table.customer_id.requires = IS_IN_DB(db,'customer.id')
db.customer_table.taable_id.requires = IS_IN_DB(db,'taable.id')
db.customer_table.taable_price.requires = IS_IN_DB(db,'taable.price')
db.customer_table.total_price.requires = IS_NOT_EMPTY()
db.customer_table.rent_start.requires = IS_NOT_EMPTY()
db.customer_table.rent_end.requires = IS_NOT_EMPTY()
db.customer_table.discount_rate.requires = IS_NOT_EMPTY()
db.transaction.customer_id.requires = IS_IN_DB(db,'customer.id')
db.transaction.taable_id.requires = IS_IN_DB(db,'taable.id')
db.transaction.receipt_no.requires = IS_NOT_EMPTY()
db.transaction.price.requires = IS_NOT_EMPTY()
db.transaction.overall.requires = IS_NOT_EMPTY()
db.transaction.status.requires = IS_NOT_EMPTY()
db.transaction.pay_method.requires = IS_NOT_EMPTY()
db.basket.customer_id.requires = IS_IN_DB(db,'customer.id')
db.basket.transaction_id.requires = IS_IN_DB(db,'transaction.id')
db.basket.taable_id.requires = IS_IN_DB(db,'taable.id')
db.basket.receipt_no.requires = IS_NOT_EMPTY()
db.basket.price.requires = IS_NOT_EMPTY()
db.basket.discount.requires = IS_NOT_EMPTY()
db.basket.status.requires = IS_NOT_EMPTY()
#######################################
# Authentication System
#######################################
from gluon.tools import Mail, Auth
mail = Mail()
mail.settings.server='smtp.gmail.com:587'
mail.settings.sender= '[email protected]'
mail.settings.login='[email protected]:browerandrei'
class MyAuth(Auth):
def __init__(self, environment, T, db = None):
"Initialise parent class & make any necessary modifications"
Auth.__init__(self,environment,db)
self.messages.logged_in = T("Logged in")
self.messages.email_sent = T("Email sent")
self.messages.email_verified = T("Email verified")
self.messages.logged_out = T("Logged out")
self.messages.registration_successful = T("Registration successful")
self.messages.invalid_email = T("Invalid email")
self.messages.invalid_login = T("Invalid login")
self.messages.verify_email_subject = T("Password verify")
self.messages.username_sent = T("Your username was emailed to you.")
self.messages.new_password_sent = T("A new password was emailed to you.")
self.messages.password_changed = T("Password changed")
self.messages.retrieve_username=str(T("Your username is:"))+": %(username)s"
self.messages.retrieve_username_subject="Username retrieve"
self.messages.retrieve_password=str(T("Your password is:"))+": %(password)s"
self.messages.retrieve_password_subject = T("Password retrieve")
self.messages.profile_updated = T("Profile updated")
self.settings.table_user = db.users
auth = MyAuth(globals(), T, db)
auth.settings.mailer = mail
#auth.settings.registration_requires_verification = True
auth.define_tables()