예제 #1
0
파일: views.py 프로젝트: sizzlelab/Arki
def html5upload(request):
    """
    Renders the upload form page.
    """
    if request.method == 'POST': # If the form has been submitted...
        result = []
        for filefield, tmpname in handle_uploaded_file(request):
            c = Content()
            originalname = str(request.FILES["file"])
            c.user = request.user # Only authenticated users can use this view
            c.set_file(originalname, tmpname) # Save uploaded file to filesystem
            c.get_type_instance() # Create thumbnail if it is supported
            c.save()
            #print originalname
            #generating json response array
            result.append({"name": originalname,
                           "size": c.filesize,
                           "url": c.uid,
                           "thumbnail_url": '/content/instance/%s-200x200.jpg' % c.uid,
                           "delete_url": '/content/delete/%s' % c.uid,
                           "delete_type":"POST",})
        #print result
        response_data = json.dumps(result)
        #print response_data
        #checking for json data type
        #big thanks to Guy Shapiro
        if "application/json" in request.META['HTTP_ACCEPT_ENCODING']:
            mimetype = 'application/json'
        else:
            mimetype = 'text/plain'
        return HttpResponse(response_data, mimetype=mimetype)
    return _render_to_response(request, 'content_html5upload.html', {
                               })
예제 #2
0
def create_do(request):
    user, email, usernum = request.user.username.split("|")[:]
    if redirect_validation(request, request.POST['type'], "type"): return redirect_post_review(request.POST)
    if redirect_validation(request, request.POST['project'], "project"): return redirect_post_review(request.POST)
    if redirect_validation(request, request.POST['version'], "version"): return redirect_post_review(request.POST)
    if redirect_validation(request, request.POST['comment'], "comment"): return redirect_post_review(request.POST)

    request.session['err'] = ''
    s = Content(
            type=request.POST['type'],
            project=request.POST['project'],
            env="",
            run_id="",
            comment=request.POST['comment'],
            version=request.POST['version'],
            status = 1,
            create_time = int(time.time()),
            deploy_time = 0,
            finish_time = 0,
            create_user = user,
            deploy_user = "",
    )
    s.save()

    initialization_release_status(request.POST['project'])

    return HttpResponseRedirect("/task/list/1/")
예제 #3
0
def upload(request):
    """
    Renders the upload form page.

    Args:
        request: the request object

    Returns:
        response: a http response object
    """
    if request.method == 'POST':  # If the form has been submitted...
        form = UploadForm(request.POST,
                          request.FILES)  # A form bound to the POST data
        if form.is_valid():  # All validation rules pass
            for filefield, tmpname in handle_uploaded_file(request):
                c = Content()
                originalname = str(request.FILES["file"])
                c.user = request.user  # Only authenticated users can use this view
                c.set_file(originalname,
                           tmpname)  # Save uploaded file to filesystem
                c.get_type_instance()  # Create thumbnail if it is supported
                c.save()
                Uploadinfo.create(c, request)
                # uli.set_request_data(request)
                # uli.save()
            return HttpResponseRedirect(reverse('content:edit', args=[c.uid]))
    else:
        form = UploadForm(initial={})  # An unbound form
    return _render_to_response(request, 'content_upload.html', {
        'uploadform': form,
    })
예제 #4
0
def save_article(request, page_name):
    continent_list = dropdown()

    page_content = request.POST['Content']
    continent_content = request.POST['continent_rad']

    try:
        article = Article.objects.get(article_title=page_name)

    except Article.DoesNotExist:
        author = request.user
        authorname = author.username
        article = Article(article_title=page_name,
                          article_continent=continent_content,
                          article_author=authorname)
        article.save()
    content_author = request.user
    content_author_name = content_author.username
    content = Content(content_content=page_content,
                      content_article=article,
                      content_change_date=datetime.now(),
                      content_author=content_author_name)
    content.save()

    article.article_last_revision = content
    article.save()

    return HttpResponseRedirect("/wikijourney/" + page_name + "/")
예제 #5
0
def create_do(request):
    user, email, usernum = request.user.username.split("|")[:]
    if redirect_validation(request, request.POST['type'], "type"):
        return redirect_post_review(request.POST)
    if redirect_validation(request, request.POST['project'], "project"):
        return redirect_post_review(request.POST)
    if redirect_validation(request, request.POST['version'], "version"):
        return redirect_post_review(request.POST)
    if redirect_validation(request, request.POST['comment'], "comment"):
        return redirect_post_review(request.POST)

    request.session['err'] = ''
    s = Content(
        type=request.POST['type'],
        project=request.POST['project'],
        env="",
        run_id="",
        comment=request.POST['comment'],
        version=request.POST['version'],
        status=1,
        create_time=int(time.time()),
        deploy_time=0,
        finish_time=0,
        create_user=user,
        deploy_user="",
    )
    s.save()

    initialization_release_status(request.POST['project'])

    return HttpResponseRedirect("/task/list/1/")
예제 #6
0
 def test_content_cannot_save_without_subclass_app_model(self):
     c = Content()
     try:
         c.save()
         self.fail("Base content saved without app_model provided by sub-class.")
     except:
         pass
예제 #7
0
def save_article(request, page_name):
	continent_list = dropdown()

	page_content = request.POST['Content']
	continent_content = request.POST['continent_rad']

	try:
		article = Article.objects.get(article_title=page_name)

	except Article.DoesNotExist:
		author = request.user
		authorname = author.username
		article = Article(article_title = page_name, 
						  article_continent = continent_content, 
						  article_author= authorname)
		article.save()
	content_author = request.user
	content_author_name=content_author.username
	content = Content(content_content= page_content, 
					  content_article= article,
					  content_change_date= datetime.now(), 
					  content_author=content_author_name)
	content.save()

	article.article_last_revision = content
	article.save()

	return HttpResponseRedirect("/wikijourney/" + page_name + "/")
예제 #8
0
def api_upload(request):
    """
    Renders the upload form page.

    Args:
        request: the request object

    Returns:
        response: a http response object
    """
    if request.method == 'POST':  # If the form has been submitted...
        # for header in request.META.keys():
        #    if header.startswith('HTTP'):
        #        print header, request.META[header]
        # print request.raw_post_data[:1000]
        if request.user.is_authenticated() is False:
            return HttpResponse(status=401)
        form = UploadForm(request.POST,
                          request.FILES)  # A form bound to the POST data
        if form.is_valid():  # All validation rules pass
            for filefield, tmpname in handle_uploaded_file(request):
                SUPPORTED_FIELDS = ['title', 'caption', 'author']
                kwargs = {}
                for field in SUPPORTED_FIELDS:
                    kwargs[field] = request.POST.get(field)
                try:
                    kwargs['point'] = Point(float(request.POST.get('lon')),
                                            float(request.POST.get('lat')))
                except:
                    # raise
                    pass
                print kwargs
                c = Content(**kwargs)
                originalname = str(request.FILES["file"])
                # Only authenticated users can use this view
                c.user = request.user
                # Save uploaded file to filesystem
                c.set_file(originalname, tmpname)
                # Create thumbnail if it is supported
                c.get_type_instance()
                c.save()
                Uploadinfo.create(c, request)
                break  # We save only the first file
            response = HttpResponse(status=201)
            # response.status_code = 201
            # FIXME: use reverse()
            response['Location'] = '/content/api/v1/content/%s/' % c.uid
            return response
            # return HttpResponseRedirect(reverse('content:edit', args=[c.uid]))
        else:
            response = HttpResponse(status=204)
            return response
    else:
        raise Http404
예제 #9
0
 def post(self, request, format=None):
     # todo
     data = request.data
     serializer = ContentPostSerializer(data=data)
     if not serializer.is_valid():
         err = {}
         err['msg'] = serializer.errors
         return Response(err)
     obj = Content()
     obj.entry = data['entry']
     obj.save()
     con = ContentSerializer(obj)
     return Response(con.data)
예제 #10
0
 def put(self, request, id, format=None):
     # todo
     data = request.data
     serializer = ContentPostSerializer(data=data)
     if not serializer.is_valid():
         err = {}
         err['msg'] = serializer.errors
         return Response(err)
     obj = Content.objects.get(id=id)
     if obj:
         obj1 = Content()
         obj1.entry = data['entry']
         obj1.save()
         con = ContentSerializer(obj1)
         return Response(con.data)
예제 #11
0
def html5upload(request):
    """
    Renders the upload form page.

    Args:
        request: the request object

    Returns:
        response: a http response object
    """
    if request.method == 'POST':  # If the form has been submitted...
        result = []
        for filefield, tmpname in handle_uploaded_file(request):
            c = Content()
            originalname = str(request.FILES["file"])
            c.user = request.user  # Only authenticated users can use this view
            c.set_file(originalname,
                       tmpname)  # Save uploaded file to filesystem
            c.get_type_instance()  # Create thumbnail if it is supported
            c.save()
            Uploadinfo.create(c, request).save()
            # print originalname
            # generating json response array
            result.append({
                "name":
                originalname,
                "size":
                c.filesize,
                "url":
                reverse('content:edit', args=[c.uid]),
                "thumbnail_url":
                '/content/instance/%s-200x200.jpg' % c.uid,
                "delete_url":
                reverse('content:edit', args=[c.uid]),
                "delete_type":
                "POST",
            })
        # print result
        response_data = json.dumps(result)
        # print response_data
        # checking for json data type
        # big thanks to Guy Shapiro
        if "application/json" in request.META['HTTP_ACCEPT_ENCODING']:
            mimetype = 'application/json'
        else:
            mimetype = 'text/plain'
        return HttpResponse(response_data, mimetype=mimetype)
    return _render_to_response(request, 'content_html5upload.html', {})
예제 #12
0
def create(request):
    if request.method == 'GET':
        new = ContentForm()
    if request.method == 'POST':
        new = ContentForm(request.POST)
        print new.is_valid()

        if new.is_valid(
        ):  #如果is_valid()不对可以打印new.errors来看哪块有问题,可以搜form组件is_valid校验机制
            date = new.cleaned_data['date']
            customer_name = new.cleaned_data['customer_name']
            dfe_name = new.cleaned_data['dfe_name']
            question = new.cleaned_data['question']
            solution = new.cleaned_data['solution']
            solution_or_not = new.cleaned_data['solution_or_not']
            update_or_not = new.cleaned_data['update_or_not']
            change_or_not = new.cleaned_data['change_or_not']
            share_or_not = new.cleaned_data['share_or_not']
            # author = request.user.username
            print request.user

            # aa = {}
            # aa.update(new.cleaned_data)
            # aa['author'] = author
            aa = Content()
            aa.date = date
            aa.customer_name = customer_name
            aa.dfe_name = dfe_name
            aa.question = question
            aa.solution = solution
            aa.solution_or_not = solution_or_not
            aa.update_or_not = update_or_not
            aa.change_or_not = change_or_not
            aa.share_or_not = share_or_not
            aa.author = request.user
            aa.save()

            return redirect('index')
        else:
            print 'ccccc'
            for i in new.errors:
                print i

    return render(request, 'jihua/input.html', locals())
예제 #13
0
파일: views.py 프로젝트: sizzlelab/Arki
def api_upload(request):
    """
    Renders the upload form page.
    """
    if request.method == 'POST': # If the form has been submitted...
        #for header in request.META.keys():
        #    if header.startswith('HTTP'):
        #        print header, request.META[header]
        #print request.raw_post_data[:1000]
        if request.user.is_authenticated() is False:
            return HttpResponse(status=401)
        form = UploadForm(request.POST, request.FILES) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            for filefield, tmpname in handle_uploaded_file(request):
                SUPPORTED_FIELDS = ['title', 'caption', 'author']
                kwargs = {}
                for field in SUPPORTED_FIELDS:
                    kwargs[field] = request.POST.get(field)
                try:
                    kwargs['point'] = Point(float(request.POST.get('lon')), float(request.POST.get('lat')))
                except:
                    #raise
                    pass
                print kwargs
                c = Content(**kwargs)
                originalname = str(request.FILES["file"])
                c.user = request.user # Only authenticated users can use this view
                c.set_file(originalname, tmpname) # Save uploaded file to filesystem
                c.get_type_instance() # Create thumbnail if it is supported
                c.save()
                break # We save only the first file
            response = HttpResponse(status=201)
            #response.status_code = 201
            # FIXME: use reverse()
            response['Location'] = '/content/api/v1/content/%s/' % c.uid
            return response
            #return HttpResponseRedirect(reverse('edit', args=[c.uid]))
        else:
            response = HttpResponse(status=204)
            return response
    else:
        raise Http404
예제 #14
0
파일: views.py 프로젝트: sizzlelab/Arki
def upload(request):
    """
    Renders the upload form page.
    """
    if request.method == 'POST': # If the form has been submitted...
        form = UploadForm(request.POST, request.FILES) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            for filefield, tmpname in handle_uploaded_file(request):
                c = Content()
                originalname = str(request.FILES["file"])
                c.user = request.user # Only authenticated users can use this view
                c.set_file(originalname, tmpname) # Save uploaded file to filesystem
                c.get_type_instance() # Create thumbnail if it is supported
                c.save()
            return HttpResponseRedirect(reverse('edit', args=[c.uid]))
    else:
        form = UploadForm(initial={}) # An unbound form
    return _render_to_response(request, 'content_upload.html', {
                                  'uploadform' : form,
                               })
예제 #15
0
파일: views.py 프로젝트: Ryan113/SaPBP
def register(request):
    if request.POST:
        content = Content()
        content.user = request.user
        content.image1 = request.FILES['image1_upload']
        content.image2 = request.FILES['image2_upload']
        content.image3 = request.FILES['image3_upload']
        content.image4 = request.FILES['image4_upload']
        content.image5 = request.FILES['image5_upload']
        content.image6 = request.FILES['image6_upload']
        content.image7 = request.FILES['image7_upload']
        content.image8 = request.FILES['image8_upload']
        content.terms = request.POST.get('terms')
        content.save()
        return redirect('/portal/register')

    try:
        gallery = Content.objects.get(user=request.user)
        return render(request, 'portal/register.html', {'gallery': gallery})
    except ObjectDoesNotExist:
        print 'Does Not Exist!'
        return render(request, 'portal/register.html')