Merge branch 'fixsearch'

* fixsearch:
  Resolve test failures
  Bug with Search Entities - removing from form. Removed calls to page entity, there is none when in search controller action

Conflicts:
	javascript/DocumentationViewer.js
This commit is contained in:
Will Rossiter 2014-12-16 23:20:06 +13:00
commit d92fb96e0e
8 changed files with 118 additions and 19 deletions

View File

@ -121,11 +121,9 @@ class DocumentationManifest {
$path = $this->getRealPath($details['Path']);
$key = (isset($details['Key'])) ? $details['Key'] : $details['Title'];
if($path && !is_dir($path)) {
throw new Exception($path . ' is not a valid documentation directory');
} else if(!$path) {
return;
if(!$path || !is_dir($path)) {
throw new Exception($details['Path'] . ' is not a valid documentation directory');
}
$version = (isset($details['Version'])) ? $details['Version'] : '';

View File

@ -8,11 +8,11 @@ class DocumentationAdvancedSearchForm extends Form {
public function __construct($controller) {
$versions = $controller->getManifest()->getAllVersions();
$entities = $controller->getManifest()->getEntities();
$q = ($q = $controller->getSearchQuery()) ? $q->NoHTML() : "";
// klude to take an array of objects down to a simple map
$entities = $entities->map('Folder', 'Title');
$entities = $entities->map('Key', 'Title');
// if we haven't gone any search limit then we're searching everything
$searchedEntities = $controller->getSearchedEntities();
@ -27,21 +27,21 @@ class DocumentationAdvancedSearchForm extends Form {
$searchedVersions = $versions;
}
$fields = new FieldList(
new TextField('q', _t('DocumentationViewer.KEYWORDS', 'Keywords'), $q),
new CheckboxSetField('Entities', _t('DocumentationViewer.MODULES', 'Modules'), $entities, $searchedEntities),
new CheckboxSetField(
$fields = FieldList::create(
TextField::create('q', _t('DocumentationViewer.KEYWORDS', 'Keywords'), $q),
//CheckboxSetField::create('Entities', _t('DocumentationViewer.MODULES', 'Modules'), $entities, $searchedEntities),
CheckboxSetField::create(
'Versions',
_t('DocumentationViewer.VERSIONS', 'Versions'),
$versions, $searchedVersions
)
);
$actions = new FieldList(
new FormAction('results', _t('DocumentationViewer.SEARCH', 'Search'))
$actions = FieldList::create(
FormAction::create('results', _t('DocumentationViewer.SEARCH', 'Search'))
);
$required = new RequiredFields(array('Search'));
$required = RequiredFields::create(array('Search'));
parent::__construct(
$controller,

View File

@ -3,9 +3,16 @@
class DocumentationSearchForm extends Form {
public function __construct($controller) {
$versions = HiddenField::create(
'Versions',
_t('DocumentationViewer.VERSIONS', 'Versions'),
implode(',', $controller->getManifest()->getAllVersions())
);
$fields = new FieldList(
TextField::create('q', _t('DocumentationViewer.SEARCH', 'Search'), '')
->setAttribute('placeholder', _t('DocumentationViewer.SEARCH', 'Search'))
->setAttribute('placeholder', _t('DocumentationViewer.SEARCH', 'Search')),
$versions
);
$actions = new FieldList(

View File

@ -48,7 +48,7 @@ class RebuildLuceneDocsIndex extends BuildTask {
$index->removeReference();
}
catch (Zend_Search_Lucene_Exception $e) {
// user_error($e);
user_error($e);
}
try {
@ -61,7 +61,7 @@ class RebuildLuceneDocsIndex extends BuildTask {
// includes registration
$manifest = new DocumentationManifest(true);
$pages = $manifest->getPages();
if($pages) {
$count = 0;

View File

@ -186,8 +186,10 @@
return false;
}, 100));
};
});
*/
/** ---------------------------------------------
* LANGAUGE SELECTER
*

View File

@ -0,0 +1,47 @@
<!DOCTYPE html>
<html>
<% include DocumentationHead %>
<div id="masthead" <% if Versions %>class="has_versions"<% end_if %>>
<div class="wrapper">
<div class="doc-breadcrumbs">
<p>
<a class="menu-toggle"><img src="docsviewer/images/menu.png"></a>
<a class="breadcrumb" href="$BaseHref">Documentation</a>
<span>/</span>
<a class="breadcrumb current">Index</a>
</p>
</div>
</div>
</div>
<div class="wrapper">
<div id="layout" class="clearfix">
$Layout
<% include DocumentationFooter %>
</div>
</div>
<% if GoogleAnalyticsCode %>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '$GoogleAnalyticsCode', 'auto');
ga('send', 'pageview');
</script>
<% end_if %>
<% include DocumentationEnd %>
</html>

View File

@ -0,0 +1,47 @@
<!DOCTYPE html>
<html>
<% include DocumentationHead %>
<div id="masthead" <% if Versions %>class="has_versions"<% end_if %>>
<div class="wrapper">
<div class="doc-breadcrumbs">
<p>
<a class="menu-toggle"><img src="docsviewer/images/menu.png"></a>
<a class="breadcrumb" href="$BaseHref">Documentation</a>
<span>/</span>
<a class="breadcrumb current">Search</a>
</p>
</div>
</div>
</div>
<div class="wrapper">
<div id="layout" class="clearfix">
$Layout
<% include DocumentationFooter %>
</div>
</div>
<% if GoogleAnalyticsCode %>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '$GoogleAnalyticsCode', 'auto');
ga('send', 'pageview');
</script>
<% end_if %>
<% include DocumentationEnd %>
</html>

View File

@ -1,6 +1,4 @@
<div id="documentation_index" class="box">
<h1>Documentation Index</h1>
<div id="page-numbers">
<span>
<% loop $AllPages.GroupedBy(FirstLetter) %>