diff --git a/Todo.txt b/Todo.txt index 3446f8f..facc700 100644 --- a/Todo.txt +++ b/Todo.txt @@ -1,10 +1,8 @@ -- bootstrap customize: everything red +- Termin Typ: Konzertvorschlag -> ohne Ort -> nicht auf routenplanung - -Bugfixes: - - Countdown Field when event is on same day but over -> shows no countdown - - what events to display? - \ No newline at end of file +- Email benachrichtigung bei Foreneintrag! + +- Gallery \ No newline at end of file diff --git a/blechreiz/database.sqlite b/blechreiz/database.sqlite index a79646f..630b052 100644 Binary files a/blechreiz/database.sqlite and b/blechreiz/database.sqlite differ diff --git a/blechreiz/media/user_images/Andreas.png b/blechreiz/media/user_images/Andreas.png new file mode 100644 index 0000000..1d5142f Binary files /dev/null and b/blechreiz/media/user_images/Andreas.png differ diff --git a/blechreiz/media/user_images/Andreas_thumb.png b/blechreiz/media/user_images/Andreas_thumb.png new file mode 100644 index 0000000..06a9365 Binary files /dev/null and b/blechreiz/media/user_images/Andreas_thumb.png differ diff --git a/blechreiz/media/user_images/Bernd_thumb.png b/blechreiz/media/user_images/Bernd_thumb.png new file mode 100644 index 0000000..2601bd8 Binary files /dev/null and b/blechreiz/media/user_images/Bernd_thumb.png differ diff --git a/blechreiz/media/user_images/Birgit_thumb.png b/blechreiz/media/user_images/Birgit_thumb.png new file mode 100644 index 0000000..f7b1e1c Binary files /dev/null and b/blechreiz/media/user_images/Birgit_thumb.png differ diff --git a/blechreiz/media/user_images/Christina_thumb.png b/blechreiz/media/user_images/Christina_thumb.png new file mode 100644 index 0000000..ff8abf9 Binary files /dev/null and b/blechreiz/media/user_images/Christina_thumb.png differ diff --git a/blechreiz/media/user_images/Florian_thumb.png b/blechreiz/media/user_images/Florian_thumb.png new file mode 100644 index 0000000..87901a5 Binary files /dev/null and b/blechreiz/media/user_images/Florian_thumb.png differ diff --git a/blechreiz/media/user_images/MartinW.png b/blechreiz/media/user_images/MartinW.png new file mode 100644 index 0000000..0ecabf7 Binary files /dev/null and b/blechreiz/media/user_images/MartinW.png differ diff --git a/blechreiz/media/user_images/MartinW_thumb.png b/blechreiz/media/user_images/MartinW_thumb.png new file mode 100644 index 0000000..eb3a4d3 Binary files /dev/null and b/blechreiz/media/user_images/MartinW_thumb.png differ diff --git a/blechreiz/media/user_images/Nadine_thumb.png b/blechreiz/media/user_images/Nadine_thumb.png new file mode 100644 index 0000000..e6638cb Binary files /dev/null and b/blechreiz/media/user_images/Nadine_thumb.png differ diff --git a/blechreiz/media/user_images/Stefan_thumb.png b/blechreiz/media/user_images/Stefan_thumb.png new file mode 100644 index 0000000..0f0cf5d Binary files /dev/null and b/blechreiz/media/user_images/Stefan_thumb.png differ diff --git a/blechreiz/media/user_images/Stephan_thumb.png b/blechreiz/media/user_images/Stephan_thumb.png new file mode 100644 index 0000000..087a3b4 Binary files /dev/null and b/blechreiz/media/user_images/Stephan_thumb.png differ diff --git a/blechreiz/media/user_images/Thomas.png b/blechreiz/media/user_images/Thomas.png new file mode 100644 index 0000000..528cd45 Binary files /dev/null and b/blechreiz/media/user_images/Thomas.png differ diff --git a/blechreiz/media/user_images/Thomas_thumb.png b/blechreiz/media/user_images/Thomas_thumb.png new file mode 100644 index 0000000..7877a87 Binary files /dev/null and b/blechreiz/media/user_images/Thomas_thumb.png differ diff --git a/blechreiz/media/user_images/Werner.png b/blechreiz/media/user_images/Werner.png new file mode 100644 index 0000000..9939ec3 Binary files /dev/null and b/blechreiz/media/user_images/Werner.png differ diff --git a/blechreiz/media/user_images/Werner_thumb.png b/blechreiz/media/user_images/Werner_thumb.png new file mode 100644 index 0000000..698d5cd Binary files /dev/null and b/blechreiz/media/user_images/Werner_thumb.png differ diff --git a/blechreiz/media/user_images/Wilhelm_thumb.png b/blechreiz/media/user_images/Wilhelm_thumb.png new file mode 100644 index 0000000..a3f44bc Binary files /dev/null and b/blechreiz/media/user_images/Wilhelm_thumb.png differ diff --git a/eventplanner/models.py b/eventplanner/models.py index 5c8b783..e2d19d3 100644 --- a/eventplanner/models.py +++ b/eventplanner/models.py @@ -100,8 +100,10 @@ class EventParticipation( models.Model ): @staticmethod def members(): - perm = Permission.objects.get( codename='member' ) - return User.objects.filter(Q(groups__permissions=perm) | Q(user_permissions=perm) ).distinct() + perm = Permission.objects.get( codename='member' ) + f = User.objects.filter(Q(groups__permissions=perm) | Q(user_permissions=perm) ).distinct() + return f.order_by('musician__position') + @staticmethod def get_or_create( user , event ): diff --git a/eventplanner/templates/eventplanner/events_grid.html b/eventplanner/templates/eventplanner/events_grid.html index 3199d91..a48255b 100644 --- a/eventplanner/templates/eventplanner/events_grid.html +++ b/eventplanner/templates/eventplanner/events_grid.html @@ -17,17 +17,25 @@ {% addtoblock "css" %} {% endaddtoblock %} @@ -125,7 +133,7 @@ Termin Datum {% for name in usernames %} - {{ name|capfirst }} + {{ name|capfirst }} {% endfor %} @@ -146,18 +154,15 @@ {% if p.status == "Yes" %} {% elif p.status == "No" %} {% else %} {% endif %} @@ -165,18 +170,15 @@ {% if p.status == "Yes" %} - {% if p.comment %} {% endif %} - Ja + Ja {% elif p.status == "No" %} - {% if p.comment%} {% endif %} - Nein + Nein {% else %} - {% if p.comment %} {% endif %} - ? + ? {% endif %} @@ -185,17 +187,18 @@ {% endfor %} - Löschen + {% endfor %} {% if perms.eventplanner.admin %} - Termin hinzufügen... + Termin hinzufügen... - {% endif %} - + {% endif %} + + diff --git a/eventplanner/urls.py b/eventplanner/urls.py index 8246a32..b54df8e 100644 --- a/eventplanner/urls.py +++ b/eventplanner/urls.py @@ -8,9 +8,9 @@ urlpatterns = patterns('', url(r'^$', eventplanning ), url(r'^grid$', events_grid ), url(r'^planning$', eventplanning ), - url(r'^(?P\d+)$', permission_required('eventmanager.events.edit')( EventUpdate.as_view() ) ), - url(r'^add$', permission_required('eventmanager.events.edit')( EventCreate.as_view() ) ), - url(r'^(?P\d+)/delete$', permission_required('eventmanager.events.edit')( deleteEvent ) ), + url(r'^(?P\d+)$', permission_required('eventplanner.change_event')( EventUpdate.as_view() ) ), + url(r'^add$', permission_required('eventplanner.add_event')( EventCreate.as_view() ) ), + url(r'^(?P\d+)/delete$', permission_required('eventplanner.delete_event')( deleteEvent ) ), url(r'^api/', event_api, name="event_api" ), url(r'^api/(\w+)/$', event_api, name="event_api_per_user" ), url(r'^api/(\w+)/(\d+)$', event_api, name="event_api_per_user_event"), diff --git a/eventplanner/views.py b/eventplanner/views.py index 3aaf9ef..03f146b 100644 --- a/eventplanner/views.py +++ b/eventplanner/views.py @@ -44,17 +44,15 @@ def event_api( request, username = None, eventId = None ): serializer = ParticipationSerializer ( participationQs, data = request.DATA, many=True ) if serializer.is_valid(): for serializedObject in serializer.object: - if not EventParticipation.isMember( request.user ): + if not ( EventParticipation.isMember( request.user ) or EventParticipation.isAdmin( request.user ) ): return Response( status = status.HTTP_403_FORBIDDEN ) if serializedObject.user != request.user: if not EventParticipation.isAdmin( request.user ): return Response( status = status.HTTP_403_FORBIDDEN ) - print serializer.data serializer.save() return Response( serializer.data ) else: - print "In Bad request" + str(serializer.errors) return Response( status = status.HTTP_400_BAD_REQUEST ) @@ -67,7 +65,6 @@ def eventplanning( request ): """ # non-members see the grid - but cannot edit anything if not EventParticipation.isMember( request.user ): - print "Not a member" return events_grid(request) # All events in the future sorted by date diff --git a/imagestore/templates/imagestore/base.html b/imagestore/templates/imagestore/base.html index b40f618..8b72453 100644 --- a/imagestore/templates/imagestore/base.html +++ b/imagestore/templates/imagestore/base.html @@ -7,10 +7,6 @@ {% block navbar_options %} navbar navbar-inverse navbar-static-top {% endblock %} - - - - {% block content %} {% include "imagestore/pphoto.html" %} diff --git a/location_field/widgets.py b/location_field/widgets.py index da00966..c55c6f2 100644 --- a/location_field/widgets.py +++ b/location_field/widgets.py @@ -12,7 +12,8 @@ class LocationWidget(widgets.TextInput): super(LocationWidget, self).__init__(attrs) def render(self, name, value, attrs=None): - if value is not None: + + if value is not None and len(value)>0: lat, lng, zoom = value.split(',') value = '%s,%s,%d' % ( diff --git a/manage.py b/manage.py old mode 100644 new mode 100755 diff --git a/musicians/views.py b/musicians/views.py index 129d6cf..fccc177 100644 --- a/musicians/views.py +++ b/musicians/views.py @@ -74,7 +74,7 @@ class MusicianUpdate( UpdateView ): def addressbook( request ): context = dict() - context['musicians'] = Musician.objects.all() + context['musicians'] = Musician.objects.all().order_by('user__first_name') return render( request, 'musicians/addressbook.html', context ) diff --git a/simpleforum/models.py b/simpleforum/models.py index 1022984..536ddb6 100644 --- a/simpleforum/models.py +++ b/simpleforum/models.py @@ -14,6 +14,8 @@ class Message ( models.Model ): author = models.ForeignKey( User, verbose_name=_("Author") ) - + def __unicode__( self ): + return self.author.username + " : " + self.titel + \ No newline at end of file diff --git a/simpleforum/templates/simpleforum/simpleforum.html b/simpleforum/templates/simpleforum/simpleforum.html index 7930f3a..799d3b4 100644 --- a/simpleforum/templates/simpleforum/simpleforum.html +++ b/simpleforum/templates/simpleforum/simpleforum.html @@ -77,7 +77,7 @@ $(document).ready(function(){
- +
diff --git a/simpleforum/templatetags/youtubefilter.py b/simpleforum/templatetags/youtubefilter.py index caf825b..49702f3 100644 --- a/simpleforum/templatetags/youtubefilter.py +++ b/simpleforum/templatetags/youtubefilter.py @@ -7,7 +7,7 @@ from django.utils.safestring import mark_safe register = django.template.Library() -youtubeRegex = re.compile( u'(?:http://)?www.youtube.(?:com|de)/watch\?v=(?P[-\w]*)' ) +youtubeRegex = re.compile( u'(?:https://)?(?:http://)?www.youtube.(?:com|de)/watch\?v=(?P[-\w]*)' ) @register.filter( name='youtube' ) @stringfilter diff --git a/website/templates/website/base.html b/website/templates/website/base.html index 5bf945c..567f008 100644 --- a/website/templates/website/base.html +++ b/website/templates/website/base.html @@ -145,7 +145,7 @@ $.ajaxSetup({
diff --git a/website/templates/website/concert_route.html b/website/templates/website/concert_route.html index 2f82cb2..038a0f0 100644 --- a/website/templates/website/concert_route.html +++ b/website/templates/website/concert_route.html @@ -83,13 +83,28 @@ controlText.style.paddingRight = '4px'; controlText.innerHTML = 'Konzertort anzeigen'; controlUI.appendChild(controlText); - - var target = new google.maps.LatLng( {{ nextConcert.map_location }} ); - google.maps.event.addDomListener(controlUI, 'click', function() { - map.setMapTypeId( google.maps.MapTypeId.HYBRID ); - map.setZoom( 19 ); - map.setCenter( target ); + google.maps.event.addDomListener(controlUI, 'click', function() + { + {% if not nextConcert.map_location %} + geocoder = new google.maps.Geocoder(); + geocoder.region = "de"; + geocoder.geocode( {"address": "{{ nextConcert.location }}" }, function(results, status) { + if (status == google.maps.GeocoderStatus.OK) { + map.setMapTypeId( google.maps.MapTypeId.HYBRID ); + map.setZoom( 15 ); + + map.setCenter( results[0].geometry.location ); + } + }); + {% else %} + var loc = new google.maps.LatLng( {{ nextConcert.map_location }} ); + map.setMapTypeId( google.maps.MapTypeId.HYBRID ); + map.setZoom( 20 ); + + map.setCenter( loc ); + + {% endif %} }); } @@ -102,7 +117,8 @@ mapTypeId: google.maps.MapTypeId.ROAD, zoomControl: false, panControl: false, - streetViewControl: false + streetViewControl: false, + scrollwheel: false } var directionsService = new google.maps.DirectionsService(); var directionsDisplay = new google.maps.DirectionsRenderer(); @@ -137,11 +153,13 @@ var showTargetControl = new ShowTargetControl(showTargetControlDiv, map); showTargetControlDiv.index = 2; - map.controls[google.maps.ControlPosition.TOP_RIGHT].push(showTargetControlDiv); - + map.controls[ google.maps.ControlPosition.TOP_RIGHT ].push(showTargetControlDiv); + + $("#map_box a").click( function() { - $("#map_box").hide(); + $("#map_box").hide(); + map.setOptions( { scrollwheel: true } ); }); } );