hello,

I get sql-errors with this view: (go for example to /test/userlist/4)
Argument is the Role ID

  $view = new stdClass();
  $view->name = 'user_list';
  $view->description = 'experimental view; List users';
  $view->access = array (
  0 => '3',
);
  $view->view_args_php = '';
  $view->page = TRUE;
  $view->page_title = 'User List';
  $view->page_header = "";
  $view->page_header_format = '1';
  $view->page_footer = "";
  $view->page_footer_format = '1';
  $view->page_empty = "";
  $view->page_empty_format = '1';
  $view->page_type = 'table';
  $view->url = 'test/userlist';
  $view->use_pager = TRUE;
  $view->nodes_per_page = '10';
  $view->sort = array (
  );
  $view->argument = array (
    array (a
      'type' => 'usernode_rid',
      'argdefault' => '2',
      'title' => '',
      'options' => '',
      'wildcard' => '',
      'wildcard_substitution' => '',
    ),
  );
  $view->field = array (
    array (
      'tablename' => 'users',
      'field' => 'uid',
      'label' => '',
    ),
    array (
      'tablename' => 'profile_nachname',
      'field' => 'value',
      'label' => 'Nachname',
      'sortable' => '1',
      'defaultsort' => 'ASC',
    ),
    array (
      'tablename' => 'profile_vorname',
      'field' => 'value',
      'label' => 'Vorname',
      'sortable' => '1',
    ),
    array (
      'tablename' => 'profile_abteilung',
      'field' => 'value',
      'label' => 'Abteilung',
      'sortable' => '1',
    ),
  );
  $view->filter = array (
    array (
      'tablename' => 'node',
      'field' => 'status',
      'operator' => '=',
      'options' => '',
      'value' => '1',
    ),
    array (
      'tablename' => 'users_roles',
      'field' => 'rid',
      'operator' => 'OR',
      'options' => '',
      'value' => array (
  0 => '6',
  1 => '7',
  2 => '4',
  3 => '5',
),
    ),
    array (
      'tablename' => 'profile_distinct',
      'field' => 'distinct',
      'operator' => '=',
      'options' => '',
      'value' => array (
  0 => 'distinct',
),
    ),
  );
  $view->exposed_filter = array (
  );
  $view->requires = array(users, profile_nachname, profile_vorname, profile_abteilung, node, users_roles, profile_distinct);
  $views[$view->name] = $view;

Error Messages:


Warning: Unknown table 'usernode' in on clause query: pager_query SELECT count(DISTINCT(users.uid)) FROM jf_node node LEFT JOIN shared_users_roles users_roles ON node.uid = users_roles.uid LEFT JOIN shared_users_roles usernode_users_roles ON usernode.uid = usernode_users_roles.uid AND usernode_users_roles.rid = '4' LEFT JOIN shared_users users ON node.uid = users.uid LEFT JOIN jf_profile_values profile_nachname ON users.uid = profile_nachname.uid AND profile_nachname.fid = '5' LEFT JOIN jf_profile_values profile_vorname ON users.uid = profile_vorname.uid AND profile_vorname.fid = '4' LEFT JOIN jf_profile_values profile_abteilung ON users.uid = profile_abteilung.uid AND profile_abteilung.fid = '1' WHERE (node.status = '1') AND (users_roles.rid IN ('6','7','4','5')) in /srv/www/htdocs/web2/html/jugendgruppen/nord/drupal/includes/database.mysql.inc on line 121

Warning: Unknown table 'usernode' in on clause query: pager_query SELECT DISTINCT(users.uid), users.uid AS users_uid, profile_nachname.value AS profile_nachname_value, profile_vorname.value AS profile_vorname_value, profile_abteilung.value AS profile_abteilung_value FROM jf_node node LEFT JOIN shared_users_roles users_roles ON node.uid = users_roles.uid LEFT JOIN shared_users_roles usernode_users_roles ON usernode.uid = usernode_users_roles.uid AND usernode_users_roles.rid = '4' LEFT JOIN shared_users users ON node.uid = users.uid LEFT JOIN jf_profile_values profile_nachname ON users.uid = profile_nachname.uid AND profile_nachname.fid = '5' LEFT JOIN jf_profile_values profile_vorname ON users.uid = profile_vorname.uid AND profile_vorname.fid = '4' LEFT JOIN jf_profile_values profile_abteilung ON users.uid = profile_abteilung.uid AND profile_abteilung.fid = '1' WHERE (node.status = '1') AND (users_roles.rid IN ('6','7','4',' in /srv/www/htdocs/web2/html/jugendgruppen/nord/drupal/includes/database.mysql.inc on line 121

Comments

Tobias Maier’s picture

for my second test I changed the view shipped with usernode

my aim was again to show users who are member of a specific role id (with an argument)

  $view = new stdClass();
  $view->name = 'userlist';
  $view->description = 'Provides a user listing using usernodes.';
  $view->access = array (
  0 => '3',
);
  $view->view_args_php = '';
  $view->page = TRUE;
  $view->page_title = 'test/usernodeview';
  $view->page_header = "";
  $view->page_header_format = '1';
  $view->page_footer = "";
  $view->page_footer_format = '1';
  $view->page_empty = "";
  $view->page_empty_format = '1';
  $view->page_type = 'table';
  $view->url = 'test/usernodeview';
  $view->use_pager = TRUE;
  $view->nodes_per_page = '10';
  $view->sort = array (
  );
  $view->argument = array (
    array (
      'type' => 'usernode_rid',
      'argdefault' => '2',
      'title' => 'argument = %1',
      'options' => '',
      'wildcard' => '',
      'wildcard_substitution' => '',
    ),
  );
  $view->field = array (
    array (
      'tablename' => 'node',
      'field' => 'title',
      'label' => 'username',
      'handler' => 'views_handler_field_nodelink',
      'sortable' => '1',
      'options' => 'link',
    ),
    array (
      'tablename' => 'usernode_users',
      'field' => 'mail',
      'label' => 'email',
      'sortable' => '1',
    ),
    array (
      'tablename' => 'usernode_users',
      'field' => 'created',
      'label' => 'created',
      'handler' => 'views_handler_field_date_small',
      'sortable' => '1',
    ),
    array (
      'tablename' => 'usernode_users',
      'field' => 'access',
      'label' => 'access',
      'handler' => 'views_handler_field_date',
      'sortable' => '1',
    ),
    array (
      'tablename' => 'usernode_users',
      'field' => 'login',
      'label' => 'login',
      'handler' => 'views_handler_field_date_large',
      'sortable' => '1',
      'defaultsort' => 'ASC',
    ),
  );
  $view->filter = array (
    array (
      'tablename' => 'node',
      'field' => 'type',
      'operator' => 'OR',
      'options' => '',
      'value' => array (
  0 => 'usernode',
),
    ),
    array (
      'tablename' => 'usernode_users',
      'field' => 'status',
      'operator' => '=',
      'options' => '',
      'value' => '1',
    ),
  );
  $view->exposed_filter = array (
  );
  $view->requires = array(node, usernode_users);
  $views[$view->name] = $view;

this time there was no sql-error but nothing was filtered, too

example test-url: /test/usernodeview/3

fago’s picture

Status: Active » Fixed

I fixed it in CVS.

I had problems importing your views, however here is a view that worked for me with the latest code in CVS:

<code>
  $view = new stdClass();
  $view->name = 'ridtest';
  $view->description = '';
  $view->access = array (
  0 => '3',
);
  $view->view_args_php = '';
  $view->page = TRUE;
  $view->page_title = '';
  $view->page_header = '';
  $view->page_header_format = '1';
  $view->page_footer = '';
  $view->page_footer_format = '1';
  $view->page_empty = '';
  $view->page_empty_format = '1';
  $view->page_type = 'table';
  $view->url = 'test';
  $view->use_pager = TRUE;
  $view->nodes_per_page = '10';
  $view->sort = array (
  );
  $view->argument = array (
    array (
      'type' => 'usernode_rid',
      'argdefault' => '3',
      'title' => 'Roles',
      'options' => '',
      'wildcard' => '',
      'wildcard_substitution' => '',
    ),
  );
  $view->field = array (
    array (
      'tablename' => 'node',
      'field' => 'title',
      'label' => 'title',
      'handler' => 'views_handler_field_nodelink',
      'options' => 'link',
    ),
  );
  $view->filter = array (
  );
  $view->exposed_filter = array (
  );
  $view->requires = array(node);
  $views[$view->name] = $view;

Anonymous’s picture

Status: Fixed » Closed (fixed)