def reply_bundle(request, username, swap_id): userto = get_object_or_404(UserProfile,user__username=username) sw = get_object_or_404(Swap,pk=swap_id) if request.POST['url_1'] and request.POST['url_2'] and request.POST['url_3']: validate = URLValidator(verify_exists=True) try: validate(request.POST['url_1']) validate(request.POST['url_2']) validate(request.POST['url_3']) if request.POST['url_1']!=request.POST['url_2'] and request.POST['url_1']!=request.POST['url_3'] and request.POST['url_2']!=request.POST['url_3']: if request.POST['artist_1']and request.POST['name_1']: sg1 = Song(url=request.POST['url_1'], artist=request.POST['artist_1'], name=request.POST['name_1']) elif request.POST['artist_1']: sg1 = Song(url=request.POST['url_1'], artist=request.POST['artist_1']) else: sg1 = Song(url=request.POST['url_1']) sg1.save() if request.POST['artist_2']and request.POST['name_2']: sg2 = Song(url=request.POST['url_2'], artist=request.POST['artist_2'], name=request.POST['name_2']) elif request.POST['artist_2']: sg1 = Song(url=request.POST['url_2'], artist=request.POST['artist_2']) else: sg2 = Song(url=request.POST['url_2']) sg2.save() if request.POST['artist_3']and request.POST['name_3']: sg3 = Song(url=request.POST['url_3'], artist=request.POST['artist_3'], name=request.POST['name_3']) elif request.POST['artist_3']: sg1 = Song(url=request.POST['url_3'], artist=request.POST['artist_3']) else: sg3 = Song(url=request.POST['url_3']) sg3.save() if request.POST['title']: b = Bundle(title=request.POST['title'] , pub_date=timezone.now(),song1=sg1, song2=sg2, song3=sg3) else: b = Bundle(pub_date=timezone.now(),song1=sg1, song2=sg2, song3=sg3) b.save() sw.bundleback = b sw.edit_date = b.pub_date sw.save() if sw.userfrom.is_email_notified: from django.core.mail import send_mail send_mail(generate_header_bundleback(sw), generate_body_bundleback(sw), 'HipMe', [sw.userfrom.user.email]) if request.POST['next']: url = request.POST['next'] return HttpResponseRedirect(url) else: return HttpResponseRedirect(reverse('hip_engine.views.index')) else: return render_to_response('hip_engine/bundleback.html', {'user_focused': userto, 'error_message': "Some track urls do matchs. Please put 3 differents tracks.",}, context_instance=RequestContext(request)) except ValidationError, e: return render_to_response('hip_engine/new_bundle.html', {'user_focused': userto, 'error_message': "Some track urls are not valid. Please check the url fields.",}, context_instance=RequestContext(request))
def reply_bundle(request, username, swap_id): userto = get_object_or_404(UserProfile, user__username=username) sw = get_object_or_404(Swap, pk=swap_id) if request.POST["url_1"] and request.POST["url_2"] and request.POST["url_3"]: if ( request.POST["url_1"] != request.POST["url_2"] and request.POST["url_1"] != request.POST["url_3"] and request.POST["url_2"] != request.POST["url_3"] ): if request.POST["artist_1"] and request.POST["name_1"]: sg1 = Song(url=request.POST["url_1"], artist=request.POST["artist_1"], name=request.POST["name_1"]) elif request.POST["artist_1"]: sg1 = Song(url=request.POST["url_1"], artist=request.POST["artist_1"]) else: sg1 = Song(url=request.POST["url_1"]) sg1.save() if request.POST["artist_2"] and request.POST["name_2"]: sg2 = Song(url=request.POST["url_2"], artist=request.POST["artist_2"], name=request.POST["name_2"]) elif request.POST["artist_2"]: sg1 = Song(url=request.POST["url_2"], artist=request.POST["artist_2"]) else: sg2 = Song(url=request.POST["url_2"]) sg2.save() if request.POST["artist_3"] and request.POST["name_3"]: sg3 = Song(url=request.POST["url_3"], artist=request.POST["artist_3"], name=request.POST["name_3"]) elif request.POST["artist_3"]: sg1 = Song(url=request.POST["url_3"], artist=request.POST["artist_3"]) else: sg3 = Song(url=request.POST["url_3"]) sg3.save() if request.POST["title"]: b = Bundle(title=request.POST["title"], pub_date=timezone.now(), song1=sg1, song2=sg2, song3=sg3) else: b = Bundle(pub_date=timezone.now(), song1=sg1, song2=sg2, song3=sg3) b.save() sw.bundleback = b sw.edit_date = b.pub_date sw.save() if request.GET.get("next", ""): url = request.GET.get("next", "") return HttpResponseRedirect(url) else: return HttpResponseRedirect(reverse("hip_engine.views.index")) else: return render_to_response( "hip_engine/bundleback.html", {"user_focused": userto, "error_message": "Some track urls do matchs. Please put 3 differents tracks."}, context_instance=RequestContext(request), ) else: return render_to_response( "hip_engine/bundleback.html", {"user_focused": userto, "error_message": "Some urls are missing. Please fill all the urls fields."}, context_instance=RequestContext(request), )
def populate_db(request): if request.user.username == "hipmaster": from hip_engine.hipme_db_setup_clean import INSTANCES for instance in INSTANCES: if instance["model"] == "UserProfile": username = instance["username"] email = instance["email"] password = instance["password"] user = User.objects.create_user(username, email, password) if instance["model"] == "TrackList": owner = get_object_or_404(UserProfile,user__username=instance["owner"]) title = instance["title"] # description = instance["description"] is_finished = instance["is_finished"] event = Event(main_profile = owner, event_type = "creation") event.save() tracklist = Tracklist( owner = owner, title = title, # description = description, is_finished=is_finished, latest_event=event, ) tracklist.save() bundlebacks = instance["bundlebacks"] if instance["tags"]: for tag_name in instance["tags"]: tag_name = tag_name.title() tag_name = " ".join(tag_name.split()) tag = Tag(name=tag_name) tag.save() tracklist.tags.add(tag) if instance["tracks"]: for track_dic in instance["tracks"]: url = track_dic["url"] artist = track_dic["artist"] name = track_dic["name"] track = Track(url=url, artist=artist, name=name) track.save() tracklist.tracks_initial.add(track) if instance["bundlebacks"]: for bundleback_dic in instance["bundlebacks"]: owner = get_object_or_404(UserProfile,user__username=bundleback_dic["owner"]) bundleback = Bundle(owner=owner) bundleback.save() for track_dic in bundleback_dic["tracks"]: url = track_dic["url"] artist = track_dic["artist"] name = track_dic["name"] track = Track(url=url, artist=artist, name=name) track.save() bundleback.tracks.add(track) tracklist.userto.add(owner) tracklist.bundlebacks.add(bundleback) return render_to_response('hip_engine/populate_success.html', {}, context_instance=RequestContext(request)) else: return feed(request)
def send_bundle(request, username): userto = get_object_or_404(UserProfile, user__username=username) userfrom = get_object_or_404(UserProfile, user=request.user) if request.POST["url_1"] and request.POST["url_2"] and request.POST["url_3"]: if ( request.POST["url_1"] != request.POST["url_2"] and request.POST["url_1"] != request.POST["url_3"] and request.POST["url_2"] != request.POST["url_3"] ): if request.POST["artist_1"] and request.POST["name_1"]: sg1 = Song(url=request.POST["url_1"], artist=request.POST["artist_1"], name=request.POST["name_1"]) elif request.POST["artist_1"]: sg1 = Song(url=request.POST["url_1"], artist=request.POST["artist_1"]) else: sg1 = Song(url=request.POST["url_1"]) sg1.save() if request.POST["artist_2"] and request.POST["name_2"]: sg2 = Song(url=request.POST["url_2"], artist=request.POST["artist_2"], name=request.POST["name_2"]) elif request.POST["artist_2"]: sg1 = Song(url=request.POST["url_2"], artist=request.POST["artist_2"]) else: sg2 = Song(url=request.POST["url_2"]) sg2.save() if request.POST["artist_3"] and request.POST["name_3"]: sg3 = Song(url=request.POST["url_3"], artist=request.POST["artist_3"], name=request.POST["name_3"]) elif request.POST["artist_3"]: sg1 = Song(url=request.POST["url_3"], artist=request.POST["artist_3"]) else: sg3 = Song(url=request.POST["url_3"]) sg3.save() if request.POST["title"]: b = Bundle(title=request.POST["title"], pub_date=timezone.now(), song1=sg1, song2=sg2, song3=sg3) else: b = Bundle(pub_date=timezone.now(), song1=sg1, song2=sg2, song3=sg3) b.save() sw = Swap(userfrom=userfrom, userto=userto, bundlego=b, edit_date=b.pub_date) sw.save() if userto.is_email_notified: from django.core.mail import send_mail send_mail( generate_header_new_bundle(userto.user, sw), generate_body_new_bundle(userto.user, sw), "HipMe", [userto.user.email], ) if request.GET.get("next", ""): url = request.GET.get("next", "") return HttpResponseRedirect(url) else: return HttpResponseRedirect(reverse("hip_engine.views.index")) else: return render_to_response( "hip_engine/new_bundle.html", {"user_focused": userto, "error_message": "Some track urls do matchs. Please put 3 differents tracks."}, context_instance=RequestContext(request), ) else: return render_to_response( "hip_engine/new_bundle.html", {"user_focused": userto, "error_message": "Some urls are missing. Please fill all the urls fields."}, context_instance=RequestContext(request), )
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() bundleback.save() else: bundleback = Bundle(owner=request.user.get_profile()) bundleback.save() tracklist.userto.add(request.user.get_profile()) tracklist.save() bundleback.tracks.add(track) bundleback.save() tracklist.bundlebacks.add(bundleback) event = Event(main_profile=bundleback.owner, secondary_profile=tracklist.owner, event_type="add_track_contrib") event.save() tracklist.latest_event = event tracklist.date_latest_edit = timezone.now() tracklist.save()