class SystemFertilizer(db.Model): __tablename__ = 'systemfertilizer' id = db.Column(db.Integer, primary_key=True) fertilizer_name = db.Column(db.Text, nullable=True) fertilizer_image = db.Column(db.String(255), nullable=True) fertilizer_document = db.Column(db.String(255), nullable=True) fertilizer_descreption = db.Column(db.Text, nullable=True) fertilizer_main_type_name = db.Column(db.Text, nullable=True) fertilizer_sub_type_name = db.Column(db.Text, nullable=True) fertilizer_user_instructons = db.Column(db.Text, nullable=True) fertilizer_matter = db.Column(db.Text, nullable=True) systemfertilizertyeps_id = db.Column( db.Integer(), db.ForeignKey('systemfertilizertyeps.id')) fertilizermatter_id = db.Column(db.Integer(), db.ForeignKey('fertilizermatter.id')) systemsubfertilizertyeps_id = db.Column( db.Integer(), db.ForeignKey('systemsubfertilizertyeps.id')) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) systemcommonfertilizerplan = db.relationship('SystemCommonFertilizerPlan', backref='systemFertilizer') farmfertilizerplan = db.relationship('FarmFertilizerPlan', backref='systemFertilizer') farm_fertilizer_results = db.relationship('FarmFertilizerResults', backref='systemFertilizer')
class Devisionoffice(db.Model): id = db.Column(db.Integer, primary_key=True) officeName = db.Column(db.Text, nullable=False) officeAddress = db.Column(db.Text, nullable=False) area_id = db.Column(db.Integer, db.ForeignKey('area.id')) users = db.relationship('User', backref='devisionoffice') created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) field_visit = db.relationship('Field_Visit', backref='devisionoffice')
class SystemFertilizerTypes(db.Model): __tablename__ = 'systemfertilizertyeps' id = db.Column(db.Integer, primary_key=True) main_fertilizer_type = db.Column(db.Text, nullable=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) systemsubfertilizertyeps = db.relationship('SystemSubFertilizerTypes', backref='systemfertilizertyeps') systemFertilizer = db.relationship('SystemFertilizer', backref='systemfertilizertyeps') created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
class FertilizerMtter(db.Model): __tablename__ = 'fertilizermatter' id = db.Column(db.Integer, primary_key=True) fertilizer_matter_name = db.Column(db.Text, nullable=True) systemFertilizer = db.relationship('SystemFertilizer', backref='fertilizermatter') systemsubfertilizertyeps = db.relationship('SystemSubFertilizerTypes', backref='fertilizermatter') user_id = db.Column(db.Integer, db.ForeignKey('user.id')) created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) farm_fertilizer_results = db.relationship('FarmFertilizerResults', backref='fertilizermatter')
class Crop(db.Model): id = db.Column(db.Integer, primary_key=True) cropeName = db.Column(db.Text, nullable=False) cropImage = db.Column(db.String(255), nullable=True) farm_id = db.Column(db.Integer, db.ForeignKey('farm.id')) farms = db.relationship('Farm', secondary=farm_crops, backref='crop') harvest = db.relationship('Harvest', backref='crop') pestdisease = db.relationship('Pestdisease', backref='crop') created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) sys_sub_crop_id = db.Column(db.Integer(), db.ForeignKey('syssubcategory.id')) production_type = db.Column(db.String(255), nullable=True) panting_unit = db.Column(db.String(255), nullable=True) crop_surface_on_farm = db.Column(db.String(255), nullable=True)
class District(db.Model): id = db.Column(db.Integer, primary_key=True) districtName = db.Column(db.Text, nullable=False) area = db.relationship('Area', backref='district', lazy=True) created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
class Farmworker(db.Model): id = db.Column(db.Integer, primary_key=True) worker_frist_name = db.Column(db.Text, nullable=False) worker_last_name = db.Column(db.Text, nullable=False) worker_gender = db.Column(db.Boolean) worker_dob = db.Column(db.DateTime, nullable=False) worker_address = db.Column(db.Text, nullable=False) worker_phone = db.Column(db.Integer, nullable=False, unique=False) worker_type = db.Column(db.String(200), nullable=False) farmworker = db.relationship('FarmworkerAlarms', backref='farmworker') farmcomment = db.relationship('FarmWorkerComments', backref='farmworker') workedocument = db.relationship('FarmWorkerDocuments', backref='farmworker') farm_id = db.Column(db.Integer, db.ForeignKey('farm.id')) created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
class Soil(db.Model): id = db.Column(db.Integer, primary_key=True) soilidName = db.Column(db.Text, nullable=False) soilidType = db.Column(db.Text, nullable=False) growingLevel = db.Column(db.Text, nullable=False) crops = db.relationship('Crop', secondary=crop_soils, backref='soil') created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
class System_Pest_and_Diseases(db.Model): __tablename__ = 'system_pest_and_diseases' id = db.Column(db.Integer, primary_key=True) threat_name = db.Column(db.Text, nullable=True) threat_sci_name = db.Column(db.Text, nullable=True) threat_type = db.Column(db.Text, nullable=True) disease_name = db.Column(db.Text, nullable=True) disease_symptoms = db.Column(db.Text, nullable=True) disease_causes = db.Column(db.Text, nullable=True) disease_discreption = db.Column(db.Text, nullable=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) system_pest_disease_soulutions = db.relationship( 'System_Pest_Disease_Soulutions', backref='system_pest_and_diseases') created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) threat_image = db.Column(db.Text, nullable=True) farm_pest_details = db.relationship('Farm_pest_details', backref='system_pest_and_diseases')
class Area(db.Model): id = db.Column(db.Integer, primary_key=True) areaName = db.Column(db.Text, nullable=False) devisionoffices = db.relationship('Devisionoffice', backref='area') district_id = db.Column(db.Integer, db.ForeignKey('district.id'), nullable=False) created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
class Fertilizer(db.Model): id = db.Column(db.Integer, primary_key=True) fertlizerName = db.Column(db.Text, nullable=False) gorowingLevel = db.Column(db.Text, nullable=False) fertilizertype = db.Column(db.Text, nullable=False) crops = db.relationship('Crop', secondary=crop_fertilizers, backref='fertilizer') created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
class SysSubCategory(db.Model): __tablename__ = 'syssubcategory' id = db.Column(db.Integer, primary_key=True) variety_name = db.Column(db.Text, nullable=True) line_designation = db.Column(db.Text, nullable=True) pedgiree = db.Column(db.Text, nullable=True) origin = db.Column(db.Text, nullable=True) method_of_propagation = db.Column(db.Text, nullable=True) syscrop_id = db.Column(db.Integer(), db.ForeignKey('syscrop.id')) sub_cat_yield = db.relationship('SubCatYield', backref='syssubcategory', uselist=False) maturity = db.relationship('Maturity', backref='syssubcategory', uselist=False) importanttrait = db.relationship('ImportantTrait', backref='syssubcategory', uselist=False) reactiontodisease = db.relationship('ReactionToDisease', backref='syssubcategory', uselist=False) reactiontoinsectpest = db.relationship('ReactionToInsectPest', backref='syssubcategory', uselist=False) qulitycharacteristic = db.relationship('QulityCharacteristic', backref='syssubcategory', uselist=False) farmfertilizerplan = db.relationship('FarmFertilizerPlan', backref='syssubcategory') user_id = db.Column(db.Integer, db.ForeignKey('user.id')) created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) sub_crop_image = db.Column(db.String(255), nullable=True) crops = db.relationship('Crop', backref='syssubcategory') farm_fertilizer_results = db.relationship('FarmFertilizerResults', backref='syssubcategory') farm_pest_details = db.relationship('Farm_pest_details', backref='syssubcategory')
class Farm(db.Model): id = db.Column(db.Integer, primary_key=True) farmname = db.Column(db.Text, nullable=False) latitude = db.Column(db.Float(10, 6), nullable=False) longitude = db.Column(db.Float(10, 6), nullable=False) phone = db.Column(db.Integer, nullable=False, unique=False) address = db.Column(db.Text, nullable=False) email = db.Column(db.String(255), nullable=True, unique=False) farmtask = db.relationship('Farmtask', backref='farm') farmworker = db.relationship('Farmworker', backref='farm') fieldvisit = db.relationship('Fieldvisit', secondary=farm_fieldvisits, backref='farm') farmfertilizerplan = db.relationship('FarmFertilizerPlan', backref='farm') user_id = db.Column(db.Integer, db.ForeignKey('user.id')) created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) surface = db.Column(db.String(255), nullable=True, unique=False) devisionoffice_id = db.Column(db.Integer) farm_pest_details = db.relationship('Farm_pest_details', backref='farm')
class Diseasethreatmant(db.Model): id = db.Column(db.Integer, primary_key=True) threatmentName = db.Column(db.Text, nullable=False) threatments = db.Column(db.Text, nullable=False) threatmentChemicalLevel = db.Column(db.Text, nullable=False) preventionStatus = db.Column(db.Text, nullable=False) pestdisease = db.relationship('Pestdisease', secondary=pestdisease_diseasethreatmants, backref='diseasethreatmant') created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
class System_Pest_Disease_Soulutions(db.Model): __tablename__ = 'system_pest_disease_soulutions' id = db.Column(db.Integer, primary_key=True) pest_or_diseas_name = db.Column(db.Text, nullable=True) threatment_type = db.Column(db.Text, nullable=True) threatment_method = db.Column(db.Text, nullable=True) threatment_chemi_amount = db.Column(db.Text, nullable=True) threatment_method_descreption = db.Column(db.Text, nullable=True) prevention_level = db.Column(db.Text, nullable=True) system_pest_and_diseases_id = db.Column( db.Integer, db.ForeignKey('system_pest_and_diseases.id')) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) soulution_image = db.Column(db.Text, nullable=True) farm_pest_details = db.relationship( 'Farm_pest_details', backref='system_pest_disease_soulutions')
class SysCrop(db.Model): __tablename__ = 'syscrop' id = db.Column(db.Integer, primary_key=True) system_crop_name = db.Column(db.Text, nullable=True) system_crop_sci_name = db.Column(db.Text, nullable=True) system_crop_catgoery = db.Column(db.Text, nullable=True) system_crop_growing_time = db.Column(db.Text, nullable=True) system_crop_image = db.Column(db.String(255), nullable=True) # crop_id = db.Column(db.Integer(), db.ForeignKey('crop.id')) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) syssubcategory = db.relationship('SysSubCategory', backref='syscrop') cropseason = db.relationship('CropSeason', backref='syscrop') systemcommonfertilizerplan = db.relationship('SystemCommonFertilizerPlan', backref='syscrop') farmfertilizerplan = db.relationship('FarmFertilizerPlan', backref='syscrop') created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) farm_fertilizer_results = db.relationship('FarmFertilizerResults', backref='syscrop') farm_pest_details = db.relationship('Farm_pest_details', backref='syscrop')
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) fristname = db.Column(db.Text, nullable=False) lastname = db.Column(db.Text, nullable=False) email = db.Column(db.String(255), nullable=False, unique=True) confirmed = db.Column(db.Boolean, nullable=False, default=False) confirmed_on = db.Column(db.DateTime, nullable=True) password = db.Column(db.String(255), nullable=False) phone = db.Column(db.Integer, nullable=False, unique=True) address = db.Column(db.Text, nullable=False) profile = db.Column(db.String(255), nullable=True) usertype = db.Column(db.String(20), nullable=False) active = db.Column(db.Boolean) farm = db.relationship('Farm', backref='user') fieldvisit = db.relationship('Fieldvisit', backref='user') systemfertilizertypes = db.relationship('SystemFertilizerTypes', backref='user') systemsubfertilizertyeps = db.relationship('SystemSubFertilizerTypes', backref='user') fertilizermatter = db.relationship('FertilizerMtter', backref='user') systemfertilizer = db.relationship('SystemFertilizer', backref='user') systemcommonfertilizerplan = db.relationship('SystemCommonFertilizerPlan', backref='user') farmfertilizerplan = db.relationship('FarmFertilizerPlan', backref='user') devisionoffice_id = db.Column(db.Integer, db.ForeignKey('devisionoffice.id')) created_timestamp = db.Column(db.DateTime, default=datetime.now) modified_timestamp = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) syscrops = db.relationship('SysCrop', backref='user') syssubcategories = db.relationship('SysSubCategory', backref='user') subcatyield = db.relationship('SubCatYield', backref='user') maturityies = db.relationship('Maturity', backref='user') importanttraits = db.relationship('ImportantTrait', backref='user') reactiontodiseases = db.relationship('ReactionToDisease', backref='user') reactiontoinsectpest = db.relationship('ReactionToInsectPest', backref='user') qulitycharacteristic = db.relationship('QulityCharacteristic', backref='user') cropseason = db.relationship('CropSeason', backref='user') farm_fertilizer_results = db.relationship('FarmFertilizerResults', backref='user') system_pest_and_diseases = db.relationship('System_Pest_and_Diseases', backref='user') system_pest_disease_soulutions = db.relationship( 'System_Pest_Disease_Soulutions', backref='user') farm_pest_details = db.relationship('Farm_pest_details', backref='user') field_visit = db.relationship('Field_Visit', backref='user') # one to many relationship between district and user which mean one district live in many def get_reset_token(self, expires_sec=1800): s = Serializer(app.config['SECRET_KEY'], expires_sec) return s.dumps({'user_id': self.id}).decode('utf-8') @staticmethod def verify_reset_token(token): s = Serializer(app.config['SECRET_KEY']) try: user_id = s.loads(token)['user_id'] except: return None return User.query.get(user_id) def get_email_confirm_token(self, expier_time=1800): es = Serializer(app.config['SECRET_KEY'], expier_time) return es.dumps({'user_id': self.id}).decode('utf-8') @staticmethod def verify_email_token(token): se = Serializer(app.config['SECRET_KEY']) try: user_id = se.loads(token)['user_id'] except: return None return User.query.get(user_id)