From 9f645c6acf1825ffcbdf246600cc90229ba951d2 Mon Sep 17 00:00:00 2001 From: btenaglia Date: Wed, 24 Jun 2015 00:17:39 -0300 Subject: [PATCH] WIP - Comenzando la app profiles. #299 --- fixtures/medios_contactos.json | 1 + profiles/__init__.py | 0 profiles/__pycache__/__init__.cpython-33.pyc | Bin 0 -> 156 bytes profiles/__pycache__/admin.cpython-33.pyc | Bin 0 -> 337 bytes profiles/__pycache__/models.cpython-33.pyc | Bin 0 -> 4032 bytes profiles/admin.py | 4 ++ profiles/migrations/0001_initial.py | 66 ++++++++++++++++++ profiles/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-33.pyc | Bin 0 -> 2998 bytes .../__pycache__/__init__.cpython-33.pyc | Bin 0 -> 167 bytes profiles/models.py | 51 ++++++++++++++ profiles/tests.py | 3 + profiles/views.py | 3 + pyarweb/settings.py | 3 +- 14 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 fixtures/medios_contactos.json create mode 100644 profiles/__init__.py create mode 100644 profiles/__pycache__/__init__.cpython-33.pyc create mode 100644 profiles/__pycache__/admin.cpython-33.pyc create mode 100644 profiles/__pycache__/models.cpython-33.pyc create mode 100644 profiles/admin.py create mode 100644 profiles/migrations/0001_initial.py create mode 100644 profiles/migrations/__init__.py create mode 100644 profiles/migrations/__pycache__/0001_initial.cpython-33.pyc create mode 100644 profiles/migrations/__pycache__/__init__.cpython-33.pyc create mode 100644 profiles/models.py create mode 100644 profiles/tests.py create mode 100644 profiles/views.py diff --git a/fixtures/medios_contactos.json b/fixtures/medios_contactos.json new file mode 100644 index 00000000..2ed3713a --- /dev/null +++ b/fixtures/medios_contactos.json @@ -0,0 +1 @@ +[{"fields": {"created": "2015-06-24T03:04:27.259Z", "modified": "2015-06-24T03:04:27.260Z", "nombre": "Skype"}, "pk": 1, "model": "profiles.medioscontactos"}, {"fields": {"created": "2015-06-24T03:04:35.128Z", "modified": "2015-06-24T03:04:35.129Z", "nombre": "Email"}, "pk": 2, "model": "profiles.medioscontactos"}, {"fields": {"created": "2015-06-24T03:04:41.107Z", "modified": "2015-06-24T03:04:41.108Z", "nombre": "Facebook"}, "pk": 3, "model": "profiles.medioscontactos"}, {"fields": {"created": "2015-06-24T03:04:48.125Z", "modified": "2015-06-24T03:04:48.126Z", "nombre": "Blog Personal"}, "pk": 4, "model": "profiles.medioscontactos"}, {"fields": {"created": "2015-06-24T03:05:00.854Z", "modified": "2015-06-24T03:05:00.855Z", "nombre": "Celular"}, "pk": 5, "model": "profiles.medioscontactos"}, {"fields": {"created": "2015-06-24T03:05:17.933Z", "modified": "2015-06-24T03:05:17.934Z", "nombre": "Tel\u00e9fono Fijo"}, "pk": 6, "model": "profiles.medioscontactos"}, {"fields": {"created": "2015-06-24T03:05:23.714Z", "modified": "2015-06-24T03:05:23.715Z", "nombre": "LinkedIn"}, "pk": 7, "model": "profiles.medioscontactos"}] \ No newline at end of file diff --git a/profiles/__init__.py b/profiles/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/profiles/__pycache__/__init__.cpython-33.pyc b/profiles/__pycache__/__init__.cpython-33.pyc new file mode 100644 index 0000000000000000000000000000000000000000..59ac71c1610065a22af71ec4ca8a7f22575d58f8 GIT binary patch literal 156 zcmbQo!^@Q;+7-$G1j!%*1{i@12OutH0TL+;48a;85kCze!GK1T+5*M&GxBp&^^=N9 z^YZlrDw8u3i*f^s^0QKtON#XiDie#qM0skGenC-wT4qjav3`7fW?p7Ve7s&kWhn>H T1e@Ial+v73JCHraK+FID>%t*L literal 0 HcmV?d00001 diff --git a/profiles/__pycache__/admin.cpython-33.pyc b/profiles/__pycache__/admin.cpython-33.pyc new file mode 100644 index 0000000000000000000000000000000000000000..051ec793d123ffc41854aeac1caea9dd45092d46 GIT binary patch literal 337 zcmZusK~BRk5F95dswxV701wEizHmYaA#ny(LR@-t;-z(J$B`Wi<;;yo@K)AAq8BXB zXx6hHd%rK&tM$#-+X+C+_*(_5M@GD5(!2#M-~{#pLKn~_YynqdUqX;TSD{;gN_=L& z!fUY23h@yYk2YDXVm>Wkcc#iTpcAN;muE12dSkaCCf znruw}B&3S%Xhup)7J&{XjudLvI8(agQXah{*@V=4xtrRf3T_vCN9`EpFsU%p2Q_jC c{@qxLavoqiOmp--{~=j=$n(Vf=tgXc9|H?XK>z>% literal 0 HcmV?d00001 diff --git a/profiles/__pycache__/models.cpython-33.pyc b/profiles/__pycache__/models.cpython-33.pyc new file mode 100644 index 0000000000000000000000000000000000000000..90d18d74e2c252f1f997adcb2d2a24ee9572b42e GIT binary patch literal 4032 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 V2fpSp<~WU4Dyu=AzAHh!`Zv}A(B}XE literal 0 HcmV?d00001 diff --git a/profiles/migrations/__pycache__/__init__.cpython-33.pyc b/profiles/migrations/__pycache__/__init__.cpython-33.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bab6164caac9a65e2916b1f2e0a6c2fdb7bda2f7 GIT binary patch literal 167 zcmbQo!^@Q;+7-$G1j!%*1{i@12OutH0TL+;48a;85kCze!GK1TdH}`rGxBp&^^=N9 z^YZlrDw8u3i*f^s^0QKtON#XiDie#qM0skGenC-wT4qjav3_o5dQoCYW`16=etdjp eUS>&ryk0?NDF@Ino80`A(wtN~kd?(i%m4tf5GA|- literal 0 HcmV?d00001 diff --git a/profiles/models.py b/profiles/models.py new file mode 100644 index 00000000..1dabe939 --- /dev/null +++ b/profiles/models.py @@ -0,0 +1,51 @@ +from django.db import models +from django.contrib.auth.models import User +from django.utils.translation import ugettext_lazy as _ +from taggit_autosuggest.managers import TaggableManager +from model_utils.models import TimeStampedModel + + +class Profiles(TimeStampedModel): + """ + Perfiles de usuarios + """ + user = models.OneToOneField(User) + tutor = models.BooleanField(verbose_name=_("Querés enseñar?"), + default=False) + tutorado = models.BooleanField(verbose_name=_("Querés recibir ayuda de un tutor?"), + default=False) + disponibilidad_semanal = models.IntegerField(verbose_name=_("Cantidad de horas semanales")) + intereses = TaggableManager(verbose_name=_('Que temas te interesan?'), blank=True) + + class Meta: + ordering = ['-created'] + + +class MediosContactos(TimeStampedModel): + """ + Medios de contactos, ejemplo: Skype, Facebook, Email, etc + """ + nombre = models.CharField(blank=False, max_length=150) + + def __unicode__(self): + return self.nombre + + def __str__(self): + return u'{0}'.format(self.nombre) + + class Meta: + ordering = ['-created'] + + +class ProfilesMediosContactos(TimeStampedModel): + """ + Relacion perfiles con medios de contactos + """ + profile = models.ForeignKey(Profiles) + medio_contacto = models.ForeignKey(MediosContactos) + valor = models.CharField(max_length=150) + preferido = models.BooleanField(blank=False) + publico = models.BooleanField(blank=False) + + class Meta: + ordering = ['-created'] diff --git a/profiles/tests.py b/profiles/tests.py new file mode 100644 index 00000000..7ce503c2 --- /dev/null +++ b/profiles/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/profiles/views.py b/profiles/views.py new file mode 100644 index 00000000..91ea44a2 --- /dev/null +++ b/profiles/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/pyarweb/settings.py b/pyarweb/settings.py index 6e647236..347a5eb7 100644 --- a/pyarweb/settings.py +++ b/pyarweb/settings.py @@ -91,7 +91,8 @@ 'waliki.attachments', 'waliki.slides', 'waliki.togetherjs', - #'waliki.pdf' + #'waliki.pdf', + 'profiles', ) MIDDLEWARE_CLASSES = (