From: Arthur Darcet Date: Sat, 2 Feb 2013 14:34:25 +0000 (+0100) Subject: Basic group profile and web/logo/description fields of the Group model X-Git-Url: http://git.polytechnique.org/?p=xnet;a=commitdiff_plain;h=626048e1bc20595830190b00707c85c8a51229cd Basic group profile and web/logo/description fields of the Group model --- diff --git a/.gitignore b/.gitignore index f20b6f2..1f0afd1 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ # Private files xnet/db.sqlite xnet/private/ +xnet/media/ # Build-related files doc/_build/ diff --git a/requirements.txt b/requirements.txt index 8c520f1..5203206 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -https://www.djangoproject.com/download/1.5c1/tarball/ +https://www.djangoproject.com/download/1.5c1/tarball/#egg=Django django_authgroupex django-xworkflows pil diff --git a/xnet/accounts/factories.py b/xnet/accounts/factories.py index 4cb8b00..de56d20 100644 --- a/xnet/accounts/factories.py +++ b/xnet/accounts/factories.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +from django.contrib.webdesign import lorem_ipsum import factory @@ -10,8 +11,10 @@ class XGroupFactory(factory.DjangoModelFactory): name = factory.Sequence(lambda n: u"Groupe n°%s" % n) short = factory.Sequence(lambda n: u"Groupe%s" % n) - kind = models.XGroup.KIND_GROUP + kind = factory.InfiniteIterator(k[0] for k in models.XGroup.KIND_CHOICES) domain = models.XGroup.DOMAIN_REGION + web = u"http://google.fr" + description = factory.LazyAttribute(lambda _: lorem_ipsum.paragraph()) class AccountFactory(factory.DjangoModelFactory): diff --git a/xnet/accounts/models.py b/xnet/accounts/models.py index 3e0f9c3..2d5ef42 100644 --- a/xnet/accounts/models.py +++ b/xnet/accounts/models.py @@ -5,6 +5,8 @@ from django.db import models from django_xworkflows import models as xwf_models +from xnet.utils.images.fields import ImageWithThumbsField as ImageField + class MembershipWorkflow(xwf_models.Workflow): states = ( @@ -60,6 +62,11 @@ class XGroup(models.Model): dns = models.CharField(max_length=128, verbose_name=u"dns domain", blank=True) + web = models.CharField(max_length=255, verbose_name=u"website", blank=True) + #contact = models.ForeignKey('') + description = models.TextField() + logo = ImageField(upload_to='logos', null=True) + class Meta: verbose_name = u"groupe" verbose_name_plural = u"groupes" diff --git a/xnet/accounts/urls.py b/xnet/accounts/urls.py new file mode 100644 index 0000000..c50b6d1 --- /dev/null +++ b/xnet/accounts/urls.py @@ -0,0 +1,8 @@ +from django.conf.urls.defaults import patterns, url + + +urlpatterns = patterns( + 'xnet.accounts.views', + url(r'^$', 'index', name='group-list'), + url(r'^view/([0-9]+)$', 'view', name='group-view'), +) diff --git a/xnet/accounts/views.py b/xnet/accounts/views.py new file mode 100644 index 0000000..358de78 --- /dev/null +++ b/xnet/accounts/views.py @@ -0,0 +1,11 @@ +from django.contrib import messages +from django.shortcuts import get_object_or_404, render + +from xnet.accounts.models import XGroup + + +def index(request): + return render(request, 'groups/index.html', {'groups': XGroup.objects.order_by('kind')}) + +def view(request, pk): + return render(request, 'groups/view.html', {'group': get_object_or_404(XGroup, pk=pk)}) diff --git a/xnet/group/urls.py b/xnet/group/urls.py deleted file mode 100644 index 5a16503..0000000 --- a/xnet/group/urls.py +++ /dev/null @@ -1,8 +0,0 @@ -from django.conf.urls.defaults import patterns, url - - -urlpatterns = patterns( - 'xnet.group.views', - url(r'^$', 'index', name='index'), - url(r'^view/([0-9]+)$', 'view', name='view'), -) diff --git a/xnet/group/views.py b/xnet/group/views.py deleted file mode 100644 index 8cc4072..0000000 --- a/xnet/group/views.py +++ /dev/null @@ -1,11 +0,0 @@ -from django.contrib import messages -from django.shortcuts import render - -from xnet.group.models import Group - - -def index(request): - return render(request, 'groups/index.html', {'groups': Group.objects.order_by('kind')}) - -def view(request): - pass diff --git a/xnet/settings.py b/xnet/settings.py index 57eb721..595dd99 100644 --- a/xnet/settings.py +++ b/xnet/settings.py @@ -65,12 +65,12 @@ USE_TZ = True # Absolute filesystem path to the directory that will hold user-uploaded files. # Example: "/home/media/media.lawrence.com/media/" -MEDIA_ROOT = '' +MEDIA_ROOT = os.path.join(ROOT_DIR, 'media') # URL that handles the media served from MEDIA_ROOT. Make sure to use a # trailing slash. # Examples: "http://media.lawrence.com/media/", "http://example.com/media/" -MEDIA_URL = '' +MEDIA_URL = '/media/' # Absolute path to the directory static files should be collected to. # Don't put anything in this directory yourself; store your static files diff --git a/xnet/site/static/css/groups.css b/xnet/site/static/css/groups.css index 5ca99d8..db2d9a7 100644 --- a/xnet/site/static/css/groups.css +++ b/xnet/site/static/css/groups.css @@ -13,3 +13,12 @@ .group_list li { list-style: none; } + +.group-desc .logo { + float: right; + margin: 0; +} +.group-desc p { + float: left; + clear: left; +} diff --git a/xnet/templates/base.html b/xnet/templates/base.html index 69aa45d..0c28e53 100644 --- a/xnet/templates/base.html +++ b/xnet/templates/base.html @@ -29,7 +29,7 @@