MOSS 2007 List Column Permission control

Hi, all.

We are trying to use SharePoint for Quality Control / correction ticket system and we want to know if we can control column's user permission based on 'Status' of the ticket.

Here are our plan:

1. User creates ticket.  
2. Upon submitting ticket, QA team gets notification from SharePoint, then QA team changes status of ticket to 'In Progress'
3. Once ticket status in 'Progress', end user can not edit certain column of ticket and can only view ticket.

We recently bought Column Protector from Datapolis. This allows us to control column access permission based on group or user. So we were able to block end user from entering / edit information on QA team's comment section. But now  I guess what we like to do is, expand this column access feature.

Is there any tool or add on we can buy?  If not, what would be the best way to go about this?

Thanks!
yenjungvoyAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Uday EthirajuluCTOCommented:
are you trying to prevent changes in edit mode?

if yes,

Edit the EditForm.aspx page and add the content editor webpart

Use the attached javascript to find the status field, if the status field is "In Progress"

use the same method to get the reference of other required fields(i mean the fields to be disabled)

then set the fieldname.disabled = true;

you are done.

make sure you add this content editor webpart below your list form webpart.

Thanks,
~Uday
http://www.mstechblogs.com/sharepoint
http://www.mstechblogs.com/Forums


	function getTagFromIdentifierAndTitle(tagName, identifier, title) 
	{  
         var len = identifier.length;  
         var tags = document.getElementsByTagName(tagName);  
         for (var i=0; i < tags.length; i++) { 
             var tempString = tags[i].id;  
             if (tags[i].title == title) 
             {  
                 return tags[i];  
             }  
         }  
         return null;  
     }

Open in new window

0
Uday EthirajuluCTOCommented:
e.g

var theInput = getTagFromIdentifierAndTitle("input","",fieldName);
0
dp_expertCommented:
Hello - you can use Workbox (also from Datapolis, a state worfklow designer) - it incorporates the functionality of SCP but allows you to set different states of the ticket and different permission for each field in every state.
Please see this video http://www.youtube.com/datapolis#p/u/1/lNWKaQWT0zE to see how it works.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
yenjungvoyAuthor Commented:
@ dp_Expert:  Workbox is exactly what I was looking for but it's bit expansive for small sized company like us to use... : (  and I doubt my boss will approve this purchase.  Thanks for the input!

@bhagavan2uday: I am novice programmer and while I think your solution would do the trick, I am still bit confused.  So I followed first couple steps no problem.  I guess I need some more help with coding.

I have 'Status' column and values I have is (Choice) :

Initiated
In Progress
Done

So from your code, do I replace

tagName = "In Progress"
identifier = ""
title = "Status"


Also where do I add fieldname.disabled = true; ?


        function getTagFromIdentifierAndTitle(tagName, identifier, title) 
        {  
         var len = identifier.length;  
         var tags = document.getElementsByTagName(tagName);  
         for (var i=0; i < tags.length; i++) { 
             var tempString = tags[i].id;  
             if (tags[i].title == title) 
             {  
                 return tags[i];  
             }  
         }  
         return null;  
     }

Open in new window

0
yenjungvoyAuthor Commented:
Got what we need, but solution required extra software purchsae.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SharePoint

From novice to tech pro — start learning today.