Skip to content

Commit

Permalink
Merge pull request #96 from fga-gpp-mds/login_facebook_rebased
Browse files Browse the repository at this point in the history
Login com Facebook
  • Loading branch information
breno-mariz authored and mateusdemorais committed Jun 17, 2018
2 parents 4e74479 + fbab955 commit 38c1b69
Show file tree
Hide file tree
Showing 12 changed files with 408 additions and 104 deletions.
4 changes: 3 additions & 1 deletion VoxPopLoader/loader.py
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,9 @@ def __get_propositions(self):
# Situação
'situation': proposition_result[sp]['descricaoSituacao'],
# URL da proposição na íntegra
'url_full': proposition_result[sp]['url']
'url_full': proposition_result[sp]['url'],
# Última atualização da proposição
'last_update': proposition_result[sp]['dataHora']
}

requests.post(
Expand Down
90 changes: 89 additions & 1 deletion api/admin.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,91 @@
from .models import (
ExtendedUser, Parliamentary, ParliamentaryVote, Proposition,
SocialInformation, UserFollowing, UserVote, ContactUs
)
from django.contrib import admin

# Register your models here.

class ExtendedUserAdmin(admin.ModelAdmin):
list_display = [
'user',
'should_update'
]


class ParliamentaryAdmin(admin.ModelAdmin):
list_display = [
'name',
'gender',
'political_party',
'federal_unit',
'birth_date',
'education',
'email'
]


class ParliamentaryVoteAdmin(admin.ModelAdmin):
list_display = [
'option',
'proposition',
'parliamentary'
]


class PropositionAdmin(admin.ModelAdmin):
list_display = [
'proposition_type',
'proposition_type_initials',
'number',
'year',
'abstract',
'processing',
'situation',
'last_update'
]


class SocialInformationAdmin(admin.ModelAdmin):
list_display = [
'owner',
'region',
'income',
'education',
'race',
'gender',
'birth_date',
]


class UserFollowingAdmin(admin.ModelAdmin):
list_display = [
'user',
'parliamentary'
]


class UserVoteAdmin(admin.ModelAdmin):
list_display = [
'option',
'proposition',
'user'
]


class ContactUsAdmin(admin.ModelAdmin):
list_display = [
'topic',
'email',
'choice',
'text'
]


admin.site.register(ExtendedUser, ExtendedUserAdmin)
admin.site.register(Parliamentary, ParliamentaryAdmin)
admin.site.register(ParliamentaryVote, ParliamentaryVoteAdmin)
admin.site.register(Proposition, PropositionAdmin)
admin.site.register(SocialInformation, SocialInformationAdmin)
admin.site.register(UserFollowing, UserFollowingAdmin)
admin.site.register(UserVote, UserVoteAdmin)
admin.site.register(ContactUs, ContactUsAdmin)
167 changes: 102 additions & 65 deletions api/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,48 +5,47 @@


# Create your models here.
UF_CHOICES = (
('N', 'Null'),
('AC', 'Acre'),
('AL', 'Alagoas'),
('AP', 'Amapá'),
('BA', 'Bahia'),
('CE', 'Ceará'),
('DF', 'Distrito Federal'),
('ES', 'Espírito Santo'),
('GO', 'Goiás'),
('MA', 'Maranão'),
('MG', 'Minas Gerais'),
('MS', 'Mato Grosso do Sul'),
('MT', 'Mato Grosso'),
('PA', 'Pará'),
('PB', 'Paraíba'),
('PE', 'Pernanbuco'),
('PI', 'Piauí'),
('PR', 'Paraná'),
('RJ', 'Rio de Janeiro'),
('RN', 'Rio Grande do Norte'),
('RO', 'Rondônia'),
('RR', 'Roraima'),
('RS', 'Rio Grande do Sul'),
('SC', 'Santa Catarina'),
('SE', 'Sergipe'),
('SP', 'São Paulo'),
('TO', 'Tocantins')
REGION_CHOICES = (
(None, 'Null'),
('N', 'Norte'),
('NE', 'Nordeste'),
('CO', 'Centro-Oeste'),
('SE', 'Sudeste'),
('S', 'Sul')
)

INCOME_CHOICES = (
(None, 'Null'),
('E', '0.00-1874.00'),
('D', '1874.01-3748.00'),
('C', '3748.01-9370.00'),
('B', '9370.01-18740.00'),
('A', '18740.01+')
)

EDUCATION_CHOICES = (
('N', 'Null'),
('EFC', 'Ensino Fundamental Completo'),
('EFI', 'Ensino Fundamental Incompleto'),
('EMC', 'Ensino Médio Completo'),
('EMI', 'Ensino Médio Incompleto'),
('ESC', 'Ensino Superior Completo'),
('ESI', 'Ensino Superior Incompleto'),
('PG', 'Pós-Graduação'),
('ME', 'Mestrado'),
('DO', 'Doutorado'),
('PD', 'Pós-Doutorado')
(None, 'Null'),
('SE', 'Sem Escolaridade'),
('EF', 'Ensino Fundamental'),
('EM', 'Ensino Médio'),
('ES', 'Ensino Superior'),
('PG', 'Pós-Graduação')
)

RACE_CHOICES = (
(None, 'Null'),
('B', 'Branca'),
('PR', 'Preta'),
('A', 'Amarela'),
('PA', 'Parda'),
('I', 'Indígena')
)

GENDER_CHOICES = (
(None, 'Null'),
('M', 'Masculino'),
('F', 'Feminino'),
('O', 'Outros')
)

VOTE_CHOICES = (
Expand All @@ -57,22 +56,6 @@
('M', 'Missing'),
)

GENDER_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)

INCOME_CHOICES = (
('-1', 'Null'),
('0', '0.00-1000.00'),
('1', '1000.01-3000.00'),
('2', '3000.01-6000.00'),
('3', '6000.01-9000.00'),
('4', '9000.01-15000.00'),
('5', '15000.01-25000.00'),
('6', '25000.00+'),
)

CONTACT_CHOICES = (
('A', 'Dúvida'),
('B', 'Sugestão'),
Expand All @@ -88,22 +71,47 @@ class SocialInformation(models.Model):
related_name='social_information',
on_delete=models.CASCADE
)
federal_unit = models.CharField(
max_length=150,
choices=UF_CHOICES,
default='N'
region = models.CharField(
max_length=2,
choices=REGION_CHOICES,
default=None,
null=True
)
city = models.CharField(max_length=150, blank=True)
income = models.CharField(
max_length=100,
max_length=20,
choices=INCOME_CHOICES,
default='-1'
default=None,
null=True
)
education = models.CharField(
max_length=150, choices=EDUCATION_CHOICES, default='N'
max_length=2,
choices=EDUCATION_CHOICES,
default=None,
null=True
)
race = models.CharField(
max_length=2,
choices=RACE_CHOICES,
default=None,
null=True
)
gender = models.CharField(
max_length=1,
choices=GENDER_CHOICES,
default=None,
null=True
)
job = models.CharField(max_length=100, blank=True)
birth_date = models.DateField(default=datetime.date.today)
birth_date = models.DateField(
default=None,
null=True
)

def __str__(self):
return '{owner}'.format(owner=self.owner)

class Meta:
verbose_name = "Social Information"
verbose_name_plural = "Social Informations"


class Parliamentary(models.Model):
Expand All @@ -123,6 +131,10 @@ class Parliamentary(models.Model):
def __str__(self):
return '{name}'.format(name=self.name)

class Meta:
verbose_name = "Parliamentary"
verbose_name_plural = "Parliamentarians"


class Proposition(models.Model):

Expand All @@ -135,12 +147,17 @@ class Proposition(models.Model):
processing = models.CharField(max_length=100, blank=True)
situation = models.CharField(max_length=100, blank=True)
url_full = models.URLField(blank=True)
last_update = models.DateTimeField(blank=True)

def __str__(self):
return 'Proposition {native_id}'.format(
native_id=self.native_id
)

class Meta:
verbose_name = "Proposition"
verbose_name_plural = "Propositions"


class UserVote(models.Model):

Expand All @@ -162,6 +179,8 @@ class UserVote(models.Model):

class Meta:
unique_together = ('proposition', 'user')
verbose_name = "User Vote"
verbose_name_plural = "User Votes"


class ParliamentaryVote(models.Model):
Expand All @@ -184,6 +203,8 @@ class ParliamentaryVote(models.Model):

class Meta:
unique_together = ('proposition', 'parliamentary')
verbose_name = "Parliamentary Vote"
verbose_name_plural = "Parliamentary Votes"


class UserFollowing(models.Model):
Expand All @@ -199,6 +220,10 @@ class UserFollowing(models.Model):
related_name='followers'
)

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


class Compatibility(models.Model):

Expand All @@ -216,6 +241,10 @@ class Compatibility(models.Model):
matching_votes = models.IntegerField(blank=True)
compatibility = models.FloatField(blank=True)

class Meta:
verbose_name = "Compatibility"
verbose_name_plural = "Compatibilities"


class ExtendedUser(models.Model):

Expand All @@ -226,6 +255,10 @@ class ExtendedUser(models.Model):
)
should_update = models.BooleanField(default=True)

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


class ContactUs(models.Model):
topic = models.CharField(max_length=150)
Expand All @@ -236,3 +269,7 @@ class ContactUs(models.Model):
default='A'
)
text = models.CharField(max_length=500)

class Meta:
verbose_name = "Contact Us"
verbose_name_plural = "Contact Us"
2 changes: 1 addition & 1 deletion api/permissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def has_permission(self, request, view):
elif (request.user.is_anonymous and request.method == 'POST'):
return True

elif 'users' in request.path:
elif 'users' in request.path and 'actual_user' not in request.path:
url_id = request.path.split('/users/')[1][:-1]
user_id = str(request.user.id)

Expand Down
Loading

0 comments on commit 38c1b69

Please sign in to comment.