Skip to content
Snippets Groups Projects
Commit 83d7c2ec authored by megachriz's avatar megachriz Committed by Chris Leppanen
Browse files

Issue #2333009 by MegaChriz: Add importer validator for Views

parent 8e9bcf6e
No related branches found
No related tags found
No related merge requests found
......@@ -66,3 +66,4 @@ files[] = views/feeds_views_handler_field_log_message.inc
files[] = views/feeds_views_handler_field_severity.inc
files[] = views/feeds_views_handler_field_source.inc
files[] = views/feeds_views_handler_filter_severity.inc
files[] = views/feeds_views_plugin_argument_validate_feed_nid.inc
......@@ -319,3 +319,17 @@ function feeds_views_data() {
return $data;
}
/**
* Implements hook_views_plugins().
*/
function feeds_views_plugins() {
return array(
'argument validator' => array(
'feed_nid' => array(
'title' => t('Feed node id'),
'handler' => 'feeds_views_plugin_argument_validate_feed_nid',
),
),
);
}
......@@ -125,7 +125,6 @@ function feeds_views_default_views() {
$handler->display->display_options['arguments']['id']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['id']['summary_options']['items_per_page'] = '25';
$handler->display->display_options['arguments']['id']['specify_validation'] = TRUE;
$handler->display->display_options['arguments']['id']['validate']['fail'] = 'empty';
$handler->display->display_options['arguments']['id']['limit'] = '0';
/* Filter criterion: Feeds log: Feed node id */
$handler->display->display_options['filters']['feed_nid']['id'] = 'feed_nid';
......@@ -164,6 +163,8 @@ function feeds_views_default_views() {
$handler->display->display_options['arguments']['feed_nid']['summary']['number_of_records'] = '0';
$handler->display->display_options['arguments']['feed_nid']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['feed_nid']['summary_options']['items_per_page'] = '25';
$handler->display->display_options['arguments']['feed_nid']['specify_validation'] = TRUE;
$handler->display->display_options['arguments']['feed_nid']['validate']['type'] = 'feed_nid';
$handler->display->display_options['defaults']['filter_groups'] = FALSE;
$handler->display->display_options['defaults']['filters'] = FALSE;
/* Filter criterion: Feeds log: Severity */
......@@ -175,7 +176,6 @@ function feeds_views_default_views() {
$handler->display->display_options['filters']['severity']['expose']['label'] = 'Severity';
$handler->display->display_options['filters']['severity']['expose']['operator'] = 'severity_op';
$handler->display->display_options['filters']['severity']['expose']['identifier'] = 'severity';
$handler->display->display_options['path'] = 'node/%/log';
$handler->display->display_options['menu']['type'] = 'tab';
$handler->display->display_options['menu']['title'] = 'Log';
......@@ -240,7 +240,6 @@ function feeds_views_default_views() {
$handler->display->display_options['filters']['severity']['expose']['label'] = 'Severity';
$handler->display->display_options['filters']['severity']['expose']['operator'] = 'severity_op';
$handler->display->display_options['filters']['severity']['expose']['identifier'] = 'severity';
$handler->display->display_options['path'] = 'admin/reports/feeds';
$handler->display->display_options['menu']['type'] = 'normal';
$handler->display->display_options['menu']['title'] = 'Feeds log';
......@@ -248,6 +247,33 @@ function feeds_views_default_views() {
$handler->display->display_options['menu']['weight'] = '0';
$handler->display->display_options['menu']['name'] = 'management';
$handler->display->display_options['menu']['context'] = 0;
$translatables['feeds_log'] = array(
t('Defaults'),
t('more'),
t('Apply'),
t('Reset'),
t('Sort by'),
t('Asc'),
t('Desc'),
t('Items per page'),
t('- All -'),
t('Offset'),
t('« first'),
t('‹ previous'),
t('next ›'),
t('last »'),
t('There are no log messages.'),
t('Log time'),
t('Request time'),
t('Message'),
t('Severity'),
t('Standalone importer page'),
t('Feed node page'),
t('All entries'),
t('Feeds log'),
t('Feed node'),
t('Importer'),
);
$views[$view->name] = $view;
......
<?php
/**
* @file
* Contains the 'Feeds node id' argument validator plugin.
*/
/**
* Validates whether an argument is a valid Feed node.
*/
class feeds_views_plugin_argument_validate_feed_nid extends views_plugin_argument_validate {
/**
* Validates if argument is a valid Feed node.
*/
public function validate_argument($argument) {
$node = node_load($argument);
if ($node) {
$importer_id = feeds_get_importer_id($node->type);
if ($importer_id) {
return TRUE;
}
}
return FALSE;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment