Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

If you’re trying to do something on a specific page, chances are that you’re going to need to work some of the information on the page. This article walks you through some useful page extension code that will help you get started.

Finding the basic information about the current user, logged in user and a owner could be done in two different ways. One by finding the HTML element that contains the value on each page using jQuery/JavaScript and another by reusing the available properties in the context of the rendered page.  This context is provided through the nVelocity view engine and has some useful helper methods. You can write JavaScript with the nVelocity tokens, and these will all be replaced as the page is rendered and before it is sent to the client.

Finding the ID of the currently logged in user

Javascript, using jQuery:

var link = jQuery("#LoggedInAs").attr("href");
var id =  new RegExp('[\\?&]id=([^&#]*)').exec(link)[1];

You can also get it from the context of the nVelocity engine at the time the page is rendered:

var loggedInUserId = "$loggedinuserid";

Finding the Name of the Currently Logged in User

Javascript, using jQuery:

var loggedInUserName = jQuery("#LoggedInAs").text();

From the context of the nvelocity engine at the time the page is rendered:

var loggedInUserName = "$loggedinuser";

Finding the Branded Owner

Javascript, using jQuery:

var currentBanadedOwnerName = jQuery("#OwnerTree").text().replace('[','').replace(']','').split('>').last();

from the context of the nvelocity engine at the time the page is rendered:

var currentBanadedOwnerName = "$owner";

Finding the Role of the Current User

Javascript, using jQuery and it’s only possible on the overview page

var currentUserRoleName = jQuery("#DetailsRole").text();

You can get the current user role name or id from the context on any page by loading a helper method available in the controller:

var currentUserRoleName = "$controller.GetCurrentUser().GetRole().Name";
var currentUserRoleId = "$controller.GetCurrentUser().GetRole().ID";

Helper Methods Available in the nVelocity Context Through Controller Parameters

You can use these methods to get objects back, or to execute any nVelocity logic:

Owner GetCurrentBrandedOwner();
int GetCurrentBrandedOwnerID();
User GetLoggedInUser();
int GetLoggedInUserID();
Owner GetCurrentUnbrandedOwner();
bool IsOwnerParentTopLevel();

Here is an example how to add the nVelocity logic in your page extension. If current owner is top owner run a javascript code:

#if($controller.IsOwnerParentTopLevel())
alert("I'm top level owner parent!!!");
#end

Loop through current user invoices

#foreach($invoice in $controller.GetCurrentUser().GetInvoiceCollection())
console.log('$invoice.ID');
#end

  • No labels