def mixtape_create(request): userto = request.POST.get('tracklist-userto') if not userto: profile_me = request.user.get_profile() profile_queryset = request.user.get_profile().get_following() tracklist_queryset = Tracklist.objects.filter(owner__in=profile_queryset)|Tracklist.objects.filter(userto__in=profile_queryset)|profile_me.tracklists_created.all()|profile_me.tracklists_contributed.all() tracklist_list = tracklist_queryset.distinct().order_by('-date_latest_edit')[:10] context = { 'tracklist_list':tracklist_list, 'error_message_userto': "You must select at least one contributor. Click the 'New Mixtape' button to start over.", } context.update(get_generic_context(request)) context.update(get_rankings(request)) return render_to_response('hip_engine/feed.html', context, context_instance=RequestContext(request)) tracklist_form = TracklistForm(request.POST, prefix='tracklist', username=request.user.username) if tracklist_form.is_valid(): tracklist = tracklist_form.save() for i_str in ["_1","_2","_3"]: url = request.POST.get('url'+i_str) artist = request.POST.get('artist'+i_str) name = request.POST.get('name'+i_str) if url: validate = URLValidator() try: validate(url) track = Track(url=url) if artist: track.artist = artist if name: track.name = name track.save() tracklist.tracks_initial.add(track) except ValidationError, e: tracklist_queryset = Tracklist.objects.all() tracklist_list = tracklist_queryset.distinct().order_by('-date_latest_edit')[:10] context = { 'tracklist_form':tracklist_form, 'tracklist_list':tracklist_list, 'error_message_url': "Some track urls are invalid, please check them. Click the 'New Mixtape' button to start over.", } context.update(get_nav_context()) context.update(get_rankings(request)) return render_to_response('hip_engine/feed.html', context, context_instance=RequestContext(request)) title = request.POST.get('title') if title: tracklist.title = title event = Event(main_profile = request.user.get_profile(), event_type = "creation") event.save() tracklist.latest_event = event tracklist.date_latest_edit = timezone.now() string_tags = request.POST.get('tags') if string_tags: tags = parseTags(string_tags) for tag_name in tags: if Tag.objects.filter(name=tag_name): tag = get_object_or_404(Tag, name=tag_name) tracklist.tags.add(tag) else: tag = Tag(name=tag_name) tag.save() tracklist.tags.add(tag) tracklist.save()
tracklist_queryset = Tracklist.objects.all() tracklist_list = tracklist_queryset.distinct().order_by('-date_latest_edit')[:10] context = { 'tracklist_list': tracklist_list, 'error_message_url': "Your track url is not valid. Please stop trying to break the internet.", } context.update(get_nav_context()) context.update(get_rankings(request)) return render_to_response('hip_engine/feed.html', context, context_instance=RequestContext(request)) track = Track(url=url) if artist: track.artist = artist if name: track.name = name track.save() if request.user.get_profile() == tracklist.owner: tracklist.tracks_initial.add(track) event = Event(main_profile=tracklist.owner, event_type="add_track_owner") event.save() tracklist.latest_event = event tracklist.date_latest_edit = timezone.now() tracklist.save() else: if tracklist.bundlebacks.filter(owner=request.user.get_profile()): # bundleback = get_object_or_404(Bundle, owner=request.user.get_profile()) bundleback = tracklist.bundlebacks.filter(owner=request.user.get_profile())[:1].get()