Пример #1
0
class Patients(models.Model):
    id = models.AutoField(primary_key=True)
    firstName = models.CharField(max_length=100)
    lastName = models.CharField(max_length=100)
    email = models.CharField(max_length=100)
    GENDER = (
        ('Male', 'Male'),
        ('Female', 'Female'),
    )
    gender = models.CharField(choices=GENDER, max_length=20, default='Male')
    photo = models.ImageField(
        default='',
        verbose_name='Photo',
        blank=True,
    )
    address = map_fields.AddressField(max_length=200, blank=True)
    geolocation = map_fields.GeoLocationField(max_length=100, blank=True)
    contact = models.IntegerField(blank=True)
    docor_name = models.CharField(max_length=100, blank=True)
    disease_name = models.CharField(max_length=200, blank=True)
    medicine_detail = models.CharField(max_length=200, blank=True)
    emergency_contact_name = models.CharField(max_length=200, blank=True)
    emergency_contact_no = models.IntegerField(blank=True)

    dob = models.DateField(default='2018-11-11')

    def __str__(self):
        return self.firstName

    class Meta:
        verbose_name_plural = "Patients"
Пример #2
0
class Venue(models.Model):
    '''
    author: Deanna Vickers
    purpose: to build out data structure for venues that can be used for studying while at NSS.
    '''
    student = models.ForeignKey(User, on_delete=models.CASCADE)
    address = map_fields.AddressField(max_length=200)
    geolocation = map_fields.GeoLocationField(max_length=100)
    latitude = models.FloatField(null=True, blank=True)
    longitude = models.FloatField(null=True, blank=True)
    name = models.CharField(max_length=100)
    description = models.CharField(max_length=255, blank=True)
    hours = models.CharField(max_length=255, blank=True)
    price = models.CharField(max_length=100, blank=True)
    venue_rating = models.IntegerField(
        default=1,
        validators=[MaxValueValidator(5),
                    MinValueValidator(1)],
        blank=True)
    food_served = models.BooleanField(default=False)
    drinks_served = models.BooleanField(default=False)
    wifi_available = models.BooleanField(default=False)
    image = models.ImageField(upload_to='image/',
                              default='image/none/no-image.jpg',
                              height_field=None,
                              width_field=None,
                              max_length=None)

    def __str__(self):
        return self.name

    class Meta:
        db_table = "venues"
Пример #3
0
class Center(models.Model):
    name = models.TextField(blank=False)
    addres = map_fields.AddressField(max_length=200)
    aditional_information = models.TextField(blank=True,
                                             verbose_name='Place Description')
    geolocation = map_fields.GeoLocationField(max_length=100)
    slug = AutoSlugField(unique=True, populate_from='name', always_update=True)
    user = models.OneToOneField(User,
                                unique=True,
                                null=True,
                                related_name='center')
    free = models.BooleanField(default=False)
    service = models.ManyToManyField(Service, through='ServiceCenter')

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('Center:center_detail', args=[
            self.slug,
        ])

    def save(self, *args, **kwargs):
        self.geolocation = self.addres
        super().save(*args, **kwargs)
Пример #4
0
class Googlemap(models.Model):
    place_name = models.CharField(max_length=30, verbose_name='장소 이름')
    address = map_fields.AddressField(max_length=200)
    geolocation = map_fields.GeoLocationField(max_length=100)

    def __str__(self):
        return self.place_name
Пример #5
0
class Location(RulesModel):
    class Meta:
        rules_permissions = {
            "add": pred.is_super_admin | pred.is_admin | pred.is_editor,
            "view": rules.always_allow,
            "change": pred.is_super_admin | pred.is_admin | pred.is_editor,
            "delete": pred.is_super_admin | pred.is_admin,
        }

    name = models.CharField(max_length=100, unique=True)
    description = models.CharField(blank=True, null=True, max_length=300)
    country = CountryField()
    postal_code = models.CharField(blank=True, null=True, max_length=20)
    city = models.CharField(blank=True, null=True, max_length=30)
    state = models.CharField(blank=True, null=True, max_length=30)
    street = models.CharField(blank=True, null=True, max_length=30)
    address = map_fields.AddressField(max_length=200, null=True)
    geolocation = map_fields.GeoLocationField(max_length=100, null=True)
    map_zoom = models.FloatField(default=14)

    def belongs_to_host(self, host):
        return True

    def lat(self):
        return self.geolocation.lat

    def lng(self):
        return self.geolocation.lon

    def __str__(self):
        return self.name + " (" + self.country.name + ")"
Пример #6
0
class LocationTrack(models.Model):
    id = models.AutoField(primary_key=True)
    patient_id = models.ForeignKey(Patients, on_delete=models.CASCADE)
    address = map_fields.AddressField(max_length=200, blank=True)
    geolocation = map_fields.GeoLocationField(max_length=100, blank=True)
    date = models.DateField(blank=True)
    time = models.TimeField(blank=True)
Пример #7
0
class WaterIntakePoint(models.Model):
    name = models.CharField(max_length=200, null=False, blank=False)
    address = map_fields.AddressField(max_length=200)
    geolocation = map_fields.GeoLocationField()

    def __str__(self):
        return "{name} ({address})".format(name=self.name, address=self.address)
Пример #8
0
class Address(TimestampedMixin, NexusModel):
    address1 = models.CharField(max_length=512)
    address2 = models.CharField(max_length=512, null=True, blank=True)
    city = models.CharField(max_length=512)
    county = models.CharField(max_length=32, null=True, blank=True)
    state = models.CharField(max_length=32)
    latitude = models.CharField(max_length=32, null=True, blank=True)
    longitude = models.CharField(max_length=32, null=True, blank=True)
    google_address = map_fields.AddressField(max_length=200,
                                             null=True,
                                             blank=True)
    geolocation = map_fields.GeoLocationField(max_length=100,
                                              null=True,
                                              blank=True)
    zipcode = models.CharField(max_length=16)
    property = models.ForeignKey('Property')

    class Meta:
        ordering = ['state', 'city', 'zipcode', 'address1']

    @property_
    def uri(self):
        from .api import AddressResource
        return AddressResource().get_resource_uri(self)

    def json(self):
        from api import AddressResource
        res = AddressResource()
        bundle = res.build_bundle(obj=self)
        return res.serialize(None, res.full_dehydrate(bundle),
                             'application/json')
Пример #9
0
class AssetMasyarakat(models.Model):
    owner = models.ForeignKey(CustomUser,
                              on_delete=models.CASCADE,
                              default=None)
    kode_asset = models.CharField(blank=True, max_length=100)
    nama = models.CharField(blank=True, max_length=100)
    merk = models.CharField(blank=True, max_length=100)
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    tahun_pembuatan = models.PositiveIntegerField(
        default=current_year(),
        validators=[MinValueValidator(1970), max_value_current_year])
    umur_asset = models.CharField(blank=True, max_length=100)
    harga = models.FloatField(blank=True, null=True)
    tgl_beli = models.DateTimeField(blank=True, null=True)
    lokasi = models.CharField(blank=True, max_length=100)
    deskripsi = models.TextField(blank=True)
    foto = models.ImageField(blank=True)
    surat_kepemilikan = models.TextField(blank=True)
    latitude = models.FloatField(blank=True, null=True)
    longitude = models.FloatField(blank=True, null=True)
    google_places_id = models.CharField(max_length=255, blank=True)

    address = map_fields.AddressField(max_length=200,
                                      blank=True,
                                      null=True,
                                      default=None)
    geolocation = map_fields.GeoLocationField(max_length=100,
                                              blank=True,
                                              null=True,
                                              default=None)

    def __str__(self):
        return f"[{self.kode_asset}, {self.nama}]"
Пример #10
0
class Distribuidor(models.Model):
    id = models.AutoField(primary_key=True)
    nombre_distribuidor = models.CharField(max_length=100)
    horario = models.CharField(max_length=100)
    estado = models.CharField(max_length=50)
    direccion = models.TextField()    
    ciudad = models.CharField(max_length=100)
    a_domicilio =  models.BooleanField()
    pago_con_tarjeta = models.BooleanField()
    notas = models.TextField(null=True, blank=True)
    notas_internas = models.TextField(null=True, blank=True)
    telefono = models.CharField(max_length=20)
    whatsapp = models.CharField(max_length=20, null=True, blank= True)
    link_pagina = models.CharField(max_length=100, null=True, blank=True)        
    address = map_fields.AddressField(max_length=200, default='')
    geolocation = map_fields.GeoLocationField(max_length=100, default='')
    dar_de_baja = models.BooleanField(default=False)
    fecha_creacion = models.DateTimeField(auto_now_add=True)
    ultima_actualizacion = models.DateTimeField(auto_now=True)
    abre_sabado = models.BooleanField(default=True)
    abre_domingo = models.BooleanField(default=True)
    abre_24h = models.BooleanField(default=True)
    recarga_gratis = models.BooleanField(default=False)
    history = HistoricalRecords()

    class Meta: 
        verbose_name_plural = "distribuidores"


    def __str__(self):
        return self.nombre_distribuidor
Пример #11
0
class Events(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null = True)
    organizer = models.CharField(max_length=200)
    name = models.CharField("Event Name", max_length=200)
    comment = models.CharField("Details", max_length=1000)
    address = map_fields.AddressField(max_length=200)
    geolocation = map_fields.GeoLocationField(null=True, max_length=100)
    event_date = models.DateField(null=True)
    event_time = models.TimeField(null=True)

    class Meta:
        verbose_name_plural = "Events"
        permissions = (
            ('can_delete', 'Can delete event'),
        )

    def __str__(self):
        return self.name

    def is_past(self):
        event_datetime = datetime.datetime(self.event_date.year,
                                           self.event_date.month,
                                           self.event_date.day,
                                           self.event_time.hour,
                                           self.event_time.minute,
                                           self.event_time.second,
                                           self.event_time.microsecond,
                                           timezone.now().tzinfo)
        return event_datetime < timezone.now()
Пример #12
0
class Vendor(TimeStamped, Titled):
    """
    A vendor that offers product / services to parents
    """
    address = map_fields.AddressField(max_length=200)
    geolocation = map_fields.GeoLocationField(max_length=100)
    geolocation_updated = models.DateTimeField(blank=True, null=True)

    phone = models.CharField("Phone", max_length=100)
    email = models.EmailField("Email", max_length=254, blank=True)
    website = models.CharField("Website", max_length=100, blank=True)
    description = models.TextField("Description", blank=True)

    subjects = models.ManyToManyField(Subject, related_name="vendors")
    types = models.ManyToManyField(Type, related_name="vendors")

    class Meta:
        ordering = ["title"]

    @property
    def geolocation_update_allowed(self):
        """
        Only allow geolocation updates if the vendor has been updated at least one minute
        after the last geolocation attempt.

        This is a crude way to make sure we don't continually attempt geolocation updates
        on vendors that have wrong or nonexistent addresses.
        """
        if self.geolocation_updated is None:
            return True
        return (self.updated -
                self.geolocation_updated) > timedelta(seconds=60)

    def update_geolocation(self, force=False):
        """
        Attempt to get new coordinates based on a vendor's address.
        """
        if not force and not self.geolocation_update_allowed:
            raise GeolocationError(
                "{} has not been updated since last geocode attempt".format(
                    self))

        error = None
        api = googlemaps.Client(key=settings.GOOGLE_MAPS_API_KEY)
        try:
            result = api.geocode(self.address)
            self.geolocation.lat = result[0]["geometry"]["location"]["lat"]
            self.geolocation.lon = result[0]["geometry"]["location"]["lng"]
        except googlemaps.exceptions.ApiError as e:
            error = "API error ({}) when processing {}".format(e, self)
        except IndexError:
            error = "No geolocation results found for {}".format(self)

        # Always save to keep track of the latest geolocation attempt, even if failed
        self.geolocation_updated = now()
        self.save()

        if error:
            raise GeolocationError(error)
Пример #13
0
class Realty(models.Model):
    STATUS_CHOICES = (
        ('draft', 'Draft'),
        ('published', 'Published'),
    )
    name = models.CharField("Name", max_length=150)
    url = models.SlugField(max_length=250, unique=True)
    overview = models.CharField("Overview", max_length=255)
    image = models.ImageField(upload_to='images/%Y/%m/%d', null=True)
    description = models.TextField("Description")
    description_data = models.TextField("Description data")
    description_details = models.TextField("Detailed description")
    place = models.TextField("Object location")
    address = map_fields.AddressField(max_length=200, default='Любляна')
    geolocation = map_fields.GeoLocationField(
        max_length=100, default='46.05187370933915,14.506043267333983')
    code = models.CharField("Code", max_length=50)
    type = models.CharField("Type", max_length=255)
    area = models.CharField("Area", max_length=255)
    floor_number = models.CharField("Floor number", max_length=255)
    namber_of_floors = models.CharField("Namber of floors", max_length=255)
    price = models.CharField("Price", max_length=255)
    buiding = models.CharField("Buiding", max_length=255)
    adaptation = models.CharField("Adaptation", max_length=255)
    rooms = models.CharField("Rooms", max_length=255)
    garage = models.BooleanField("Garage")
    pool = models.BooleanField("Pool")
    furniture = models.BooleanField("Furniture")
    air_conditioner = models.BooleanField("Air conditioner")

    status_realty = models.ForeignKey(StatusesRealty,
                                      on_delete=models.CASCADE,
                                      verbose_name="Status realty",
                                      blank=True,
                                      null=True)
    user = models.ForeignKey(Profile,
                             on_delete=models.CASCADE,
                             verbose_name="User",
                             blank=True,
                             null=True)
    created = models.DateTimeField('Created', auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    delited = models.DateTimeField(auto_now=True)

    published = models.CharField('Status',
                                 max_length=10,
                                 choices=STATUS_CHOICES,
                                 default='draft')

    def get_absolute_url(self):
        return reverse('realty_details', kwargs={'slug': self.url})

    def __str__(self):
        return self.name

    class Meta:
        verbose_name = """object"""
        verbose_name_plural = """objects"""
Пример #14
0
class Entity(models.Model):
    text = models.TextField(max_length=200)
    version = models.ForeignKey(Version,
                                related_name='entity',
                                on_delete=models.CASCADE)
    created_by = models.ForeignKey(User,
                                   related_name='entity',
                                   on_delete=models.CASCADE)
    geolocation = map_fields.GeoLocationField(max_length=100)
Пример #15
0
class Rental(models.Model):
    address = map_fields.AddressField(max_length=200)
    geolocation = map_fields.GeoLocationField(max_length=200)

    class Meta:
        verbose_name_plural = "Rentals"

    def __str__(self):
        return self.address
Пример #16
0
class Ruta(models.Model):
    nombre = models.CharField(max_length=200)
    valor = models.IntegerField(max_length=200)
    address = map_fields.AddressField(max_length=200,
                                      verbose_name='Dirección',
                                      blank=True,
                                      null=True)
    geolocation = map_fields.GeoLocationField(max_length=100,
                                              verbose_name='Coordenada Inicio',
                                              blank=True,
                                              null=True)
    geolocation2 = map_fields.GeoLocationField(max_length=100,
                                               verbose_name='Coordenada Final',
                                               blank=True,
                                               null=True)

    def __str__(self):
        return str(self.nombre)
Пример #17
0
class Region(models.Model):
    name = models.CharField(max_length=164)
    # latitude = models.FloatField(default=0)
    # longitude = models.FloatField(default=0)
    address = map_fields.AddressField(max_length=200)
    geolocation = map_fields.GeoLocationField(max_length=100)

    def __str__(self):
        return self.name
Пример #18
0
class Escuela(models.Model):
    nombre = models.CharField(max_length=200)
    address = map_fields.AddressField(max_length=200,
                                      verbose_name='Dirección',
                                      blank=True,
                                      null=True)
    geolocation = map_fields.GeoLocationField(max_length=100,
                                              verbose_name='Coordenadas',
                                              blank=True,
                                              null=True)
Пример #19
0
class Mapa(models.Model):
    name = models.CharField(max_length=200, db_index=True)
    slug = models.SlugField(max_length=200, unique=True)
    image = models.ImageField(upload_to='products/%Y/%m/%d',
                              blank=True)
    description = models.TextField(blank=True)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    address = map_fields.AddressField(max_length=200)
    geolocation = map_fields.GeoLocationField(max_length=100)
    available = models.BooleanField(default=True)
Пример #20
0
class Sede(models.Model):
    nombre_sede = models.CharField(max_length=30)
    tipo_sede = models.CharField(max_length=30)
    address = map_fields.AddressField(max_length=200)
    geolocation = map_fields.GeoLocationField(max_length=100)

    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)

    def __str__(self):
        return '%s %s' % (self.nombre_sede, self.tipo_sede)
Пример #21
0
class EP(models.Model):
    kode_ep = models.CharField(blank=True, max_length=100)
    nama_ep = models.CharField(blank=True, max_length=100)
    lokasi = models.CharField(blank=True, max_length=100)
    google_places_id = models.CharField(max_length=255, blank=True)

    address = map_fields.AddressField(max_length=200, blank=True, null=True, default=None)
    geolocation = map_fields.GeoLocationField(max_length=100, blank=True, null=True, default=None)

    def __str__(self):
        return self.kode_ep
Пример #22
0
class Usuarios(models.Model):

    nombre = models.CharField(max_length=15)
    apellido = models.CharField(max_length=20)
    ciudad = models.CharField(max_length=11)
    address = map_fields.AddressField(max_length=200)
    geolocation = map_fields.GeoLocationField(max_length=100)
    estadogeo = models.BooleanField(default=False)

    def save(self, *args, **kwargs):
        self.estadogeo = True
        return super(Usuarios, self).save(*args, **kwargs)
Пример #23
0
class Queja(models.Model):
    descripcion = models.CharField(max_length=500)
    fecha_creacion = models.DateTimeField(auto_now_add=True)
    foto = models.ImageField(upload_to='img/fotosapp/', blank=True, null=True)
    address = map_fields.AddressField(max_length=200,
                                      verbose_name='Dirección',
                                      blank=True,
                                      null=True)
    geolocation = map_fields.GeoLocationField(max_length=100,
                                              verbose_name='Coordenadas',
                                              blank=True,
                                              null=True)
    user = models.ForeignKey(Usuario, on_delete=models.CASCADE)
Пример #24
0
class Department(models.Model):
    city = models.CharField(_('Город'), max_length=128, null=True)
    address = map_fields.AddressField(_('Адрес [ru]'), max_length=128)
    address_ua = models.CharField(_('Адрес [ua]'), max_length=255, null=True)
    geolocation = map_fields.GeoLocationField(max_length=100, null=True)
    schedule = models.CharField(_('Режим работы'), max_length=128)
    phone = models.CharField(_('Телефон'), max_length=32)
    email = models.EmailField(_('Электронная почта'), max_length=64)

    class Meta:
        verbose_name = _('Отделение')
        verbose_name_plural = _('Отделения')

    def __str__(self):
        return self.address if self.address else str(self.id)
Пример #25
0
class Listing(models.Model):
    AMENITY_CHOICES = (
        ('Air Conditioned', 'Air Conditioned'),
        ('Board Aproval Required', 'Board Aproval Required'),
        ('Doorman', 'Doorman'),
        ('Dishwasher', 'Dishwasher'),
        ('Elevator', 'Elevator'),
        ('Furnished', 'Furnished'),
        ('Fireplace', 'Fireplace'),
        ('Loft', 'Loft'),
        ('Sublet', 'Sublet'),
        ('Storage', 'Storage'),
        ('Wash/Dryer in unit', 'Wash/Dryer in unit'),
        ('Public outdoor area', 'Public outdoor area'),
        ('Private outdoor area', 'Private outdoor area'),
        ('Pets allowed', 'Pets allowed'),
        ('Parking', 'Parking'),
        ('Smoke free', 'Smoke free'),
        ('Gym', 'Gym'),
        ('Has Parking', 'Has Parking'),
    )
    realtor = models.ForeignKey(Realtor, on_delete=models.DO_NOTHING)
    title = models.CharField(max_length=200)
    address = models.CharField(max_length=200)
    city = models.CharField(max_length=200)
    state = models.CharField(max_length=200)
    zipcode = models.CharField(max_length=200)
    address = map_fields.AddressField(max_length=200)
    geolocation = map_fields.GeoLocationField(max_length=100, blank=True)
    description = models.TextField(blank=True)
    price = models.IntegerField()
    bedrooms = models.IntegerField()
    bathrooms = models.DecimalField(max_digits=2, decimal_places=1)
    sqft = models.IntegerField()
    amenitys = MultiSelectField(choices=AMENITY_CHOICES)
    lot_size = models.DecimalField(max_digits=5, decimal_places=1)
    photo_main = models.ImageField(upload_to='photos/%Y/%m/%d/', blank=True)
    photo_1 = models.ImageField(upload_to='photos/%Y/%m/%d/', blank=True)
    photo_2 = models.ImageField(upload_to='photos/%Y/%m/%d/', blank=True)
    photo_3 = models.ImageField(upload_to='photos/%Y/%m/%d/', blank=True)
    photo_4 = models.ImageField(upload_to='photos/%Y/%m/%d/', blank=True)
    photo_5 = models.ImageField(upload_to='photos/%Y/%m/%d/', blank=True)
    photo_6 = models.ImageField(upload_to='photos/%Y/%m/%d/', blank=True)
    is_published = models.BooleanField(default=True)
    list_date = models.DateTimeField(default=datetime.now, blank=True)

    def __str__(self):
        return self.title
Пример #26
0
class Jobform(models.Model):
    #user = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=100)
    company = models.ForeignKey(CompanyProfile, on_delete=models.CASCADE)
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    jobtype = models.ForeignKey(Jobtype, on_delete=models.CASCADE)
    description = models.TextField()

    datenow = datetime.date(datetime.now())
    timenow = datetime.time(datetime.now())

    postdate = models.DateField()
    posttime = models.TimeField()

    deadlinedate = models.DateField()
    deadlinetime = models.TimeField()

    address = map_fields.AddressField(max_length=200)
    geolocation = map_fields.GeoLocationField(max_length=100)

    salary_min = models.IntegerField()
    salary_max = models.IntegerField()

    US_author_required = models.BooleanField(default=False)

    def open(self):
        if self.postdate == self.datenow:
            return self.posttime <= self.timenow
        if self.deadlinedate == self.datenow:
            return self.deadlinetime >= self.timenow
        return (self.deadlinedate > self.datenow
                and self.postdate < self.datenow)

    def age(self):
        diff = datetime.now().date() - self.postdate
        if diff == 0:
            return "today"
        elif diff == 1:
            return "1 day"
        else:
            return "{} days".format(diff.days)

    def save(self, *args, **kwargs):
        created = self.pk is None
        super(Jobform, self).save(*args, **kwargs)
        if created:
            Category.objects.filter(name=self.category.name).update(
                count=F('count') + 1)
Пример #27
0
class DonationCenter(models.Model):
    name = models.CharField(max_length=200)
    photo = models.ImageField(upload_to='photos/%Y/%m/%d/',
                              null=True,
                              blank=True)
    description = models.TextField(blank=True)
    phone = models.CharField(max_length=100)
    email = models.CharField(max_length=100)
    is_approved = models.BooleanField(default=False)
    is_verified = models.BooleanField(default=False)
    address = map_fields.AddressField(max_length=200, null=True, blank=True)
    geolocation = map_fields.GeoLocationField(max_length=100,
                                              null=True,
                                              blank=True)

    def __str__(self):
        return self.name

    def send_account_creation_email_to_system_admin(self):
        """Send notification email to system admin on account creation."""
        recipient = '*****@*****.**'
        send_mail(
            'Donation Center Account Creation Request',
            'Dear BDSG Admin ',
            '\n' + self.name +
            ' has requested for an account creation. You can view the donation center details at http://127.0.0.1:8000/admin/donations/donationcenter/'
            + self.id + '/',
            '*****@*****.**', [recipient],
            fail_silently=False)

    def send_activation_email_to_donation_center(self):
        """Send notification email to donation center on activation."""
        recipient = self.email
        send_mail(
            'Account activation',
            'Dear ' + self.name + ', \n' +
            'Your account has been created at BDSG. You can view the website at http://127.0.0.1:8000/',
            '*****@*****.**', [recipient],
            fail_silently=False)

    def save(self, *args, **kwargs):
        """Ensure validations are run and updated/created preserved."""
        self.full_clean(exclude=None)
        if self.is_approved and self.is_verified:
            self.send_activation_email_to_donation_center()
        if not self.is_approved and self.is_verified:
            self.send_account_creation_email_to_system_admin()
        super(DonationCenter, self).save(*args, **kwargs)
Пример #28
0
class CustomUser(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(_("email address"), unique=True)
    username = models.CharField(unique=True, max_length=200)
    is_staff = models.BooleanField(default=False)
    is_active = models.BooleanField(default=True)
    date_joined = models.DateTimeField(default=timezone.now)
    is_superuser = models.BooleanField(default=False)
    first_name = models.CharField(max_length=200)
    last_name = models.CharField(max_length=200)
    address = map_fields.AddressField(max_length=200, null=True)
    geolocation = map_fields.GeoLocationField(max_length=100, null=True)
    dob = models.DateTimeField(null=True, blank=True, default=timezone.now)
    phone = models.CharField(max_length=200, blank=True)
    phone_activated = models.BooleanField(default=False)
    phone_activation_code = models.CharField(max_length=200)
    genderChoices = [("Male", "Male"), ("Female", "Female"),
                     ("Other", "Other")]
    gender = models.CharField(max_length=200,
                              choices=genderChoices,
                              default="Male")
    profile_image = models.ImageField(blank=True)
    cover_photo = models.ImageField(blank=True)
    facebook_link = models.CharField(max_length=200, blank=True)
    twitter_link = models.CharField(max_length=200, blank=True)
    instagram_link = models.CharField(max_length=200, blank=True)
    youtube_link = models.CharField(max_length=200, blank=True)
    linkedin_link = models.CharField(max_length=200, blank=True)
    sendEmail = models.BooleanField(default=True)
    sendSMS = models.BooleanField(default=True)
    activation = models.CharField(max_length=200)

    class Meta:
        verbose_name = "User"
        verbose_name_plural = "Users"

    objects = AccountManager()

    USERNAME_FIELD = "email"
    REQUIRED_FIELDS = []

    def __str__(self):
        return self.email

    def save(self, *args, **kwargs):
        self.username = self.email
        super(CustomUser, self).save(*args, **kwargs)
Пример #29
0
class Lead(models.Model):
    choices_measure = (
        ('KG', 'KG'),
        ('Gram', 'Gram'),
        ('Unit', 'Unit'),
    )

    def __str__(self):
        return "Food: %s - Kind of food: %s" % (self.food, self.kindoffood)

    email = models.EmailField(unique=True)
    kindoffood = models.CharField(
        "Kind",
        max_length=200,
        help_text="What kind of food the ducks are fed?")
    food = models.CharField("Food",
                            max_length=200,
                            help_text="What food the ducks are fed?")
    how_much_food = models.PositiveIntegerField(
        "How much food?", help_text="KG, grams or units")  #value in grams
    measure = models.CharField(
        "Measure",
        max_length=4,
        help_text="What is the usual measure of the food the ducks are fed?",
        choices=choices_measure,
        default="KG")

    how_many_ducks = models.PositiveIntegerField(
        "Number of ducks", help_text="How many ducks are fed?")
    fed_time = models.TimeField("Time",
                                help_text="What time the ducks are fed?")

    fed_everyday = models.BooleanField(
        "Feed everyday?",
        blank=True,
        help_text="Do you feed the ducks everyday?")
    address = map_fields.AddressField(
        help_text="What is the address where the ducks are fed?",
        blank=True,
        max_length=200)
    geolocation = map_fields.GeoLocationField(
        help_text="What are the coordinates where the ducks are fed?",
        blank=True,
        max_length=100)
    created_at = models.DateTimeField(verbose_name="Data created in",
                                      auto_now_add=True)
Пример #30
0
class Request(models.Model):
    sender = models.ForeignKey(TUser,
                               models.SET_NULL,
                               related_name="TUser_sender",
                               blank=True,
                               null=True)
    recipient = models.ForeignKey(TUser,
                                  models.SET_NULL,
                                  related_name="TUser_recipient",
                                  blank=True,
                                  null=True)
    subject = models.CharField(max_length=500, default="")
    description = models.CharField(max_length=500, default="")
    address = map_fields.AddressField(
        max_length=200, default="164 McCormick Rd, Charlottesville, VA 22903")
    geolocation = map_fields.GeoLocationField(max_length=100, default="")
    latitude = models.FloatField(default=38.036460)
    longitude = models.FloatField(default=-78.506080)