What is the best solution to acchieve following scenario programmatically (Visual Studio) in a Farm solution.

There is a document library, two different Site groups (Managers and Approvers). The document library has a taxonomy field which its name is Status, it appears as a dropdownlist and contains this values (New, Registered, Approved, Archived). When a document is created its Staus is New. All users in Managers group are allowed to change the status from New to Registered and from Approved to Archived, however they are not allowed to change status from Registered to Approved. It is the Approvers job to change status from Registered to Approved and they are not allowed to change status from New to Registered or from Approved to Archived.

What is the best solution? do I need to create new EditForm.aspx?


This actually sounds like a workflow. Use SharePoint Designer to edit the standard Approval Workflow. The workflow runs under an 'elevated privileges' account so it can make the changes to the field for the users. I don't think you'll need to code this solution. Workflows included in SharePoint

However, if you really want to code it you would want to take a look at a custom field or a field extension. Use a custom field when working in SP2010 Farm solution. Use field extensions with JSLink when working in a SP2013 environment.

  • No I cannot use workflows. I think the best solution is, creating an application page which is reached by a Custom Action in edit control block. and in the application page users can change the property of the item. And according to the status and logged in user make the status grayed out. and hide the default (OOTB) edit item menu. – Medes Aug 31 '14 at 15:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.