You are here

class signup_handler_field_signup_edit_link in Signup 6

Same name and namespace in other branches
  1. 6.2 views/handlers/signup_handler_field_signup_edit_link.inc \signup_handler_field_signup_edit_link
  2. 7 views/handlers/signup_handler_field_signup_edit_link.inc \signup_handler_field_signup_edit_link

Field handler to generate a link to edit a given signup.

Hierarchy

Expanded class hierarchy of signup_handler_field_signup_edit_link

1 string reference to 'signup_handler_field_signup_edit_link'
signup_views_data in views/signup.views.inc
Implementation of hook_views_data().

File

views/handlers/signup_handler_field_signup_edit_link.inc, line 6

View source
class signup_handler_field_signup_edit_link extends views_handler_field_node_link {
  function construct() {
    parent::construct();
    $this->additional_fields['sid'] = array(
      'table' => 'signup_log',
      'field' => 'sid',
    );
    $this->additional_fields['uid'] = array(
      'table' => 'signup_log',
      'field' => 'uid',
    );
  }
  function render($values) {
    global $user;

    // Check access to edit this signup.
    $signup = new StdClass();
    $signup->sid = $values->{$this->aliases['sid']};
    $signup->nid = $values->{$this->aliases['nid']};
    $signup->uid = $values->{$this->aliases['uid']};
    if (!_signup_menu_signup_access($signup, 'edit')) {
      return;
    }

    // If we made it this far, generate the actual link.
    $text = !empty($this->options['text']) ? $this->options['text'] : t('Edit signup');
    $url = "signup/edit/{$signup->sid}";
    $link_options['query'] = drupal_get_destination();
    return l($text, $url, $link_options);
  }

}

Members