Пример #1
0
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')
Пример #2
0
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')
Пример #3
0
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)
Пример #4
0
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')
Пример #5
0
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)
Пример #6
0
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)
Пример #7
0
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)
Пример #8
0
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)
Пример #9
0
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')
Пример #10
0
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)
Пример #11
0
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)
Пример #12
0
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')
Пример #13
0
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')
Пример #14
0
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)
Пример #15
0
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')
Пример #16
0
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')
Пример #17
0
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)