final test before release v1.0
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
from pyramid.view import view_config
|
||||
from pyramid.httpexceptions import HTTPNotFound, HTTPFound
|
||||
from ..models.blog_record import BlogRecord
|
||||
from ..models.blog_record import BlogRecord, Tags
|
||||
from ..services.blog_record import BlogRecordService
|
||||
from ..forms import BlogCreateForm, BlogUpdateForm, BlogSearchForm
|
||||
from ..forms import BlogCreateForm, BlogUpdateForm, BlogSearchForm, TagForm
|
||||
import markdown
|
||||
import datetime #<- will be used to set default dates on models
|
||||
|
||||
@@ -35,13 +35,16 @@ def blog_edit(request):
|
||||
blog_id = request.matchdict['id']
|
||||
url = request.route_url('blog_edit',id=blog_id)
|
||||
|
||||
# get the list of tags
|
||||
tags = BlogRecordService.get_tags(request)
|
||||
|
||||
if blog_id == '0':
|
||||
# create a new post
|
||||
entry = BlogRecord()
|
||||
# set default values
|
||||
entry.tag = 'pyramid'
|
||||
entry.topic = 'blog'
|
||||
form = BlogCreateForm(request.POST, entry)
|
||||
form.tag.choices = [(row.tag, row.tag) for row in tags]
|
||||
page_title = 'Nouvelle page'
|
||||
else:
|
||||
# modify post
|
||||
entry = BlogRecordService.by_id(request, blog_id)
|
||||
@@ -49,26 +52,39 @@ def blog_edit(request):
|
||||
request.session.flash(u"Page non trouvée : %s" % blog_id, 'warning')
|
||||
return HTTPFound(location=request.route_url('home'))
|
||||
form = BlogUpdateForm(request.POST, entry)
|
||||
form.tag.choices = [(row.tag, row.tag) for row in tags]
|
||||
page_title = 'Modifier : ' + entry.title
|
||||
|
||||
if 'form.submitted' in request.params and form.validate():
|
||||
if blog_id == '0':
|
||||
form.populate_obj(entry)
|
||||
import pdb;pdb.set_trace()
|
||||
# interdire le car '/' dans le titre à cause du slug
|
||||
entry.title = entry.title.replace('/','.')
|
||||
entry.creator = request.authenticated_userid
|
||||
entry.editor = entry.creator
|
||||
request.dbsession.add(entry)
|
||||
|
||||
return HTTPFound(location=request.route_url('home'))
|
||||
else:
|
||||
del form.id # SECURITY: prevent overwriting of primary key
|
||||
form.populate_obj(entry)
|
||||
# interdire le car '/' dans le titre à cause du slug
|
||||
entry.title = entry.title.replace('/','.')
|
||||
entry.edited = datetime.datetime.now()
|
||||
|
||||
entry.editor = request.authenticated_userid
|
||||
return HTTPFound(location=request.route_url('blog', id=entry.id, slug=entry.slug))
|
||||
|
||||
if 'form.deleted' in request.params:
|
||||
BlogRecordService.delete(request, blog_id)
|
||||
request.session.flash("La page a été supprimée avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('home'))
|
||||
|
||||
return {
|
||||
'page_title': entry.title,
|
||||
'page_title': page_title,
|
||||
'url': url,
|
||||
'form': form,
|
||||
}
|
||||
'blog_id': blog_id,
|
||||
'entry': entry, }
|
||||
|
||||
|
||||
@view_config(route_name='blog_search',
|
||||
@@ -90,3 +106,55 @@ def blog_search(request):
|
||||
'criteria': criteria,
|
||||
}
|
||||
|
||||
@view_config(route_name='tags', renderer='cao_blogr:templates/tags.jinja2', permission='view')
|
||||
def tags(request):
|
||||
|
||||
# get the list of tags of this topic
|
||||
tags = BlogRecordService.get_tags(request)
|
||||
|
||||
return {
|
||||
'page_title': 'Tags',
|
||||
'tags': tags,
|
||||
}
|
||||
|
||||
@view_config(route_name='tag_edit', renderer='cao_blogr:templates/tag_edit.jinja2', permission='view')
|
||||
def tag_edit(request):
|
||||
# get tag parameters from request
|
||||
tag_id = request.matchdict['id']
|
||||
url = request.route_url('tag_edit', id=tag_id)
|
||||
|
||||
if tag_id == '0':
|
||||
# create a new tag
|
||||
entry = Tags()
|
||||
form = TagForm(request.POST, entry)
|
||||
page_title = "Nouveau Tag"
|
||||
|
||||
else:
|
||||
# modify post
|
||||
entry = BlogRecordService.get_tags_byId(request, tag_id)
|
||||
if not entry:
|
||||
request.session.flash(u"Tag non trouvé : %s" % tag_id, 'warning')
|
||||
return HTTPFound(location=request.route_url('tags'))
|
||||
form = TagForm(request.POST, entry)
|
||||
page_title = entry.tag
|
||||
|
||||
if 'form.submitted' in request.params and form.validate():
|
||||
if tag_id == '0':
|
||||
form.populate_obj(entry)
|
||||
request.dbsession.add(entry)
|
||||
return HTTPFound(location=request.route_url('tags'))
|
||||
else:
|
||||
del form.id # SECURITY: prevent overwriting of primary key
|
||||
form.populate_obj(entry)
|
||||
return HTTPFound(location=request.route_url('tags'))
|
||||
|
||||
if 'form.deleted' in request.params:
|
||||
BlogRecordService.tag_delete(request, entry.id)
|
||||
request.session.flash("La fiche a été supprimée avec succès.", 'success')
|
||||
return HTTPFound(location=request.route_url('tags'))
|
||||
|
||||
return {
|
||||
'page_title': page_title,
|
||||
'url': url,
|
||||
'form': form,
|
||||
}
|
||||
|
||||
@@ -62,8 +62,9 @@ def login(request):
|
||||
|
||||
@view_config(route_name='logout', renderer='string')
|
||||
def logout(request):
|
||||
username = request.authenticated_userid
|
||||
headers = forget(request)
|
||||
request.session.flash('Vous avez bien été déconnecté.', 'success')
|
||||
request.session.flash('Au revoir ' + username + ' !', 'success')
|
||||
return HTTPFound(location=request.route_url('home'), headers=headers)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user