Example #1
0
def edit_page(request, pk):
    page = get_object_or_404(Page, pk=pk)
    categories = Category.objects.all()

    if request.method == 'POST':
        validate_page = PageForm(request.POST, instance=page)
        if validate_page.is_valid():
            page = validate_page.save(commit=False)
            page.slug = slugify(request.POST.get('slug'))
            page.save()
            page.category.clear()
            page.category.add(*request.POST.getlist('category'))

            data = {"error": False, 'response': 'Page updated successfully'}
        else:
            data = {"error": True, 'response': validate_page.errors}
        return HttpResponse(json.dumps(data),
                            content_type='application/json; charset=utf-8')
    if request.user.is_superuser:
        c = {}
        c.update(csrf(request))
        return render(request, 'admin/content/page/edit-page.html', {
            'page': page,
            'csrf_token': c['csrf_token'],
            'categories': categories
        })
    else:
        return render_to_response('admin/accessdenied.html')
Example #2
0
def new_page(request):
    categories = Category.objects.all()
    countries = Country.objects.all()
    if request.method == 'POST':
        validate_page = PageForm(request.POST)
        if validate_page.is_valid():
            page = validate_page.save(commit=False)
            page.parent = None
            page.slug = slugify(request.POST.get('slug'))
            page.is_default = True
            if request.POST.get('country'):
                page.country_id = request.POST.get('country')
            else:
                country = Country.objects.get(name__iexact='US')
                page.country = country
            page.save()
            page.category.add(*request.POST.getlist('category'))
            data = {"error": False, 'response': 'Page created successfully'}
        else:
            data = {"error": True, 'response': validate_page.errors}
        return HttpResponse(json.dumps(data),
                            content_type='application/json; charset=utf-8')
    if request.user.is_superuser:
        c = {}
        c.update(csrf(request))
        return render(
            request, 'admin/content/page/new-page.html', {
                'csrf_token': c['csrf_token'],
                'categories': categories,
                'countries': countries
            })
    else:
        return render_to_response('admin/accessdenied.html')
Example #3
0
def new_page(request):
    categories = Category.objects.all()
    if request.method == 'POST':
        validate_page = PageForm(request.POST)
        if validate_page.is_valid():
            page = validate_page.save(commit = False)
            page.slug = slugify(request.POST.get('slug'))
            page.save()
            page.category.add(*request.POST.getlist('category'))
            data = {"error": False, 'response': 'Page created successfully'}
        else:
            data = {"error": True, 'response': validate_page.errors}
        return HttpResponse(json.dumps(data), content_type='application/json; charset=utf-8')
    if request.user.is_superuser:
        c = {}
        c.update(csrf(request))
        return render(
            request,
            'admin/content/page/new-page.html',
            {
                'csrf_token': c['csrf_token'],
                'categories': categories
            })
    else:
        return render_to_response('admin/accessdenied.html')
Example #4
0
 def test_pageforms(self):
     self.client = Client()
     form = PageForm(
         data={
             'title': 'Page',
             'content': 'page_content',
             'slug' : 'slug',
             'meta_data' : 'meta_title',
         })
     self.assertTrue(form.is_valid())
Example #5
0
 def test_pageforms(self):
     self.client = Client()
     form = PageForm(
         data={
             'title': 'Page',
             'content': 'page_content',
             'meta_description': 'description',
             'keywords': 'keywords'
         })
     self.assertTrue(form.is_valid())
Example #6
0
 def test_pageforms(self):
     self.client = Client()
     form = PageForm(
         data={
             'title': 'Page',
             'content': 'page_content',
             'slug' : 'slug',
             'meta_data' : 'meta_title',
         })
     self.assertTrue(form.is_valid())
Example #7
0
def create(request):
    if request.user.is_superuser:
        form = PageForm(request.POST or None)
        if form.is_valid():
            form.save()
            messages.success(request, "Page has been created")
            return redirect("index")
        return render(request, "pages/form.html", {"form": form, "update": False})
    else:
        messages.success(request, "You are not authorized")
        return redirect("index")
Example #8
0
 def test_pageforms(self):
     self.client = Client()
     form = PageForm(
         data={
             'title': 'Page',
             'content': 'page_content',
             'slug': 'slug',
             'meta_title': 'meta_title',
             'meta_description': 'description',
             'keywords': 'keywords'
         })
     self.assertTrue(form.is_valid())
Example #9
0
def edit(request, name):
    page = get_object_or_404(Page, name=name)

    if request.method == 'POST':
        form = PageForm(request.POST or None, instance=page)

        if form.is_valid():
            form.save()
            return redirect('homepage')
    else:
        form = PageForm(instance=page)
    return render(request, 'pages/edit.html', locals())
Example #10
0
def edit_flatpage(request, id):
    if request.method == 'POST':
        flatpage = get_object_or_404(FlatPage, id=id)
        form = PageForm(request.POST, instance=flatpage)
        if form.is_valid():
            form.save(commit=False)
            flatpage.save()
            return HttpResponseRedirect(flatpage.url)
    else:
        flatpage = get_object_or_404(FlatPage, id=id)
        form = PageForm(instance=flatpage)
    return render_to_response('pages/edit_page.html', {'form': form}, context_instance=RequestContext(request))
Example #11
0
def update(request, url):
    if request.user.is_superuser:
        page = get_object_or_404(Page, url=url)
        form = PageForm(request.POST or None, instance=page)
        if form.is_valid():
            form.save()
            messages.success(request, "Page has been updated")
            return redirect("pages.controller", url=page.url)
        return render(request, "pages/form.html", {"form": form, "update": True})
    else:
        messages.success(request, "You are not authorized")
        return redirect("index")
Example #12
0
def new_flatpage(request):
    if request.method == 'POST':
        flatpage = FlatPage()
        form = PageForm(request.POST, instance=flatpage)
        if form.is_valid():
            form.save(commit=False)
            flatpage.user = request.user
            flatpage.save()
            return HttpResponseRedirect(flatpage.url)
    else:
        flatpage = FlatPage()
        form = PageForm(instance=flatpage)
    return render_to_response('pages/new_page.html', {'form': form}, context_instance=RequestContext(request))
Example #13
0
def create(request):
    if request.user.is_superuser:
        form = PageForm(request.POST or None)
        if form.is_valid():
            form.save()
            messages.success(request, 'Page has been created')
            return redirect('index')
        return render(request, 'pages/form.html', {
            'form': form,
            'update': False
        })
    else:
        messages.success(request, 'You are not authorized')
        return redirect('index')
Example #14
0
def create(request):
    if request.user.is_superuser:
        form = PageForm(request.POST or None)
        if form.is_valid():
            form.save()
            messages.success(request, 'Page has been created')
            return redirect('index')
        return render(request, 'pages/form.html', {
            'form': form,
            'update': False
            })
    else:
        messages.success(request, 'You are not authorized')
        return redirect('index')
Example #15
0
def update(request, url):
    if request.user.is_superuser:
        page = get_object_or_404(Page, url=url)
        form = PageForm(request.POST or None, instance=page)
        if form.is_valid():
            form.save()
            messages.success(request, 'Page has been updated')
            return redirect('pages.controller', url=page.url)
        return render(request, 'pages/form.html', {
            'form': form,
            'update': True
        })
    else:
        messages.success(request, 'You are not authorized')
        return redirect('index')
Example #16
0
def update(request, url):
    if request.user.is_superuser:
        page = get_object_or_404(Page, url=url)
        form = PageForm(request.POST or None, instance=page)
        if form.is_valid():
            form.save()
            messages.success(request, 'Page has been updated')
            return redirect('pages.controller', url=page.url)
        return render(request, 'pages/form.html', {
            'form': form,
            'update': True
            })
    else:
        messages.success(request, 'You are not authorized')
        return redirect('index')
Example #17
0
def new_page(request):
    if request.method == 'POST':
        validate_page = PageForm(request.POST)
        if validate_page.is_valid():
            validate_page.save()
            data = {"error": False, 'response': 'Page created successfully'}
        else:
            data = {"error": True, 'response': validate_page.errors}
        return HttpResponse(json.dumps(data), content_type='application/json; charset=utf-8')
    if request.user.is_superuser:
        c = {}
        c.update(csrf(request))
        return render(request, 'admin/content/page/new-page.html', {'csrf_token': c['csrf_token']})
    else:
        return render_to_response('admin/accessdenied.html')
Example #18
0
def new_page(request):
    if request.method == "POST":
        validate_page = PageForm(request.POST)
        if validate_page.is_valid():
            validate_page.save()
            data = {"error": False, "response": "Page created successfully"}
        else:
            data = {"error": True, "response": validate_page.errors}
        return HttpResponse(json.dumps(data), content_type="application/json; charset=utf-8")
    if request.user.is_superuser:
        c = {}
        c.update(csrf(request))
        return render(request, "admin/content/page/new-page.html", {"csrf_token": c["csrf_token"]})
    else:
        return render_to_response("admin/accessdenied.html")
Example #19
0
def edit_page(request, pk):
    page = get_object_or_404(Page, pk=pk)
    if request.method == "POST":
        validate_page = PageForm(request.POST, instance=page)
        if validate_page.is_valid():
            validate_page.save()
            data = {"error": False, "response": "Page updated successfully"}
        else:
            data = {"error": True, "response": validate_page.errors}
        return HttpResponse(json.dumps(data), content_type="application/json; charset=utf-8")
    if request.user.is_superuser:
        c = {}
        c.update(csrf(request))
        return render(request, "admin/content/page/edit-page.html", {"page": page, "csrf_token": c["csrf_token"]})
    else:
        return render_to_response("admin/accessdenied.html")
Example #20
0
def edit_page(request, pk):
    country = request.GET.get('country') if request.GET.get('country') else request.POST.get('country_id')
    page = Page.objects.filter(pk=pk, country__slug=country).first()
    if not page:
        page = Page.objects.filter(parent_id=pk, country__slug=country).first()
    if not page:
        page = ''
    categories = Category.objects.all()
    countries = Country.objects.all()
    if request.method == 'POST':
        print (request.POST)
        if page:
            print("hello")
            validate_page = PageForm(request.POST, instance=page)
        else:
            validate_page = PageForm(request.POST)
        if validate_page.is_valid():
            edit_page = validate_page.save(commit=False)
            edit_page.slug = slugify(request.POST.get('slug'))
            if request.POST.get('contact_info'):
                edit_page.contact_info = json.loads(request.POST.get('contact_info'))
            if request.POST.get('is_default', '') == 'true':
                edit_page.is_default = True
            else:
                edit_page.is_default = False
            country = Country.objects.filter(slug=country).first()
            edit_page.country = country
            edit_page.save()
            if str(edit_page.id) != str(pk):
                edit_page.parent_id = pk
                edit_page.save()

            edit_page.category.clear()
            edit_page.category.add(*request.POST.getlist('category'))

            data = {"error": False, 'response': 'Page updated successfully'}
        else:
            data = {"error": True, 'response': validate_page.errors}
        return HttpResponse(json.dumps(data), content_type='application/json; charset=utf-8')
    if request.user.is_superuser:
        c = {}
        c.update(csrf(request))
        return render(request, 'admin/content/page/edit-page.html',
                      {'page': page, 'csrf_token': c['csrf_token'], 'categories': categories,
                       'countries': countries})
    else:
        return render_to_response('admin/accessdenied.html')
Example #21
0
def edit_page(request, pk):
    if request.method == 'POST':
        page_instance = Page.objects.get(pk=pk)
        validate_page = PageForm(request.POST, instance=page_instance)
        if validate_page.is_valid():
            validate_page.save()
            data = {"error": False, 'response': 'Page updated successfully'}
        else:
            data = {"error": True, 'response': validate_page.errors}
        return HttpResponse(json.dumps(data), content_type='application/json; charset=utf-8')
    if request.user.is_superuser:
        c = {}
        c.update(csrf(request))
        current_page = Page.objects.get(pk=pk)
        return render(request, 'admin/content/page/edit-page.html', {'page': current_page, 'csrf_token': c['csrf_token']})
    else:
        return render_to_response('admin/accessdenied.html')
Example #22
0
def new_page(request):
    if request.method == 'POST':
        validate_page = PageForm(request.POST)
        if validate_page.is_valid():
            validate_page.save()
            data = {"error": False, 'response': 'Page created successfully'}
        else:
            data = {"error": True, 'response': validate_page.errors}
        return HttpResponse(json.dumps(data),
                            content_type='application/json; charset=utf-8')
    if request.user.is_superuser:
        c = {}
        c.update(csrf(request))
        return render(request, 'admin/content/page/new-page.html',
                      {'csrf_token': c['csrf_token']})
    else:
        return render_to_response('admin/accessdenied.html')
Example #23
0
def add_page(request, category_name_url):
    context = RequestContext(request)
    cat_list = get_category_list()
    context_dict = {}
    context_dict['cat_list'] = cat_list

    category_name = decode_url(category_name_url)
    if request.method == 'POST':
        form = PageForm(request.POST)
        
        if form.is_valid():
            # This time we cannot commit straight away.
            # Not all fields are automatically populated!
            page = form.save(commit=False)

            # Retrieve the associated Category object so we can add it.
            try:
                cat = Category.objects.get(name=category_name)
                page.category = cat
            except Category.DoesNotExist:
                return render_to_response( 'pages/add_page.html',
                                          context_dict,
                                          context)

            # Also, create a default value for the number of views.
            page.views = 0

            # With this, we can then save our new model instance.
            page.save()

            # Now that the page is saved, display the category instead.
            return category(request, category_name_url)
        else:
            print form.errors
    else:
        form = PageForm()

    context_dict['category_name_url']= category_name_url
    context_dict['category_name'] =  category_name
    context_dict['form'] = form

    return render_to_response( 'pages/add_page.html',
                               context_dict,
                               context)
Example #24
0
def create_page(request, project_id):
    project = get_object_or_404(Project, pk=project_id)
    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid(): # All validation rules pass
            new_page = form.save(commit=False)
            new_page.project = project
            new_page.created_by = request.user
            new_page.updated_by = request.user
            if form.is_valid():
                new_page.save()
                return HttpResponseRedirect('/pages/%s/' % project_id) # Redirect after POST
    else:
        form = PageForm() # An unbound form

    return render(request, 'pages/create_page_form.html', {
        'form': form,
        'project_id': project_id 
    })
Example #25
0
def edit_page(request, pk):
    page = get_object_or_404(Page, pk=pk)
    if request.method == 'POST':
        validate_page = PageForm(request.POST, instance=page)
        if validate_page.is_valid():
            validate_page.save()
            data = {"error": False, 'response': 'Page updated successfully'}
        else:
            data = {"error": True, 'response': validate_page.errors}
        return HttpResponse(json.dumps(data),
                            content_type='application/json; charset=utf-8')
    if request.user.is_superuser:
        c = {}
        c.update(csrf(request))
        return render(request, 'admin/content/page/edit-page.html', {
            'page': page,
            'csrf_token': c['csrf_token']
        })
    else:
        return render_to_response('admin/accessdenied.html')
Example #26
0
def edit_page(request, pk):
    page = get_object_or_404(Page, pk=pk)
    categories = Category.objects.all()

    if request.method == 'POST':
        validate_page = PageForm(request.POST, instance=page)
        if validate_page.is_valid():
            page = validate_page.save()
            page.category.clear()
            page.category.add(*request.POST.getlist('category'))

            data = {"error": False, 'response': 'Page updated successfully'}
        else:
            data = {"error": True, 'response': validate_page.errors}
        return HttpResponse(json.dumps(data), content_type='application/json; charset=utf-8')
    if request.user.is_superuser:
        c = {}
        c.update(csrf(request))
        return render(request, 'admin/content/page/edit-page.html',
                      {'page': page, 'csrf_token': c['csrf_token'], 'categories': categories})
    else:
        return render_to_response('admin/accessdenied.html')
Example #27
0
def edit_flatpage(request, id):
    if request.method == 'POST':
        flatpage = get_object_or_404(FlatPage, id=id)
        form = PageForm(request.POST, instance=flatpage)
        if form.is_valid():
            form.save(commit=False)
            flatpage.save()
            return HttpResponseRedirect(flatpage.url)
    else:
        flatpage = get_object_or_404(FlatPage, id=id)
        form = PageForm(instance=flatpage)
    return render_to_response('pages/edit_page.html', {'form': form},
                              context_instance=RequestContext(request))
Example #28
0
def new_flatpage(request):
    if request.method == 'POST':
        flatpage = FlatPage()
        form = PageForm(request.POST, instance=flatpage)
        if form.is_valid():
            form.save(commit=False)
            flatpage.user = request.user
            flatpage.save()
            return HttpResponseRedirect(flatpage.url)
    else:
        flatpage = FlatPage()
        form = PageForm(instance=flatpage)
    return render_to_response('pages/new_page.html', {'form': form},
                              context_instance=RequestContext(request))
Example #29
0
def edit_page(request, pk):
    country = request.GET.get('country') if request.GET.get(
        'country') else request.POST.get('country_id')
    page = Page.objects.filter(pk=pk, country__slug=country).first()
    if not page:
        page = Page.objects.filter(parent_id=pk, country__slug=country).first()
    if not page:
        page = ''
    categories = Category.objects.all()
    countries = Country.objects.all()
    if request.method == 'POST':
        print(request.POST)
        if page:
            print("hello")
            validate_page = PageForm(request.POST, instance=page)
        else:
            validate_page = PageForm(request.POST)
        if validate_page.is_valid():
            edit_page = validate_page.save(commit=False)
            edit_page.slug = slugify(request.POST.get('slug'))
            if request.POST.get('contact_info'):
                edit_page.contact_info = json.loads(
                    request.POST.get('contact_info'))
            if request.POST.get('is_default', '') == 'true':
                edit_page.is_default = True
            else:
                edit_page.is_default = False
            country = Country.objects.filter(slug=country).first()
            edit_page.country = country
            edit_page.save()
            if str(edit_page.id) != str(pk):
                edit_page.parent_id = pk
                edit_page.save()

            edit_page.category.clear()
            edit_page.category.add(*request.POST.getlist('category'))

            data = {"error": False, 'response': 'Page updated successfully'}
        else:
            data = {"error": True, 'response': validate_page.errors}
        return HttpResponse(json.dumps(data),
                            content_type='application/json; charset=utf-8')
    if request.user.is_superuser:
        c = {}
        c.update(csrf(request))
        return render(
            request, 'admin/content/page/edit-page.html', {
                'page': page,
                'csrf_token': c['csrf_token'],
                'categories': categories,
                'countries': countries
            })
    else:
        return render_to_response('admin/accessdenied.html')
Example #30
0
def add_page(request, category_name_url):
    context = RequestContext(request)
    cat_list = get_category_list()
    context_dict = {}
    context_dict['cat_list'] = cat_list

    category_name = decode_url(category_name_url)
    if request.method == 'POST':
        form = PageForm(request.POST)

        if form.is_valid():
            # This time we cannot commit straight away.
            # Not all fields are automatically populated!
            page = form.save(commit=False)

            # Retrieve the associated Category object so we can add it.
            try:
                cat = Category.objects.get(name=category_name)
                page.category = cat
            except Category.DoesNotExist:
                return render_to_response('pages/add_page.html', context_dict,
                                          context)

            # Also, create a default value for the number of views.
            page.views = 0

            # With this, we can then save our new model instance.
            page.save()

            # Now that the page is saved, display the category instead.
            return category(request, category_name_url)
        else:
            print form.errors
    else:
        form = PageForm()

    context_dict['category_name_url'] = category_name_url
    context_dict['category_name'] = category_name
    context_dict['form'] = form

    return render_to_response('pages/add_page.html', context_dict, context)
Example #31
0
def edit_page(request, slug=None):
    '''
    Edits a blog entry or a web page (creates one if needed)
    '''
    if is_authorized_user():
        page = None
        if request.method == 'GET':
            if slug:
                try:
                    page = memcache.get('/edit/%s/' %
                                        slug)  # @UndefinedVariable
                    if not page:
                        key = ndb.Key(urlsafe=slug)
                        page = key.get()

                    p = page.to_dict()

                    p['tags'] = ",".join(p['tags'])
                    p['key'] = page.key.id()
                    if p.get('published_at'):
                        p.pop('published_at')

                    form = PageForm(data=p)
                except:
                    tb = traceback.format_exc()
                    print tb
                    raise Http404
            else:
                form = PageForm(initial={'timestamp': int(time.time() * 1000)})
                form.fields['blog'].initial = True if request.GET.get(
                    'type', False) else False

        else:  # POST
            form = PageForm(data=request.POST, files=request.FILES)
            if form.data['save'] == 'delete':
                return delete_item(request, form)
            # else

            if form.is_valid():
                d = form.cleaned_data

                if d['key']:
                    # updating an existing entry
                    key = ndb.Key('Page', d['key'])
                    page = key.get()
                    mem_key = page.get_request_path(d.get('blog'))
                    memcache.delete(mem_key)  # @UndefinedVariable
                    memcache.delete(mem_key + "full")  # @UndefinedVariable
                    memcache.delete(mem_key + "mobile")  # @UndefinedVariable
                else:
                    page = Page()

                if d.get('link'):
                    page.link = d['link']
                else:
                    page.link = create_link(d['title'])

                page.content = d['content']
                page.title = d['title']
                page.draft = d.get('draft', False)
                page.blog = d.get('blog', False)
                page.image = d['image']
                page.timestamp = int(d['timestamp'])
                page.template = d.get('template') or 'blog-post.html'
                page.summary = d['summary'] or re.sub(
                    '\s{2,}', ' ', strip_tags(d['content']))[0:300]

                page.published_at = datetime.datetime.utcfromtimestamp(
                    int(d['timestamp']) / 1000)
                page.priority = d.get('priority', 1)

                tags = []
                for tag in d['tags'].split(','):
                    tags.append(tag.strip())
                    update_tag(tag.strip())

                page.tags = tags
                page.put()

                if page.draft == False and page.blog == True:
                    memcache.set('/', None)  # @UndefinedVariable
                    update_archive(page)

                if request.POST.get('save') == 'save and continue':
                    # we need to deal with the eventual consistency problem. So the
                    # page will be first pushed to the cache if we dont' do that we will see
                    # incorrect or missing data

                    memcache.set('/edit/%s/' % page.link,
                                 page)  # @UndefinedVariable

                    return HttpResponseRedirect('/edit/%s/' % page.link)
                else:
                    if page.blog:
                        return HttpResponseRedirect('/list/?type=blog')
                    else:
                        return HttpResponseRedirect('/list/')
            else:
                print form.errors
        return render(request, 'admin/edit-page.html', {
            'form': form,
            'page': page
        })
    else:
        return HttpResponse("<a href='{}'>login</a>".format(
            users.create_login_url('/list/')))