예제 #1
0
def event_detail(request, event_id):
    template = "courses/event_detail.html"
    event = get_object_or_404(Event, id=event_id)

    contact_methods = ContactMethod.objects.filter(user=event.owner,
                                                   deleted=False)
    accepted_cryptos = AcceptedCrypto.objects.filter(user=event.owner,
                                                     deleted=False)
    owner_profile = Profile.objects.get(user=event.owner)

    academia_blockchain_timezones()

    event_user_timezone = None
    logged_user_profile = None
    event_is_bookmarked = False
    if request.user.is_authenticated:
        logged_user_profile = Profile.objects.get(user=request.user)
        try:
            # TODO mostrar los tiempos del evento en la hora del visitante
            user_timezone = pytz.timezone("America/Guayaquil")
            event_user_timezone = event.date_start.astimezone(user_timezone)
        except Exception as e:
            print("ERROR: %s" % e)
        event_is_bookmarked = Bookmark.objects.filter(event=event,
                                                      user=request.user,
                                                      deleted=False).exists()

    is_event_owner = (event.owner == request.user)
    event_bookmarks = Bookmark.objects.none()
    certificate_requests = CertificateRequest.objects.none()
    if is_event_owner:
        event_bookmarks = Bookmark.objects.filter(event=event, deleted=False)
        certificate_requests = CertificateRequest.objects.filter(event=event,
                                                                 deleted=False)

    context = {
        "event": event,
        "contact_methods": contact_methods,
        "accepted_cryptos": accepted_cryptos,
        "owner_profile": owner_profile,
        "event_user_timezone": event_user_timezone,
        "logged_user_profile": logged_user_profile,
        "event_is_bookmarked": event_is_bookmarked,
        "is_event_owner": is_event_owner,
        "event_bookmarks": event_bookmarks,
        "certificate_requests": certificate_requests
    }
    return render(request, template, context)
예제 #2
0
def profile_data(request):
    if request.method == "POST":
        email = request.POST.get("email")
        first_name = request.POST.get("first_name")
        last_name = request.POST.get("last_name")
        time_zone = request.POST.get("time_zone")
        interests = request.POST.get("interests")
        profile_description = request.POST.get("profile_description")

        request.user.email = email
        request.user.first_name = first_name
        request.user.last_name = last_name
        request.user.save()

        profile = Profile.objects.get(user=request.user)
        profile.timezone = time_zone
        profile.interests = interests
        profile.profile_description = profile_description
        profile.save()

        return redirect("profile_data")

    else:
        template = "profiles/profile_data.html"
        profile, created = Profile.objects.get_or_create(
            user=request.user)  # loggear si created
        cryptos_string = get_cryptos_string(profile)

        contact_methods = ContactMethod.objects.filter(user=request.user,
                                                       deleted=False)
        print("academia_blockchain_timezones():%s" %
              academia_blockchain_timezones())

        profile_picture_form = ProfilePictureForm()

        context = {
            "profile_index_active": "active",
            "underline_data": "text-underline",
            "profile": profile,
            "academia_blockchain_timezones": academia_blockchain_timezones(),
            "cryptos_string": cryptos_string,
            "contact_methods": contact_methods,
            "profile_picture_form": profile_picture_form
        }
        return render(request, template, context)
예제 #3
0
def event_detail(request, event_id):
    template = "courses/event_detail.html"
    event = get_object_or_404(Event, id=event_id)
    logger.info("event: %s" % event)

    contact_methods = ContactMethod.objects.filter(user=event.owner,
                                                   deleted=False)
    accepted_cryptos = AcceptedCrypto.objects.filter(user=event.owner,
                                                     deleted=False)
    owner_profile = Profile.objects.get(user=event.owner)

    logger.info("contact_methods: %s" % contact_methods)
    logger.info("contact_methods: %s" % contact_methods)
    logger.info("contact_methods: %s" % contact_methods)

    academia_blockchain_timezones()

    event_user_timezone = None
    logged_user_profile = None
    event_is_bookmarked = False
    if request.user.is_authenticated:
        logged_user_profile = Profile.objects.get(user=request.user)
        try:
            user_timezone = pytz.timezone("America/Guayaquil")
            event_user_timezone = event.date_start.astimezone(user_timezone)
        except Exception as e:
            pass

        event_is_bookmarked = Bookmark.objects.filter(event=event,
                                                      user=request.user,
                                                      deleted=False).exists()

    logger.info("event_user_timezone: %s" % event_user_timezone)
    logger.info("logged_user_profile: %s" % logged_user_profile)
    logger.info("event_is_bookmarked: %s" % event_is_bookmarked)

    is_event_owner = (event.owner == request.user)
    event_bookmarks = Bookmark.objects.none()
    certificate_requests = CertificateRequest.objects.none()

    logger.info("is_event_owner: %s" % is_event_owner)
    if is_event_owner:
        event_bookmarks = Bookmark.objects.filter(event=event, deleted=False)
        certificate_requests = CertificateRequest.objects.filter(
            event=event, deleted=False, accepted=False)
        logger.info("event_bookmarks: %s" % event_bookmarks)

    logger.info("certificate_requests: %s" % certificate_requests)

    comments = Comment.objects.filter(event=event, deleted=False)
    rating = Rating.objects.for_instance(event)
    has_certificate = False
    if request.user.is_authenticated:
        has_certificate = Certificate.objects.filter(
            event=event, user=request.user).exists()
    logger.info("has_certificate: %s" % has_certificate)

    context = {
        "event": event,
        "contact_methods": contact_methods,
        "accepted_cryptos": accepted_cryptos,
        "owner_profile": owner_profile,
        "event_user_timezone": event_user_timezone,
        "logged_user_profile": logged_user_profile,
        "event_is_bookmarked": event_is_bookmarked,
        "is_event_owner": is_event_owner,
        "event_bookmarks": event_bookmarks,
        "certificate_requests": certificate_requests,
        "comments": comments,
        'rating': rating,
        'lack_certificate': not has_certificate
    }
    return render(request, template, context)