Classifying this as a bug, but this may be a support request.

I'm attempting to setup a support ticket submission workflow which allows anonymous node creation, but only users with the role 'support' may view node tickets.

1) Anonymous/authenticated user submits new 'ticket' node.
2) Submitter is redirected to a confirmation page after node creation via Rules.
3) Email confirmations/notifications sent via Rules to submitter and 'support' users.
4) Only users with the role 'support' may view 'ticket' nodes.

I've allowed anonymous ticket node creation via Drupal's stock permissions.
I've allowed the 'support' role permission to view any 'ticket'.
I've left the grant priority at 0.
Seems like content_access should distinguish between Create and Edit.

Problem is that 'ticket' nodes are created but with just a title, all other ticket fields submitted are empty. Email notification goes out, but page redirect doesn't work.

Comments

thumb’s picture

I removed anonymous privileges, users must now be authenticated but I still get this when my Rule is enabled.

Additional information:

PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '113798-12-content_access_rid' for key 'PRIMARY': INSERT INTO {node_access} (nid, realm, gid, grant_view, grant_update, grant_delete) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5), (:db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10, :db_insert_placeholder_11), (:db_insert_placeholder_12, :db_insert_placeholder_13, :db_insert_placeholder_14, :db_insert_placeholder_15, :db_insert_placeholder_16, :db_insert_placeholder_17); Array ( [:db_insert_placeholder_0] => 113798 [:db_insert_placeholder_1] => content_access_rid [:db_insert_placeholder_2] => 12 [:db_insert_placeholder_3] => 1 [:db_insert_placeholder_4] => 0 [:db_insert_placeholder_5] => 0 [:db_insert_placeholder_6] => 113798 [:db_insert_placeholder_7] => content_access_rid [:db_insert_placeholder_8] => 3 [:db_insert_placeholder_9] => 1 [:db_insert_placeholder_10] => 0 [:db_insert_placeholder_11] => 0 [:db_insert_placeholder_12] => 113798 [:db_insert_placeholder_13] => content_access_author [:db_insert_placeholder_14] => 497369 [:db_insert_placeholder_15] => 1 [:db_insert_placeholder_16] => 0 [:db_insert_placeholder_17] => 0 ) in node_access_write_grants() (line 3551 of /var/www/mysite.com/htdocs/modules/node/node.module).

thumb’s picture

Category: bug » support
Status: Active » Closed (fixed)

Figured it out. I switched my Rule's primary event to "Before saving content" and everything seems to work as expected.