Confiform "field editable by" function not recognizing user
Asked by Erin Smith:

I have a form where multiple people need to edit certain fields at different times in the workflow.

The initial Requestor should be able to edit their entries while an attester should only be able to edit the Attestation field.

If I use the "Editable only by groups/users" functionality on the Requestor entered fields and set the value to \[entry.RequestorName\] which is set as \[user\] at time of creation, the requestor can set the values before hitting submit, but can't edit them later.

I'm sure I'm doing something silly and it's a simple fix, but I just can't see it, so any help is appreciated.

Thanks.


Answers:
author: Erin Smith
body: Hi Alex,

The user does have full Edit access to the page and space. If the "Editable only by groups/users" parameter isn't set they can edit the fields. But, if the "Editable only by groups/users" parameter isn't set, anyone can edit the fields and we don't want that.

The problem seems to be that the system isn't recognizing that the person logged in, and attempting to edit, is the same person who created the record.

comments: author: Alex Medved _ConfiForms_
body: sorry, I don't quite understand. Any simplified example you can provide?

but yes, that is true that if the field is unrestricted then anyone who has enough permissions to edit the record could edit the field value


author: Erin Smith
body: Hi Alex,

OK, on the form we have a user type field that grabs the information of the initial person who is filling out the form. This is set with a "Set value if empty" rule to set the field to \[user\].

This works fine.

Once the form is submitted it goes through a work flow where certain people are supposed to edit certain fields (ex: The manager attests that the user data is accurate). So the Manager should be the only person who can edit the Attest field. This works as we can manually enter the manager's id in the "Editable only by" field.

But, we also need the original user (and only the original user) to be able to edit fields in case the manager finds something wrong. This is the piece that is currently not working. When we put \[entry.RequestorName\] (the field set in step 1), in the "Editable only by" field, it isn't recognizing that same user as the person logged in when they try to edit their entries.

Hope that clears up the issue.


author: Alex Medved _ConfiForms_
body: Not sure who is RequestorName and if that holds a username, but if you want to restrict the edits (to the field) to few persons then set their usernames as comma separated list in the "Editable only by" parameter

and yes, you can reference another field's value in that parameter via \[entry.field_name\] notation


author: Alex Medved _ConfiForms_
body: Hi

In ConfiForms when you step on restricting certain fields for editing a user must have general edit permissions on the record. Do they have permissions to edit the record?

Either both are set as owners of the record or may be set as form super users (or even admins)

By setting the "Editable only by groups/users" parameter on fields you can narrow this further and restrict certain fields to be editable by the users or user groups you set

Alex

comments: author: Erin Smith
body: Hi Alex,

Sorry, entered this as a separate answer rather than a reply to your answer.

The user does have full Edit access to the page and space. If the "Editable only by groups/users" parameter isn't set they can edit the fields. But, if the "Editable only by groups/users" parameter isn't set, anyone can edit the fields and we don't want that.

The problem seems to be that the system isn't recognizing that the person logged in, and attempting to edit, is the same person who created the record.


Tags: confiforms

confluence-server

server