Beispiel #1
0
def getnewtopic(request):
    if request.user.is_authenticated:
        if request.user.is_staff or request.user.is_superuser:
            form = categoryForm(request.POST or None)
            if form.is_valid():
                instance = form.save(commit=False)
                instance.save()
                messages.success(request, 'Created a new topic successfully')
                return redirect('topics')
            return render(request, 'blog/create_topic.html', {'form': form})
        else:
            raise Http404('You are not authorized to this page')

    else:
        return redirect('login')
Beispiel #2
0
def search_target(request):
    start = datetime.now()
    if request.method != 'GET':
        raise Http404()

    key_word = request.GET.get('keyword')
    if not key_word:
        return render(request, 'search.html')
    choice = request.GET.get('choice')
    if choice == "movie":
        return search_movie(request, key_word, start)
    if choice == "actor":
        return search_actor(request, key_word, start)
    if choice == "comment":
        return search_comment(request, key_word, start)
def post_update(request, slug):
    if not request.user.is_authenticated:
        return Http404()
    post = get_object_or_404(Post, slug=slug)
    form = PostForm(request.POST or None, request.FILES or None, instance=post)
    if request.method == "POST":

        if form.is_valid():
            post = form.save()
            messages.success(request, "Post updated succesfully")
            return HttpResponseRedirect(post.get_absolute_url())
    context = {
        'form': form
    }
    return render(request, "post/form.html", context)
Beispiel #4
0
def post_create(request):

    if not request.user.is_authenticated():
        return Http404()

    form = postForm(request.POST or None,request.FILES or None)
    if form.is_valid():
        savedPost = form.save(commit=False)
        savedPost.user = request.user
        savedPost.save()
        messages.success(request,"başarılı oluşturuldu")
        return HttpResponseRedirect(savedPost.get_absolute_url())

    context={'form':form}
    return render(request,'postsFiles/create.html',context)
Beispiel #5
0
def dislike_dish(request):
    if request.method == 'POST':
        dish_name = request.POST['dish_name']
        username = request.POST['username']

        user = User.objects.filter(username=username)[0]
        dish = Dish.objects.filter(name__contains=dish_name)
        if len(dish) == 1:
            dish = dish[0]
            # user.liked_dishes.add(dish, through_defaults={'score': score})
            user.liked_dishes.remove(dish)

            return HttpResponse('Successfully disliked')
        else:
            return Http404()
Beispiel #6
0
def post_create(request):
    if not request.user.is_authenticated():
        return Http404()
    form = PostForm(request.POST or None, request.FILES or None)
    if form.is_valid():
        post = form.save(commit=False)  #veritabanına kayıt eder
        post.user = request.user
        post = form.save()
        messages.success(request, 'BAŞARILI')
        return HttpResponseRedirect(post.get_absolute_url())

    context = {
        'form': form,
    }
    return render(request, 'post/form.html', context)
Beispiel #7
0
def activate(request, uid, token):
    try:
        usuario = get_object_or_404(Usuario, pk=uid)
    except:
        raise Http404("No se encontró el usuario")
    if usuario is not None and activation_token.check_token(usuario, token):
        usuario.is_active = True
        ruta_certificado = Generator.generate_key(usuario.username)
        usuario.certificado = ruta_certificado
        usuario.save()
        return HttpResponse(
            "<h2>Cuenta activada. Ahora puedes iniciar sesión haciendo <a href='/login'>click aquí</a></h2>"
        )
    else:
        return HttpResponse("<h3>Link de activación inválido</h3>")
Beispiel #8
0
def createTopic(request):
    if request.user.is_authenticated:
        if request.user.is_staff or request.user.is_superuser:
            form = categoryForm(request.POST or None)
            if form.is_valid():
                instance = form.save(commit=False)
                instance.save()
                messages.success(request, 'Category successfully added')
                return redirect('blog:category')
            context = {'form': form}
            return render(request, 'create_topic.html', context)
        else:
            raise Http404('You are not authorized to access this page')
    else:
        return redirect('blog:login')
Beispiel #9
0
def get_file(request, ref_id):
    if request.user.is_authenticated:
        ref = get_object_or_404(Ref, pk=ref_id)
        if ref.library.user.username != request.user.username:
            raise Http404("用户权限错误!")

        pdf_file_path = ref.pdf.pdf_file.path
        with open(pdf_file_path, 'rb') as file:
            response = HttpResponse(file.read(),
                                    content_type='application/pdf')
            response[
                'Content-Disposition'] = 'inline; filename="' + ref.pdf.pdf_file.name + '"'
            return response

    return redirect('/')
Beispiel #10
0
def user_profile(username):
    user = get_object_or_404(User.objects.select_related('userinfo', 'userinfo__avatar'), username=username)

    if not user.is_active:
        raise Http404("Deactivated user.")

    follow_counts = following_models.counts(user)

    return {
        'user': user.details(),
        'bio': user.userinfo.bio_text,
        'quest_completion_count': Quest.completed_by_user_count(user),
        'follower_count': follow_counts['followers'],
        'following_count': follow_counts['following'],
    }
Beispiel #11
0
def message(request):
    if request.method == "POST":
        print 'got a requesst'
        post = request.POST
        email = post.get('email')
        number = post.get('number')
        name = post.get('name')
        message = post.get('msg')

        Message.objects.create(name=name,email=email,mobileNumber=number,message=message)
        # messages.success(request,"Message recorded!, we'll contact you soon",fail_silently=True)
        response_data = {}

    else:
        raise Http404('not allowed')
Beispiel #12
0
def detail(request, restoid):
    try:
        resto_id = Restaurant.objects.get(pk=restoid)
        menus = Menu.objects.all().filter(rm_id_id=resto_id.id)
        fotos = Photo.objects.all().filter(rm_id_id=resto_id.id)
        reviews = Review.objects.all().filter(rm_id_id=resto_id.id)
    except Restaurant.DoesNotExist:
        raise Http404(
            f"Restaurant dengan entry nomor {restoid} tidak tersedia.")
    return render(request, 'detail.html', {
        'resto_id': resto_id,
        'menus': menus,
        'fotos': fotos,
        'reviews': reviews
    })
Beispiel #13
0
def create_team(request):
    """
        Creates a team. It doesn't relates member and teams, so users have to use the really cool search feature.
    """
    if request.method == 'POST':
        email = request.session.get('email', None)
        team_name = request.POST.get('team_name', None)
        team = Team(name=team_name)
        team.save()

        message = "Team created, please use the cool search feature and assign yourself to the team"
        messages.add_message(request, messages.INFO, message)
        return redirect('teamsapp:teams')
    else:
        raise Http404('Not allowed')
def download_file(key):
    """Returns an HttpResponse to download the corresponding file"""

    file_path = get_file_path(key)
    metadata_path = get_metadata_path(key)
    if not os.path.exists(file_path):
        raise Http404()
    with open(metadata_path) as f:
        metadata = json.load(f)
        content_type = metadata.get("Content-Type", 'application/octet-stream')
    with open(file_path, 'r') as f:
        response = HttpResponse(f.read(), content_type=content_type)
        file_name = os.path.basename(os.path.dirname(file_path))
        response['Content-Disposition'] = 'attachment; filename=' + file_name
    return response
Beispiel #15
0
def get_vk_bot_instance(request, bot_slug):
    print(bot_slug)
    try:
        bot = VkBot.objects.get(bot_slug=bot_slug)
    except VkBot.DoesNotExist:
        print('does not exist')
        raise Http404('bot does not exist')
    print(bot.bot_place)
    print(request.user)
    if bot.bot_place != request.user:
        print('403')
        return HttpResponse(status=403, content_type="application/json")
    else:
        data = serialize('json', [bot])
        return HttpResponse(data, content_type="application/json")
Beispiel #16
0
 def get_object(self):
     try:
         visualdatas = super().get_queryset()
         filter_date = datetime.datetime.strptime(self.kwargs['date'],
                                                  "%Y-%m-%d").date()
         qs = visualdatas.filter(
             crawlerDate__year=filter_date.year,
             crawlerDate__month=filter_date.month,
         )
         d = {_.crawlerDate.day: _ for _ in qs}
         return d[min(d.keys(), key=lambda _: abs(_ - filter_date.day))]
     except Exception as e:
         print(e, file=sys.stderr)
         raise Http404(
             "{}".format(e))  # -[o] update to DRF response type later
Beispiel #17
0
def download(request):
    payinfo_id = request.GET.get('payinfo_id')
    # 返回模型
    order = PayinfoOrder.objects.filter(payinfo_id=payinfo_id,buyer=request.user,status=2).first()
    if order:
        payinfo = order.payinfo
        path = payinfo.path
        fp = open(os.path.join(settings.MEDIA_ROOT,path),'rb')
        response = FileResponse(fp)
        # /a/xx.png = ['',a,xx.png]
        response['Content-Type'] = 'image/jpeg'
        response['Content-Disposition'] = 'attachment;filename="%s"'%path.split("/")[-1]
        return response
    else:
        return Http404()
Beispiel #18
0
    def get(self, request, *args, **kwargs):
        if request.is_ajax():
            sku_id = int(request.GET['id'])
            sku = SKU.objects.get(id=sku_id)

            action = request.GET['action']
            status = self.get_action_status(action, sku_id)
            batch = sku.batch
            product = sku.product

            context = {'is_liked': status, 'batch': batch, 'product': product}
            html = render_to_string(self.template_name, context)
            return HttpResponse(html)

        raise Http404()
Beispiel #19
0
def post_update(request,id):
    if not request.user.is_authenticated:
        return Http404()
    post_det = get_object_or_404(Post,id=id)
    form_cr = PostForm(request.POST or None, request.FILES or None,instance=post_det)
    if form_cr.is_valid():
        form_cr.save()
        messages.success(request,'Your post has been updated succesfully')
        return HttpResponseRedirect(post_det.get_absolute_url())

    
    context = {
        'form':form_cr
    }
    return render(request, 'post/form.html',context)
Beispiel #20
0
 def post(self,request):
     queryset = models.Google2Auth.objects.filter(Q(user__username=request.data["username"]) | Q(user__email=request.data["username"]))
     if queryset.exists():
         raise Http404("已经绑定令牌,绑定失败")
     serializer = googleSerializer(data=request.data)
     serializer.is_valid(raise_exception=True)
     user = models.UserProfile.objects.get(Q(email=request.data["username"]) | Q(username=request.data["username"]))
     login(request, user)
     base_32_secret = base64.b32encode(codecs.decode(codecs.encode('{0:020x}'.format(random.getrandbits(80))), 'hex_codec'))
     totp_obj = googletotp.TOTP(base_32_secret.decode("utf-8")) # 实例化类
     qr_code = re.sub(r'=+$', '', totp_obj.provisioning_uri(request.user.email))
     models.Google2Auth.objects.create(user=user)
     key = str(base_32_secret,encoding="utf-8")
     queryset.update(key=key)
     return Response({"success": True, "msg": "绑定成功","results": {"qr_code": qr_code}}, status=status.HTTP_201_CREATED)
Beispiel #21
0
    def form_valid(self, form):
        p = ElearningProgram.objects.get(slug = self.kwargs['slug'])
        s = Semester.objects.filter(program = p)
        if s.count() != 6 :
            if s:
                form.instance.order = s.last().order + 1
            else:
                form.instance.order = 1
            form.instance.name = _("Semester")
            form.instance.program_id = p.id
            instance = form.save()
        else:
            raise Http404("You already have 6 Semester")

        return super(SemesterCreateView, self).form_valid(form)
Beispiel #22
0
def verificar_inscripcion(request):
    if request.method == 'POST':
        cantidad_alumnos = int(request.POST['alumnosCount'])
        inscripciones = []
        for i in range(1, cantidad_alumnos + 1):
            prefix = 'alumno-' + str(i) + '-inscripcion'
            form = FormularioInscripcion(request.POST, prefix=prefix)
            inscripciones.append({
                "alumno": i,
                "valid": form.is_valid(),
                "errors": form.errors
            })

        return JsonResponse(inscripciones, safe=False)
    raise Http404()
Beispiel #23
0
def become(request):
    if not settings.HIJACK_ENABLE:
        raise Http404(_('Hijack feature is not enabled.'))

    if not request.user.is_superuser:
        raise PermissionDenied()

    id = request.POST.get('user_pk')
    if request.POST and id:
        target_user = User.objects.get(pk=id)
        if target_user.is_superuser:
            raise PermissionDenied()

        return AcquireUserView.as_view()(request)
    return redirect('users:account')
Beispiel #24
0
def edit(request, selection):
    #If the user has submitted a change, update it, else display the current page in markdown format.
    if request.method == "POST":
        util.save_entry(selection, request.POST.get("data"))
        return redirect('entry', selection=selection)
    else:
        if util.get_entry(selection) != None:
            context = {
                "selection": selection,
                "data": util.get_entry(selection),
                "random": random.choice(util.list_entries())
            }
            return render(request, "encyclopedia/edit.html", context)
        else:
            raise Http404(request, f"a page for {selection} does not exist.")
Beispiel #25
0
def getQuestionByLevel(request, level):
    player = get_object_or_404(Player, user=request.user)
    level = int(level)
    if level > player.level:
        raise Http404()
    ques = get_object_or_404(Question, level=level)
    context = {
        'question': ques,
        'player': player,
        'rank': Player.rank(player),
        'social_account': SocialAccount.objects.get(user=player.user),
        'level_range': range(0, player.level + 1),
        'showAnswerWindow': True if level == player.level else False
    }
    return render(request, "question/index.html", context)
Beispiel #26
0
    def get(self, request):
        try:
            paginator = PageNumberPagination()
            paginator.page_size = 100
            query_param = self.request.query_params.get('q', None)
            from_date = self.request.query_params.get(
                'from_date',
                dt.date.today().strftime("%Y-%m-%d"))
            to_date = self.request.query_params.get('to_date', from_date)
            order_field = self.request.query_params.get('order', None)
            order_type = self.request.query_params.get('type', 'ASC')
            returned_fields = self.request.query_params.get('fields', None)
            group_fields = self.request.query_params.get('group_fields', None)
            cpi = self.request.query_params.get('cpi', 0)

            if query_param:
                dataset = DatasetModel.objects.filter(
                    Q(channel__icontains=query_param)
                    | Q(country__icontains=query_param)
                    | Q(os__icontains=query_param))
            else:
                dataset = DatasetModel.objects.all()

            data_serializer = DataSerializer()
            self.handle_returned_fields(returned_fields, dataset,
                                        data_serializer)
            dataset = self.get_data_within_a_daterange(from_date, to_date,
                                                       dataset)
            dataset = self.get_data_ordered(order_field, order_type, dataset)
            cpi_value = self.handle_cpi_value(cpi, dataset)

            # Only aggregated by Impressions and Clicks as test case.
            aggs = self.get_aggregated_values(group_fields, dataset)

            result_page = paginator.paginate_queryset(dataset, request)

            serializer = DataSerializer(result_page, many=True)
            data = paginator.get_paginated_response(serializer.data)
            res = {
                'res': data.data,
                'total_cpi': cpi_value,
                'aggregations': aggs
            }
            return Response(res)
        except Exception as e:
            print(e)
            raise Http404('Requested is failed with error {}'.format(
                e.__doc__))
Beispiel #27
0
def seat_query(request):
    if request.method == "GET":
        match_id = request.GET.get('match')
        bay = request.GET.get('bay')
        match_book = Schedule_Match.objects.get(pk=match_id)
        try:
            with open('static/arrange.json', 'r') as file:
                seat_arrange = js.load(file)
        except:
            raise Http404("Json Error")
        Seats.delete_temp_allocated()
        occ_seats = Seats.objects.filter(match=match_book)
        occ_seats = [x.seats[1:] for x in occ_seats if x.seats[0] == bay]
        #for x in occ_seats:
        #    print(x)
        return render(
            request, 'Seat_arrange.html', {
                "data": seat_arrange,
                'match_book': match_book,
                'bay': bay,
                "unavilable_seats": occ_seats
            })
    else:
        selected_seats = request.POST['selected_seats']
        selected_seats = selected_seats.split(',')
        request.session['selected_seats'] = selected_seats
        match_id = request.POST['match_id']
        match_book = Schedule_Match.objects.get(pk=match_id)
        email_id = request.session['email_id']
        account = Accounts.objects.get(email_id=email_id)
        bay = request.POST['bay']
        level_count = [x[0] for x in selected_seats]
        scount = set(level_count)
        a = {}
        for x in scount:
            a[x] = level_count.count(x)
        price = a.get('1', 0) * 250 + a.get('2', 0) * 450 + a.get('3', 0) * 550
        gst = 0.09 * price
        total = price + gst + gst
        pay = [price, gst, total]
        return render(
            request, 'payment.html', {
                'selected_seats': selected_seats,
                'match_book': match_book,
                'account': account,
                'bay': bay,
                'pay': pay
            })
Beispiel #28
0
def table_change(request, app_name, table_name, obj_id, embed=False):
    # print("table change:",app_name,table_name ,obj_id)

    if app_name in site.enabled_admins:
        if table_name in site.enabled_admins[app_name]:
            admin_class = site.enabled_admins[app_name][table_name]
            # print(enabled_admins[table_name])
            obj = admin_class.model.objects.get(id=obj_id)
            # print("obj....change",obj)
            fields = []
            for field_obj in admin_class.model._meta.fields:
                if field_obj.editable:
                    fields.append(field_obj.name)

            for field_obj in admin_class.model._meta.many_to_many:
                fields.append(field_obj.name)
            # print('fields', fields)
            model_form = forms.create_form(admin_class.model,
                                           fields,
                                           admin_class,
                                           request=request)

            if request.method == "GET":
                form_obj = model_form(instance=obj)

            elif request.method == "POST":
                # print("post:", request.POST)
                form_obj = model_form(request.POST, instance=obj)
                if form_obj.is_valid():
                    form_obj.validate_unique()
                    if form_obj.is_valid():
                        form_obj.save()

            return_data = {
                'form_obj': form_obj,
                'model_verbose_name': admin_class.model._meta.verbose_name,
                'model_name': admin_class.model._meta.model_name,
                'app_name': app_name,
                'admin_class': admin_class,
                'enabled_admins': site.enabled_admins
            }
            if embed:
                return return_data
            else:
                return render(request, 'swing/table_change.html', return_data)

    else:
        raise Http404("url %s/%s not found" % (app_name, table_name))
Beispiel #29
0
def post_update(request, slug):
    if not request.user.is_authenticated:
        return Http404()

    posts_update = get_object_or_404(post, slug=slug)
    form = PostForm(request.POST or None,
                    request.FILES or None,
                    instance=posts_update)
    if form.is_valid():
        form.save()
        messages.success(request,
                         'Başarılı bir şekilde güncellediniz.',
                         extra_tags='mesaj-basarılı')
        return HttpResponseRedirect(posts_update.get_absolute_url())
    context = {'form': form}
    return render(request, 'post/form.html', context)
Beispiel #30
0
def create_view(request):

    if not request.user.is_authenticated:
        return Http404()

    form = PostForm(request.POST or None, request.FILES or None)
    if form.is_valid():
        post = form.save(commit=False)
        post.author = request.user
        post = form.save()
        messages.success(request,
                         "POst created successfully",
                         extra_tags='msg')
        return HttpResponseRedirect(post.get_absolute_url())
    context = {'form': form}
    return render(request, 'post/form.html', context)