Added ticket 90, propose to create a new documentation page when it doesn't exists.
This commit is contained in:
parent
a36e89ac2e
commit
60bc06f5c3
@ -54,10 +54,11 @@ Add your content here. Format your content with:
|
||||
or $this->user->hasPerm('IDF.project-member', $this->project)) {
|
||||
$this->show_full = true;
|
||||
}
|
||||
$initname = (!empty($extra['name'])) ? $extra['name'] : __('PageName');
|
||||
$this->fields['title'] = new Pluf_Form_Field_Varchar(
|
||||
array('required' => true,
|
||||
'label' => __('Page title'),
|
||||
'initial' => __('PageName'),
|
||||
'initial' => $initname,
|
||||
'widget_attrs' => array(
|
||||
'maxlength' => 200,
|
||||
'size' => 67,
|
||||
|
@ -53,9 +53,13 @@ class IDF_Template_Markdown extends Pluf_Template_Tag
|
||||
$sql = new Pluf_SQL('project=%s AND title=%s',
|
||||
array($this->project->id, $m[1]));
|
||||
$pages = Pluf::factory('IDF_WikiPage')->getList(array('filter'=>$sql->gen()));
|
||||
if ($pages->count() != 1) {
|
||||
if ($pages->count() != 1 and !$this->request->rights['hasWikiAccess']) {
|
||||
return $m[0];
|
||||
}
|
||||
if ($pages->count() != 1 and $this->request->rights['hasWikiAccess']
|
||||
and !$this->request->user->isAnonymous()) {
|
||||
return '<img style="vertical-align: text-bottom;" alt=" " src="'.Pluf::f('url_media').'/idf/img/add.png" /><a href="'.Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::create', array($this->project->shortname), array('name'=>$m[1])).'" title="'.__('Create this documentation page').'">'.$m[1].'</a>';
|
||||
}
|
||||
if (!$this->request->rights['hasWikiAccess']) {
|
||||
return $m[1];
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ class IDF_Template_MarkdownPrefilter extends Pluf_Text_HTML_Filter
|
||||
);
|
||||
|
||||
public $allowed = array(
|
||||
'img' => array('src', 'class', 'alt', 'height', 'width'),
|
||||
'img' => array('src', 'class', 'alt', 'height', 'width', 'style'),
|
||||
'strong' => array(),
|
||||
'em' => array(),
|
||||
'b' => array(),
|
||||
@ -98,6 +98,9 @@ class IDF_Template_MarkdownPrefilter extends Pluf_Text_HTML_Filter
|
||||
'ul' => array(),
|
||||
'ol' => array(),
|
||||
'li' => array(),
|
||||
'dl' => array(),
|
||||
'dt' => array(),
|
||||
'dd' => array(),
|
||||
'p' => array('align', 'class'),
|
||||
'div' => array('align', 'class'),
|
||||
'br' => array(),
|
||||
|
@ -56,6 +56,7 @@ class IDF_Views_Wiki
|
||||
$sql .= ' AND id NOT IN ('.implode(',', $ids).')';
|
||||
}
|
||||
$pag->forced_where = new Pluf_SQL($sql, array($prj->id));
|
||||
$pag->extra_classes = array('right', '', 'a-c');
|
||||
$list_display = array(
|
||||
'title' => __('Page Title'),
|
||||
array('summary', 'IDF_Views_Wiki_SummaryAndLabels', __('Summary')),
|
||||
@ -102,6 +103,7 @@ class IDF_Views_Wiki
|
||||
$pag->summary = __('This table shows the pages found.');
|
||||
$pag->action = array('IDF_Views_Wiki::search', array($prj->shortname), array('q'=> $q));
|
||||
$pag->edit_action = array('IDF_Views_Wiki::view', 'shortname', 'title');
|
||||
$pag->extra_classes = array('right', '', 'a-c');
|
||||
$list_display = array(
|
||||
'title' => __('Page Title'),
|
||||
array('summary', 'IDF_Views_Wiki_SummaryAndLabels', __('Summary')),
|
||||
@ -190,9 +192,12 @@ class IDF_Views_Wiki
|
||||
$preview = $request->POST['content'];
|
||||
}
|
||||
} else {
|
||||
$pagename = (isset($request->GET['name'])) ?
|
||||
$request->GET['name'] : '';
|
||||
$form = new IDF_Form_WikiCreate(null,
|
||||
array('project' => $prj,
|
||||
'user' => $request->user));
|
||||
array('name' => $pagename,
|
||||
'project' => $prj,
|
||||
'user' => $request->user));
|
||||
}
|
||||
return Pluf_Shortcuts_RenderToResponse('idf/wiki/create.html',
|
||||
array(
|
||||
|
Loading…
Reference in New Issue
Block a user