From ca63b9bbca6113cd364413d950baf3959a65165d Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Sat, 12 Oct 2013 13:24:57 +0200 Subject: [PATCH] updated to 7.x-2.x-dev (2013-Mar-04) --- CHANGELOG.txt | 70 ------------- LICENSE.txt | 0 README.txt | 9 +- feedback-entry.tpl.php | 0 feedback-form-display.tpl.php | 0 feedback.admin.inc | 74 +++++++++++--- feedback.admin.js | 16 +++ feedback.api.php | 0 feedback.controller.inc | 0 feedback.css | 0 feedback.info | 4 +- feedback.js | 13 --- feedback.module | 96 ++++++++++-------- images/throbber.gif | Bin tests/feedback.test | 0 tests/feedback_test.info | 13 --- tests/feedback_test.install | 7 -- tests/feedback_test.module | 7 -- views/feedback.views.inc | 0 views/feedback.views_default.inc | 51 +++++++--- .../feedback_handler_field_feedback_link.inc | 0 ...ack_handler_field_feedback_link_delete.inc | 13 +++ ...dback_handler_field_feedback_link_edit.inc | 13 +++ 23 files changed, 201 insertions(+), 185 deletions(-) delete mode 100644 CHANGELOG.txt mode change 100644 => 100755 LICENSE.txt mode change 100644 => 100755 README.txt mode change 100644 => 100755 feedback-entry.tpl.php mode change 100644 => 100755 feedback-form-display.tpl.php mode change 100644 => 100755 feedback.admin.inc create mode 100755 feedback.admin.js mode change 100644 => 100755 feedback.api.php mode change 100644 => 100755 feedback.controller.inc mode change 100644 => 100755 feedback.css mode change 100644 => 100755 feedback.info mode change 100644 => 100755 feedback.js mode change 100644 => 100755 feedback.module mode change 100644 => 100755 images/throbber.gif mode change 100644 => 100755 tests/feedback.test delete mode 100644 tests/feedback_test.info delete mode 100644 tests/feedback_test.install delete mode 100644 tests/feedback_test.module mode change 100644 => 100755 views/feedback.views.inc mode change 100644 => 100755 views/feedback.views_default.inc mode change 100644 => 100755 views/feedback_handler_field_feedback_link.inc create mode 100755 views/feedback_handler_field_feedback_link_delete.inc create mode 100755 views/feedback_handler_field_feedback_link_edit.inc diff --git a/CHANGELOG.txt b/CHANGELOG.txt deleted file mode 100644 index 7a4c1b7e..00000000 --- a/CHANGELOG.txt +++ /dev/null @@ -1,70 +0,0 @@ - -Feedback 7.x-2.x, xxxx-xx-xx ----------------------------- -#1027786 by Jody Lynn, sun: Removed soft-dependency on Block module. -#323506 by Jody Lynn, tim.plunkett | zilla: Added Allow to delete items. -#470316 by Jody Lynn | smk-ka: Added Visibility settings. -#1014726 by Jody Lynn: Changed Add constants for feedback status codes. -#775322 by Jody Lynn: Mollom integration -#351698 by Jody Lynn and sun: feedback is now a fieldable entity! -#1086552 by Dru-p, Jody Lynn, sun: prevent PHP notice -by Jody Lynn: spelling error in comment -by The Great Git Migration: Stripping CVS keywords -#305744 by sun: Replaced custom JS form submissions with AJAX framework. -by sun: Updated for new resizable textarea markup. -#402438 by sun: Fixed minor CRUD API glitches and cleaned up code. -#402438 by Jody Lynn, sun: Added proper CRUD API functions and hooks. -by sun: Added basic tests. -#1011152 by sun, Jody Lynn: Removed translations directory. -#961674 by pmorel, sun: Updated for various D7 API changes. -by sun: Ported to Drupal 7. - - -Feedback 6.x-2.x, xxxx-xx-xx ----------------------------- -#730582 by q0rban, Michel Poulain, sun: Fixed styling in WebKit browsers. -#387818 by antgiant: Fixed width of feedback textarea. -#688306 by Berdir: Fixed compatibility with PHP 5.3. - - -Feedback 6.x-2.1, 2010-01-27 ----------------------------- -#690856 by sun (SA-2010-011): Fixed un-escaped user agent string. -by sun: Fixed JS behaviors are executed more than once. -#636158 by smk-ka: Changed administrative page callbacks to be located in admin - include. -#370223 by sun, Jeff Burnz: Fixed compatibility with custom block markup. -#341667 by sun: Fixed IE6 does not support position: fixed. -#409590 by sun: Added storage and output of absolute URL for feedback messages. -#378878 by jcruz, sun: Added display of useragent if Browscap is not installed. -#364388 by xibun: Added French translation. -#357247 by cassus: Added Hungarian translation. -#350356 by sun: Fixed README.txt. -#299847 by sun: Fixed pager not properly generated for admin list of feedbacks. -#302358 by sun: Fixed upgrade path to Drupal 6.x. - - -Feedback 6.x-2.0, 2008-10-19 ----------------------------- -#322135 by sun: Fixed FAPI callbacks, DB query arguments, and PHP notices. -#285972 by wikidkaka, sun: Fixed compatibility with Zen Classic theme. -#302358 by sun: Removed dependency on jQuery Update module. -#302358 by sun: Ported Feedback to Drupal 6.x. -#305713 by eliosh: Added Italian translation. - - -Feedback 5.x-2.0, 2008-07-16 ----------------------------- -#279636 by smk-ka: Added BrowsCap support to record and output user agents. -#279636 by sun: Usability: Added AJAX throbber to indicate form submission. -#279636 by sun: Added administrative user interface form to allow marking - feedback entries as processed. -#279636 by sun: Added log of previous feedbacks to feedback form to prevent - duplicates. Uses 'masked' paths (much like D6) to include all feedbacks with - the same path pattern like the current page (except of node/%). -#279636 by sun: Fixed compatibility with (hopefully) all themes. -#279636 by sun: Fixed compatibility with Bluemarine, Marvin, and Pushbutton - themes. -#279636 by sun: Fixed compatibility with Garland theme. -Initial commit of Feedback 2.x. - diff --git a/LICENSE.txt b/LICENSE.txt old mode 100644 new mode 100755 diff --git a/README.txt b/README.txt old mode 100644 new mode 100755 index 54db81c6..25830ccd --- a/README.txt +++ b/README.txt @@ -29,15 +29,16 @@ To submit bug reports and feature suggestions, or to track changes: -- CONFIGURATION -- * Configure user permissions in Administration » People » Permissions » -Feedback. -* Configure fields at Administration » Configuration » User interface » -Feedback + Feedback. + +* Configure fields at Administration » Configuration » User interface » + Feedback. -- USAGE -- * To view all feedback messages, go to Administration » Reports » Feedback -messages + messages. -- CONTACT -- diff --git a/feedback-entry.tpl.php b/feedback-entry.tpl.php old mode 100644 new mode 100755 diff --git a/feedback-form-display.tpl.php b/feedback-form-display.tpl.php old mode 100644 new mode 100755 diff --git a/feedback.admin.inc b/feedback.admin.inc old mode 100644 new mode 100755 index cf819130..f6424ce4 --- a/feedback.admin.inc +++ b/feedback.admin.inc @@ -9,6 +9,8 @@ * Build a (sortable) form containing a checkbox for each feedback entry. */ function feedback_admin_view_form($form, &$form_state) { + $form['#attached']['js'][] = drupal_get_path('module', 'feedback') . '/feedback.admin.js'; + $status_headings = array( FEEDBACK_OPEN => t('Open feedback messages'), FEEDBACK_PROCESSED => t('Processed feedback messages'), @@ -57,7 +59,7 @@ function feedback_admin_view_form($form, &$form_state) { $form['feedback-messages'][$status][$fid]['location'] = array('#markup' => l(truncate_utf8($entry->location, 32, FALSE, TRUE), $entry->url)); $form['feedback-messages'][$status][$fid]['date'] = array('#markup' => format_date($entry->timestamp, 'small')); $form['feedback-messages'][$status][$fid]['user'] = array('#markup' => check_plain(format_username($entry))); - $form['feedback-messages'][$status][$fid]['message'] = feedback_format_message($entry); + $form['feedback-messages'][$status][$fid]['message'] = feedback_build_content($entry, 'teaser'); $form['feedback-messages'][$status][$fid]['operations'] = array( '#theme' => 'links', '#links' => array( @@ -206,6 +208,9 @@ function feedback_entry_form($form, &$form_state, $entry) { /** * Form submit callback for entry edit form. + * + * @todo Duplicates feedback_form_submit(). Add all default entity properties + * as #type 'value' to feedback_form() and merge the two submit handlers. */ function feedback_entry_form_submit(&$form, &$form_state) { $entry = feedback_load($form['#fid']); @@ -248,34 +253,35 @@ function feedback_admin_settings_form($form, &$form_state) { } /** - * Generate an array for rendering the given entry. + * Generate a render array for viewing a feedback entry. * * @param $entry * A feedback entry object. * @param $view_mode - * View mode, e.g. 'full'. + * View mode, e.g. 'full', 'teaser'... * @param $langcode * (optional) A language code to use for rendering. Defaults to the global * content language of the current request. * * @return * An array as expected by drupal_render(). + * + * @todo This is an API function; move into feedback.module. */ function feedback_view($entry, $view_mode = 'full', $langcode = NULL) { if (!isset($langcode)) { $langcode = $GLOBALS['language_content']->language; } - // Retrieve all entry fields and attach to $entry->content. + // Populate $entry->content with a render() array. feedback_build_content($entry, $view_mode, $langcode); $build = $entry->content; - // We don't need duplicate rendering info in entry->content. unset($entry->content); $build += array( '#theme' => 'feedback_entry', - '#entry' => $entry, + '#feedback' => $entry, '#view_mode' => $view_mode, '#language' => $langcode, ); @@ -288,26 +294,68 @@ function feedback_view($entry, $view_mode = 'full', $langcode = NULL) { } /** - * Builds a structured array representing the feedback message content. + * Builds a structured array representing the feedback entry's content. * * @param $entry * A feedback entry object. * @param $view_mode - * View mode, e.g. 'full'. + * View mode, e.g. 'full', 'teaser'... * @param $langcode * (optional) A language code to use for rendering. Defaults to the global * content language of the current request. + * + * @todo This is an API function; move into feedback.module. */ function feedback_build_content($entry, $view_mode = 'full', $langcode = NULL) { if (!isset($langcode)) { $langcode = $GLOBALS['language_content']->language; } + // Remove previously built content, if exists. + $entry->content = array(); + + // Allow modules to change the view mode. + $context = array( + 'entity_type' => 'feedback', + 'entity' => $entry, + 'langcode' => $langcode, + ); + drupal_alter('entity_view_mode', $view_mode, $context); + + $entry->content['message'] = array( + '#markup' => check_plain($entry->message), + ); + if (!empty($entry->useragent)) { + $entry->content['browser'] = array( + '#theme' => 'container', + '#attributes' => array('class' => array('browserinfo', 'description')), + ); + if (module_exists('browscap')) { + $browserinfo = browscap_get_browser($entry->useragent); + // Browscap returns useragent but not always parent info. + $browser = (isset($browserinfo['parent']) ? $browserinfo['parent'] . ' / ' . $browserinfo['platform'] : $browserinfo['useragent']); + $entry->content['browser']['#markup'] = check_plain($browser); + } + else { + $entry->content['browser']['#markup'] = check_plain($entry->useragent); + } + } // Build fields content. - field_attach_prepare_view('feedback', array($entry->fid => $entry), $view_mode); - entity_prepare_view('feedback', array($entry->fid => $entry)); - $entry->content = field_attach_view('feedback', $entry, $view_mode, $langcode); + field_attach_prepare_view('feedback', array($entry->fid => $entry), $view_mode, $langcode); + entity_prepare_view('feedback', array($entry->fid => $entry), $langcode); + $entry->content += field_attach_view('feedback', $entry, $view_mode, $langcode); + $entry->content['links'] = array( + '#theme' => 'links__feedback', + '#pre_render' => array('drupal_pre_render_links'), + '#attributes' => array('class' => array('links', 'inline')), + ); + $uri = entity_uri('feedback', $entry); + if ($uri['path'] != $_GET['q'] && arg(0) != 'admin') { + $entry->content['links']['#links']['view'] = array('title' => t('view'), 'href' => $uri['path']); + } + + // Allow modules to make their own additions to the entry. module_invoke_all('feedback_view', $entry, $view_mode, $langcode); module_invoke_all('entity_view', $entry, 'feedback', $view_mode, $langcode); } @@ -324,8 +372,7 @@ function template_preprocess_feedback_entry(&$variables) { foreach (element_children($variables['elements']) as $key) { $variables['content'][$key] = $variables['elements'][$key]; } - - $entry = $variables['elements']['#entry']; + $entry = $variables['elements']['#feedback']; // Preprocess fields. field_attach_preprocess('feedback', $entry, $variables['elements'], $variables); @@ -333,7 +380,6 @@ function template_preprocess_feedback_entry(&$variables) { $variables['location'] = l($entry->location, $entry->url); $variables['date'] = format_date($entry->timestamp, 'small'); $variables['account'] = check_plain(format_username($entry)); - $variables['message'] = feedback_format_message($entry); } /** diff --git a/feedback.admin.js b/feedback.admin.js new file mode 100755 index 00000000..bfcd736a --- /dev/null +++ b/feedback.admin.js @@ -0,0 +1,16 @@ +(function ($) { + +/** + * Attach auto-submit to admin view form. + */ +Drupal.behaviors.feedbackAdminForm = { + attach: function (context) { + $('#feedback-admin-view-form', context).once('feedback', function () { + $(this).find('fieldset.feedback-messages :input[type="checkbox"]').click(function () { + this.form.submit(); + }); + }); + } +}; + +})(jQuery); diff --git a/feedback.api.php b/feedback.api.php old mode 100644 new mode 100755 diff --git a/feedback.controller.inc b/feedback.controller.inc old mode 100644 new mode 100755 diff --git a/feedback.css b/feedback.css old mode 100644 new mode 100755 diff --git a/feedback.info b/feedback.info old mode 100644 new mode 100755 index 6ecaee0f..2edfa5b3 --- a/feedback.info +++ b/feedback.info @@ -9,9 +9,9 @@ files[] = views/feedback_handler_field_feedback_link_delete.inc files[] = views/feedback_handler_field_feedback_link_edit.inc files[] = tests/feedback.test -; Information added by drupal.org packaging script on 2012-11-10 +; Information added by drupal.org packaging script on 2013-03-04 version = "7.x-2.x-dev" core = "7.x" project = "feedback" -datestamp = "1352509461" +datestamp = "1362358407" diff --git a/feedback.js b/feedback.js old mode 100644 new mode 100755 index 49549c89..1571ea67 --- a/feedback.js +++ b/feedback.js @@ -1,18 +1,5 @@ (function ($) { -/** - * Attach auto-submit to admin view form. - */ -Drupal.behaviors.feedbackAdminForm = { - attach: function (context) { - $('#feedback-admin-view-form', context).once('feedback', function () { - $(this).find('fieldset.feedback-messages :input[type="checkbox"]').click(function () { - this.form.submit(); - }); - }); - } -}; - /** * Attach collapse behavior to the feedback form block. */ diff --git a/feedback.module b/feedback.module old mode 100644 new mode 100755 index 9763575d..a4acfc09 --- a/feedback.module +++ b/feedback.module @@ -63,6 +63,14 @@ function feedback_entity_info() { 'label' => t('Full feedback entry'), 'custom settings' => FALSE, ), + 'teaser' => array( + 'label' => t('Teaser'), + 'custom settings' => FALSE, + ), + 'widget' => array( + 'label' => t('Widget'), + 'custom settings' => FALSE, + ), ), // Disable Metatags (metatag) module's entity form additions. 'metatags' => FALSE, @@ -72,6 +80,49 @@ function feedback_entity_info() { return $return; } +/** + * Implements hook_field_extra_fields(). + */ +function feedback_field_extra_fields() { + $extras['feedback']['feedback']['form']['help'] = array( + 'label' => t('Help'), + 'description' => t('Feedback submission guidelines'), + 'weight' => -10, + ); + $extras['feedback']['feedback']['form']['messages'] = array( + 'label' => t('Entries'), + 'description' => t('Existing feedback entries for the current page'), + 'weight' => -5, + ); + $extras['feedback']['feedback']['form']['message'] = array( + 'label' => t('Message'), + 'description' => t('Feedback message form text field'), + 'weight' => 0, + ); + + $extras['feedback']['feedback']['display']['location'] = array( + 'label' => t('Location'), + 'description' => t('The URL of the page the message was submitted on'), + 'weight' => -15, + ); + $extras['feedback']['feedback']['display']['date'] = array( + 'label' => t('Date'), + 'description' => t('The submission date of the message'), + 'weight' => -10, + ); + $extras['feedback']['feedback']['display']['user'] = array( + 'label' => t('User'), + 'description' => t('The name of the user who submitted the message'), + 'weight' => -5, + ); + $extras['feedback']['feedback']['display']['message'] = array( + 'label' => t('Message'), + 'description' => t('The main feedback message'), + 'weight' => 0, + ); + return $extras; +} + /** * Entity uri callback. */ @@ -157,17 +208,6 @@ function feedback_menu() { return $items; } -/** - * Implements hook_init(). - */ -function feedback_init() { - if (user_access('access feedback form')) { - $path = drupal_get_path('module', 'feedback'); - drupal_add_css($path . '/feedback.css'); - drupal_add_js($path . '/feedback.js'); - } -} - /** * Implements hook_page_build(). */ @@ -178,6 +218,9 @@ function feedback_page_build(&$page) { '#title' => t('Feedback'), '#content' => drupal_get_form('feedback_form'), ); + $path = drupal_get_path('module', 'feedback'); + $page['page_bottom']['feedback']['#attached']['css'][] = $path . '/feedback.css'; + $page['page_bottom']['feedback']['#attached']['js'][] = $path . '/feedback.js'; } } @@ -238,6 +281,7 @@ function feedback_form($form, &$form_state) { $feedbacks = feedback_load_multiple(array(), array('status' => FEEDBACK_OPEN, 'location' => $_GET['q'])); } if ($feedbacks) { + form_load_include($form_state, 'inc', 'feedback', 'feedback.admin'); $form['messages'] = array( '#prefix' => '
', '#suffix' => '
', @@ -247,7 +291,7 @@ function feedback_form($form, &$form_state) { $form['messages'][$fid]['submitted'] = array('#markup' => t('@feedback-author !feedback-date:', array('@feedback-author' => format_username($feedback), '!feedback-date' => format_date($feedback->timestamp, 'small')))); $form['messages'][$fid]['submitted']['#prefix'] = '
'; $form['messages'][$fid]['submitted']['#suffix'] = '
'; - $form['messages'][$fid]['body'] = feedback_format_message($feedback); + $form['messages'][$fid]['body'] = feedback_build_content($feedback, 'widget'); $form['messages'][$fid]['body']['#prefix'] = '
'; $form['messages'][$fid]['body']['#suffix'] = '
'; } @@ -340,34 +384,6 @@ function feedback_form_ajax_callback($form, &$form_state) { return $build; } -/** - * Returns HTML for a feedback entry. - * - * @param $entry - * A feedback object. - */ -function feedback_format_message($entry) { - $message = check_plain($entry->message); - if (!empty($entry->useragent)) { - if (module_exists('browscap')) { - $browserinfo = browscap_get_browser($entry->useragent); - // Browscap returns useragent but not always parent info. - $browser = (isset($browserinfo['parent']) ? $browserinfo['parent'] . ' / ' . $browserinfo['platform'] : $browserinfo['useragent']); - $message .= '
(' . check_plain($browser) . ')
'; - } - else { - $message .= '
(' . check_plain($entry->useragent) . ')
'; - } - } - $elements['message'] = array('#markup' => $message); - $uri = entity_uri('feedback', $entry); - if ($uri['path'] != $_GET['q']) { - $links['view'] = array('title' => t('view'), 'href' => $uri['path']); - $elements['links'] = array('#theme' => 'links__feedback_message', '#links' => $links); - } - return $elements; -} - /** * Loads a feedback entry from the database. * diff --git a/images/throbber.gif b/images/throbber.gif old mode 100644 new mode 100755 diff --git a/tests/feedback.test b/tests/feedback.test old mode 100644 new mode 100755 diff --git a/tests/feedback_test.info b/tests/feedback_test.info deleted file mode 100644 index 22f76be0..00000000 --- a/tests/feedback_test.info +++ /dev/null @@ -1,13 +0,0 @@ -name = Feedback testing -description = Tests Feedback module functionality. Do not enable. -core = 7.x -package = Testing -hidden = TRUE -dependencies[] = feedback - -; Information added by drupal.org packaging script on 2012-11-10 -version = "7.x-2.x-dev" -core = "7.x" -project = "feedback" -datestamp = "1352509461" - diff --git a/tests/feedback_test.install b/tests/feedback_test.install deleted file mode 100644 index a1f58897..00000000 --- a/tests/feedback_test.install +++ /dev/null @@ -1,7 +0,0 @@ - array( 'align' => '', - 'separator' => '', + 'separator' => ' ', 'empty_column' => 0, ), 'useragent' => array( @@ -102,7 +102,9 @@ function feedback_views_default_views() { $handler->display->display_options['empty']['area']['id'] = 'area'; $handler->display->display_options['empty']['area']['table'] = 'views'; $handler->display->display_options['empty']['area']['field'] = 'area'; - $handler->display->display_options['empty']['area']['content'] = 'There are no feedback entries.'; + $handler->display->display_options['empty']['area']['empty'] = TRUE; + $handler->display->display_options['empty']['area']['content'] = 'There are no open feedback entries.'; + $handler->display->display_options['empty']['area']['format'] = 'filtered_html'; /* Relationship: Feedback: User Id */ $handler->display->display_options['relationships']['uid']['id'] = 'uid'; $handler->display->display_options['relationships']['uid']['table'] = 'feedback'; @@ -140,18 +142,18 @@ function feedback_views_default_views() { $handler->display->display_options['fields']['view_entry']['field'] = 'view_entry'; $handler->display->display_options['fields']['view_entry']['label'] = ''; $handler->display->display_options['fields']['view_entry']['element_label_colon'] = FALSE; - /* Field: Feedback: Delete entry */ - $handler->display->display_options['fields']['view_entry_delete']['id'] = 'view_entry_delete'; - $handler->display->display_options['fields']['view_entry_delete']['table'] = 'feedback'; - $handler->display->display_options['fields']['view_entry_delete']['field'] = 'view_entry_delete'; - $handler->display->display_options['fields']['view_entry_delete']['label'] = ''; - $handler->display->display_options['fields']['view_entry_delete']['element_label_colon'] = FALSE; /* Field: Feedback: Edit entry */ $handler->display->display_options['fields']['view_entry_edit']['id'] = 'view_entry_edit'; $handler->display->display_options['fields']['view_entry_edit']['table'] = 'feedback'; $handler->display->display_options['fields']['view_entry_edit']['field'] = 'view_entry_edit'; $handler->display->display_options['fields']['view_entry_edit']['label'] = ''; $handler->display->display_options['fields']['view_entry_edit']['element_label_colon'] = FALSE; + /* Field: Feedback: Delete entry */ + $handler->display->display_options['fields']['view_entry_delete']['id'] = 'view_entry_delete'; + $handler->display->display_options['fields']['view_entry_delete']['table'] = 'feedback'; + $handler->display->display_options['fields']['view_entry_delete']['field'] = 'view_entry_delete'; + $handler->display->display_options['fields']['view_entry_delete']['label'] = ''; + $handler->display->display_options['fields']['view_entry_delete']['element_label_colon'] = FALSE; /* Sort criterion: Feedback: Timestamp */ $handler->display->display_options['sorts']['timestamp']['id'] = 'timestamp'; $handler->display->display_options['sorts']['timestamp']['table'] = 'feedback'; @@ -163,9 +165,17 @@ function feedback_views_default_views() { $handler->display->display_options['filters']['status']['value'] = '0'; $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE; - /* Display: Page */ - $handler = $view->new_display('page', 'Page', 'page_1'); + /* Display: Open Entries */ + $handler = $view->new_display('page', 'Open Entries', 'page_1'); $handler->display->display_options['defaults']['hide_admin_links'] = FALSE; + $handler->display->display_options['defaults']['header'] = FALSE; + /* Header: Global: Text area */ + $handler->display->display_options['header']['text']['id'] = 'text'; + $handler->display->display_options['header']['text']['table'] = 'views'; + $handler->display->display_options['header']['text']['field'] = 'area'; + $handler->display->display_options['header']['text']['empty'] = TRUE; + $handler->display->display_options['header']['text']['content'] = '

Open Feedback Messages

'; + $handler->display->display_options['header']['text']['format'] = 'full_html'; $handler->display->display_options['path'] = 'admin/reports/feedback'; $handler->display->display_options['menu']['type'] = 'normal'; $handler->display->display_options['menu']['title'] = 'Feedback messages'; @@ -173,17 +183,27 @@ function feedback_views_default_views() { $handler->display->display_options['menu']['weight'] = '0'; $handler->display->display_options['menu']['name'] = 'management'; - /* Display: Attachment */ - $handler = $view->new_display('attachment', 'Attachment', 'attachment_1'); + /* Display: Processed Entries */ + $handler = $view->new_display('attachment', 'Processed Entries', 'attachment_1'); $handler->display->display_options['defaults']['title'] = FALSE; $handler->display->display_options['defaults']['hide_admin_links'] = FALSE; $handler->display->display_options['pager']['type'] = 'some'; $handler->display->display_options['defaults']['header'] = FALSE; /* Header: Global: Text area */ - $handler->display->display_options['header']['text']['id'] = 'area'; + $handler->display->display_options['header']['text']['id'] = 'text'; $handler->display->display_options['header']['text']['table'] = 'views'; $handler->display->display_options['header']['text']['field'] = 'area'; - $handler->display->display_options['header']['text']['content'] = 'Processed Feedback Messages'; + $handler->display->display_options['header']['text']['empty'] = TRUE; + $handler->display->display_options['header']['text']['content'] = '

Processed Feedback Messages

'; + $handler->display->display_options['header']['text']['format'] = 'full_html'; + $handler->display->display_options['defaults']['empty'] = FALSE; + /* No results behavior: Global: Text area */ + $handler->display->display_options['empty']['area']['id'] = 'area'; + $handler->display->display_options['empty']['area']['table'] = 'views'; + $handler->display->display_options['empty']['area']['field'] = 'area'; + $handler->display->display_options['empty']['area']['empty'] = TRUE; + $handler->display->display_options['empty']['area']['content'] = 'There are no processed feedback entries.'; + $handler->display->display_options['empty']['area']['format'] = 'filtered_html'; $handler->display->display_options['defaults']['filter_groups'] = FALSE; $handler->display->display_options['defaults']['filters'] = FALSE; /* Filter criterion: Feedback: Status */ @@ -215,7 +235,8 @@ function feedback_views_default_views() { t('next ›'), t('last »'), t('Open Feedback Messages'), - t('There are no feedback entries.'), + t('There are no processed feedback entries.'), + t('There are no open feedback entries.'), t('User'), t('Location'), t('Date'), diff --git a/views/feedback_handler_field_feedback_link.inc b/views/feedback_handler_field_feedback_link.inc old mode 100644 new mode 100755 diff --git a/views/feedback_handler_field_feedback_link_delete.inc b/views/feedback_handler_field_feedback_link_delete.inc new file mode 100755 index 00000000..c45fc180 --- /dev/null +++ b/views/feedback_handler_field_feedback_link_delete.inc @@ -0,0 +1,13 @@ +options['alter']['make_link'] = TRUE; + $this->options['alter']['path'] = "admin/reports/feedback/$data/delete"; + $text = !empty($this->options['text']) ? $this->options['text'] : t('delete'); + return $text; + } +} diff --git a/views/feedback_handler_field_feedback_link_edit.inc b/views/feedback_handler_field_feedback_link_edit.inc new file mode 100755 index 00000000..b2d313e2 --- /dev/null +++ b/views/feedback_handler_field_feedback_link_edit.inc @@ -0,0 +1,13 @@ +options['alter']['make_link'] = TRUE; + $this->options['alter']['path'] = "admin/reports/feedback/$data/edit"; + $text = !empty($this->options['text']) ? $this->options['text'] : t('edit'); + return $text; + } +}