[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 601
  • Last Modified:

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!
0
yenjungvoy
Asked:
yenjungvoy
  • 2
  • 2
1 Solution
 
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
 
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

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now