Solved

SharePoint jquery group

Posted on 2013-01-14
1
617 Views
Last Modified: 2013-01-16
Hello All,

The platform is SharePoint 2007.

I am trying to use jquery to link a column based on the group the user is in.  If the user in the "ACC" group, I want to link the title column and if they are not, i don't want it linked.

The code below works, sort of.  If my function(GetGroupOfUser()) returns true, it links the column but if it's false, I get the following runtime error" 'boolVal' is undefined.



<script type="text/javascript" language="javascript" src="http://moss2007vm:10712/sdimetrics/js%20Assets/SDIfunctions.js"></script>
<script type="text/javascript" language="javascript" src="http://moss2007vm:10712/js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" language="javascript" src="http://moss2007vm:10712/js/jquery.SPServices-0.7.2.min.js"></script>


<script type="text/javascript" language="javascript">
$(document).ready(function() {
//var getBoolVal= GetGroupOfUser();
var liHtml = "<table width=100% border=1><th><td>Title</td><td>ID</td></th>";

var isTrue = [b]GetGroupOfUser()[/b];
if(isTrue)
{
alert("True");
}
else
{
alert("False");
}
  $().SPServices({
    operation: "GetListItems",
    async: false,
    listName: "SDIMetrics",
    CAMLViewFields: "<ViewFields><FieldRef Name='Title' /><FieldRef Name='MAJCOM' /><FieldRef Name='ID' /></ViewFields>",
    completefunc: function (xData, Status) {
          $(xData.responseXML).SPFilterNode("z:row").each(function() {
if(isTrue) {
alert("Provide a link");
    liHtml += "<tr><td><a href='www.google.com'>"+$(this).attr("ows_Title") +"</a></td><td>"+$(this).attr("ows_ID") +"</td></tr>";
       }
else {
alert("no link needed");
    liHtml += "<tr><td>"+$(this).attr("ows_Title") +"</td><td>"+$(this).attr("ows_ID") +"</td></tr>";
}

//alert(liHtml);
      });
liHtml += "</table>";
$("#tasksUL").append(liHtml);
    }
  });
  
});
</script>
<label id="tasksUL" />

Open in new window





SDIfunctions.js
function GetGroupOfUser(){   
var boolval = false;
var curUser = $().SPServices.SPGetCurrentUser();
alert(curUser);
$().SPServices({
      operation: "GetGroupCollectionFromUser",
      userLoginName: $().SPServices.SPGetCurrentUser(),
      async: false,
      completefunc: function(xData, Status) {   
        if($(xData.responseXML).find("Group[Name='ACC']").length == 1) {
alert("Hello.  I am in this group.");
		  boolVal = true;
        }              

      }

   }); /*close().SPServices */ 
return boolVal; 
}

Open in new window



Any help would be much appreciated.  Thanks!
0
Comment
Question by:Isaac
1 Comment
 
LVL 44

Accepted Solution

by:
Rainer Jeschor earned 500 total points
ID: 38775389
Hi,

just a simple typo - Javascript is cASe sensitive ;-)))

You return boolVal, but your variable in the GetGroupOfUser function is named
boolval (lowercase V).

Just change line 2 in
SDIfunctions.js to
var boolVal = false;

Open in new window

and it should work.

HTH
Rainer
0

Featured Post

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question