I have a content type that I have allowed anonymous users to create, but I would like it to become unpublished immediately after creation. I've currently set it up so a redirect to a thank you page occurs, and a notification email is sent. However, when I add an Unpublish action to it, I get the following error.
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '840-1-taxonomy_tools' for key 1: 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), (:db_insert_placeholder_18, :db_insert_placeholder_19, :db_insert_placeholder_20, :db_insert_placeholder_21, :db_insert_placeholder_22, :db_insert_placeholder_23), (:db_insert_placeholder_24, :db_insert_placeholder_25, :db_insert_placeholder_26, :db_insert_placeholder_27, :db_insert_placeholder_28, :db_insert_placeholder_29), (:db_insert_placeholder_30, :db_insert_placeholder_31, :db_insert_placeholder_32, :db_insert_placeholder_33, :db_insert_placeholder_34, :db_insert_placeholder_35); Array ( [:db_insert_placeholder_0] => 840 [:db_insert_placeholder_1] => taxonomy_tools [:db_insert_placeholder_2] => 1 [:db_insert_placeholder_3] => 1 [:db_insert_placeholder_4] => 0 [:db_insert_placeholder_5] => 0 [:db_insert_placeholder_6] => 840 [:db_insert_placeholder_7] => taxonomy_tools [:db_insert_placeholder_8] => 4 [:db_insert_placeholder_9] => 1 [:db_insert_placeholder_10] => 0 [:db_insert_placeholder_11] => 0 [:db_insert_placeholder_12] => 840 [:db_insert_placeholder_13] => taxonomy_tools [:db_insert_placeholder_14] => 5 [:db_insert_placeholder_15] => 1 [:db_insert_placeholder_16] => 0 [:db_insert_placeholder_17] => 0 [:db_insert_placeholder_18] => 840 [:db_insert_placeholder_19] => taxonomy_tools [:db_insert_placeholder_20] => 6 [:db_insert_placeholder_21] => 1 [:db_insert_placeholder_22] => 0 [:db_insert_placeholder_23] => 0 [:db_insert_placeholder_24] => 840 [:db_insert_placeholder_25] => taxonomy_tools [:db_insert_placeholder_26] => 7 [:db_insert_placeholder_27] => 1 [:db_insert_placeholder_28] => 0 [:db_insert_placeholder_29] => 0 [:db_insert_placeholder_30] => 840 [:db_insert_placeholder_31] => taxonomy_tools [:db_insert_placeholder_32] => 3 [:db_insert_placeholder_33] => 1 [:db_insert_placeholder_34] => 0 [:db_insert_placeholder_35] => 0 ) in node_access_write_grants() (line 3440 of /---/modules/node/node.module).
I'm seeing some taxonomy_tools stuff in there. Could the problem be with that module?
The following is my exported rule:
{ "rules_redirect_on_anonymous_testimonial_creation" : {
"LABEL" : "Redirect on Anonymous Testimonial: Planners Creation",
"PLUGIN" : "reaction rule",
"REQUIRES" : [ "rules" ],
"ON" : [ "node_insert" ],
"IF" : [
{ "node_is_of_type" : {
"node" : [ "node" ],
"type" : { "value" : { "testimonial_planners_" : "testimonial_planners_" } }
}
},
{ "AND" : [] },
{ "NOT user_has_role" : {
"account" : [ "node:author" ],
"roles" : { "value" : { "2" : "2" } },
"operation" : "OR"
}
}
],
"DO" : [
{ "redirect" : { "url" : "planners\/about-cvb\/submit-testimonial\/thank-you" } },
{ "node_unpublish" : { "node" : [ "node" ] } },
{ "mail" : {
"to" : "info@unchartedpixels.com",
"subject" : "New Testimonial!",
"message" : "A new testimonial has been created, and is available for your review.",
"language" : [ "" ]
}
}
]
}
}
Thanks!
Comments
Comment #1
TR CreditAttribution: TR commentedI would have configured the content type so that it's unpublished by default, then set up a Rule to publish the node on creation only if the user was authenticated (or better yet, has a certain role which allows immediate publishing). Yes, it does look like taxonomy_tools could be a problem - you should disable that module and see if you can reproduce the error without it.