Exemple #1
0
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))
Exemple #2
0
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),
        )
Exemple #3
0
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)
Exemple #4
0
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),
        )
Exemple #5
0
    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()