# Front page view
@cache(minutes=10)
def home(request):
- news = NewsArticle.objects.filter(approved=True)[:7]
- events = Event.objects.select_related('country').filter(approved=True, training=False, enddate__gte=date.today()).order_by('enddate', 'startdate')[:5]
+ news = NewsArticle.objects.filter(approved=True)[:10]
+ # get the first seven events and divide each up into a list of community and other events
+ event_queryset = Event.objects.select_related('country').filter(approved=True, training=False, enddate__gte=date.today()).order_by('enddate', 'startdate')
+ # display up to the first 4 community events. Then choose the next 7 - |communty_events|
+ community_events = [event for event in event_queryset.filter(badged=True).all()[:4]]
+ other_events = [event for event in event_queryset.filter(badged=False).all()[:(7-len(community_events))]]
try:
quote = Quote.objects.filter(approved=True).order_by('?')[0]
except:
# if there is no quote available, just ignore error
quote = None
versions = Version.objects.filter(supported=True)
- planet = ImportedRSSItem.objects.filter(feed__internalname="planet").order_by("-posttime")[:7]
+ planet = ImportedRSSItem.objects.filter(feed__internalname="planet").order_by("-posttime")[:10]
traininginfo = Event.objects.filter(approved=True, training=True).extra(where=("startdate <= (CURRENT_DATE + '6 Months'::interval) AND enddate >= CURRENT_DATE",)).aggregate(Count('id'), Count('country', distinct=True))
# can't figure out how to make django do this
return render_to_response('index.html', {
'title': 'The world\'s most advanced open source database',
'news': news,
- 'events': events,
+ 'community_events': community_events,
+ 'other_events': other_events,
'traininginfo': traininginfo,
'trainingcompanies': trainingcompanies,
'quote': quote,
t = loader.get_template('pages/%s/en.html' % url)
except TemplateDoesNotExist:
raise Http404('Page not found.')
-
+
# Guestimate the nav section by looking at the URL and taking the first
# piece of it.
try:
p.save()
# Now that everything is moved, we can delete the organisation
f.delete()
-
+
return HttpResponseRedirect("/admin/core/organisation/")
# Else fall through to re-render form with errors
else:
from models import Event
class EventForm(forms.ModelForm):
- toggle_fields = [{
+ toggle_fields = [
+ {
'name': 'isonline',
'invert': True,
'fields': ['city', 'state', 'country',]
- },
- ]
+ },
+ {
+ 'name': 'badged',
+ 'invert': False,
+ 'fields': ['description_for_badged',]
+ },
+ ]
def __init__(self, *args, **kwargs):
super(EventForm, self).__init__(*args, **kwargs)
def filter_by_user(self, user):
--- /dev/null
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('events', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='event',
+ name='badged',
+ field=models.BooleanField(default=False, help_text=b'Choose "Badged" if this is a community recognized event following the <a href="/community/recognition/#conferences" target="_blank">community event guidelines</a>.', verbose_name=b'Community event'),
+ ),
+ migrations.AddField(
+ model_name='event',
+ name='description_for_badged',
+ field=models.TextField(help_text=b'Please describe how this is a community recognized event following the <a href="/community/recognition/#conferences" target="_blank">community event guidelines</a>. Please be as detailed as possible.', null=True, blank=True),
+ ),
+ ]
language = models.ForeignKey(Language, null=True, blank=True, default='eng', help_text="Primary language for event. When multiple languages, specify this in the event description")
training = models.BooleanField(null=False, blank=False, default=False)
+ badged = models.BooleanField(null=False, blank=False, default=False, verbose_name='Community event', help_text='Choose "Badged" if this is a community recognized event following the <a href="/community/recognition/#conferences" target="_blank">community event guidelines</a>.')
+ description_for_badged = models.TextField(blank=True, null=True, help_text='Please describe how this is a community recognized event following the <a href="/community/recognition/#conferences" target="_blank">community event guidelines</a>. Please be as detailed as possible.')
startdate = models.DateField(null=False, blank=False, verbose_name="Start date")
enddate = models.DateField(null=False, blank=False, verbose_name="End date")
from forms import EventForm
def main(request):
- events = Event.objects.select_related('country').filter(approved=True).filter(training=False, enddate__gt=date.today()).order_by('enddate', 'startdate',)
+ community_events = Event.objects.select_related('country').filter(approved=True, badged=True).filter(training=False, enddate__gt=date.today()).order_by('enddate', 'startdate',)
+ other_events = Event.objects.select_related('country').filter(approved=True, badged=False).filter(training=False, enddate__gt=date.today()).order_by('enddate', 'startdate',)
training = Event.objects.select_related('country').filter(approved=True).filter(training=True, enddate__gt=date.today()).order_by('enddate', 'startdate',)
return render_to_response('events/archive.html', {
'title': 'Upcoming events',
'eventblocks': (
- { 'name': 'Events', 'events': events, 'link': '',},
+ { 'name': 'Community Events', 'events': community_events, 'link': '',},
+ { 'name': 'Other Events', 'events': other_events, 'link': '',},
{ 'name': 'Training', 'events': training, 'link': 'training/',},
),
}, NavContext(request, 'about'))
{%else%}
if (!v) {
{%endif%}
- $('#id_{{c}}').attr('disabled', true);
+ $('#id_{{c}}').attr('disabled', true).parents('tr').hide();
} else {
- $('#id_{{c}}').removeAttr('disabled');
+ $('#id_{{c}}').removeAttr('disabled').parents('tr').show();
}
{%endfor%}
}
</div> <!-- pgFrontPlanetWrap -->
</div> <!-- pgFrontPlanet -->
<div id="pgFrontEvents" class="txtNewsEvent">
- <a href="/about/events/">
- <img src="/media/img/hdr/hdr_upcomingevents.png" width="123" height="10" alt="Upcoming Events" />
- </a>
- <div class="pgNewsEventsWrap">
- {% for e in events %}
- <p>
- <span class="txtDate">{{e.displaydate|safe}}</span><br />
- <a href="/about/event/{{e.id}}/">{{e.title}}</a><br/> ({{e.locationstring}})
- </p>
- {% endfor %}
+ {% if community_events %}
+ <h3 class="txtHomeHeader">
+ >
+ <a href="/about/events/">Community Events</a>
+ </h3>
+ <div class="pgNewsEventsWrap">
+ {% for e in community_events %}
+ <p>
+ <span class="txtDate">{{e.displaydate|safe}}</span><br />
+ <a href="/about/event/{{e.id}}/">{{e.title}}</a><br/> ({{e.locationstring}})
+ </p>
+ {% endfor %}
+ </div>
+ {% endif %}
+ <h3 class="txtHomeHeader">
+ >
+ <a href="/about/events/">{% if community_events %}Other {% endif %}Events</a>
+ </h3>
+ <div class="pgNewsEventsWrap">
+ {% for e in other_events %}
+ <p>
+ <span class="txtDate">{{e.displaydate|safe}}</span><br />
+ <a href="/about/event/{{e.id}}/">{{e.title}}</a><br/> ({{e.locationstring}})
+ </p>
+ {% endfor %}
</div>
<div style="margin-bottom: 10px;">
<img class="pgArrowImage" src="/media/img/layout/blt_blu_arrow.png" width="6" height="5" alt="" />