I just wanted to share a quick solution to a probably common problem;
Problem description:
I wanted to be able to provide full EDIT access to a particular node, based upon the user having "ownership" of that node, whilst not authoring it, yet restricting them from editing other nodes of the same type, but which were not assigned to them.
Problem example:
Each Organisation has one or more Organisation Contacts. These contacts are Users in the system. The Organisation is a content type in the system. Each user has an optional field that correlates to the Organisation that they are an Org Contact for. The user also has a role set ("Organisation") when they become an Org Contact.
Solution:
In a custom module, use a call to the hook_node_access like so:
function mymodule_node_access($node,$op,$account){ //implement hook_node_access // https://docs.backdropcms.org/api/backdrop/core%21modules%21node%21node.api.php/function/hook_node_access/1 // this does a check against the Organisation field of a Org Contact, and gives them access to UPDATE the org foreach ($account->roles as $k=>$role) { //skip over the User account Roles if($role=="organisation"){ $u=user_load($account->uid); //load the full user now, so we have access to their custom fields if(isset($u->field_organisation['und'][0])){ // field_organisation is the field set to show which Org they are a Contact of $oid=$u->field_organisation['und'][0]['target_id']; // the orgID if($oid==$node->nid && $op=="update"){ // do the work of allowing them access to the UPDATE mode return NODE_ACCESS_ALLOW; } } } } }
Recent comments
So, it seems that step one is for someone to port this module to Backdrop CMS and then we can talk about adding new features. https://www.drupal.org/project/uc_coupon It is a...
Ubercart: Maximum Coupon Discount (uc_coupon)
Hello herb, I am working on this site with Tim Erickson (stpaultim). Thanks for the suggestion! I was able to solve the problem by removing everything from the "Acceptable...
CiviCRM does not work with Restricting Access with HTTP Basic Authentication
After further checking around, @stpaultim helped me compare his TinyMCE editor install with mine. We were both using version 1.4.0, but his site had all the options that my site was missing. ...
TinyMCE font sizes and text color boxes missing
Check the settings at /civicrm/admin/setting/authx?reset=1. I can't recall which one to change. It might be "Acceptable credentials (HTTP Session Login)". Remove "User Password" from the...
CiviCRM does not work with Restricting Access with HTTP Basic Authentication
Backdrop CMS does not have modules with the word “coupon” in the name https://backdropcms.org/modules?s=coupon
Ubercart: Maximum Coupon Discount (uc_coupon)