Link to home
Start Free TrialLog in
Avatar of yenjungvoy
yenjungvoy

asked on

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!
Avatar of Uday Ethirajulu
Uday Ethirajulu
Flag of United States of America image

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

e.g

var theInput = getTagFromIdentifierAndTitle("input","",fieldName);
ASKER CERTIFIED SOLUTION
Avatar of dp_expert
dp_expert
Flag of Poland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of yenjungvoy
yenjungvoy

ASKER

@ 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

Got what we need, but solution required extra software purchsae.