how to select "Sprint record" from sprint field in Story

surajsironi
Kilo Sage

Hi,

how to select sprint in sprint field in Story. sprint field referring script include.

I just impersonated the project manager. He is able to select sprint records but his team is unable to select a "Sprint" from the sprint field and as a  ha is the only one that can.

is it Role access issue ?

 

i didn't understand what is the logic here, how to get,access to select spring on Story.

find_real_file.png

find_real_file.png

 

 

OOB script include:

 

var ScrumSecurityManager = Class.create();

// Constants available for the Scrum Security Manager classes. These are split into 3 categories:
// [1] Roles - these represent the Product Owner, Scrum Master and Team Member roles and combinations thereof.
// [2] Actions - these represent the the types of operations a user may need to perform on the Scrum tables.
// [3] Tables - these represent the names of the SQL tables used  by the Scrum application.

ScrumSecurityManager.PRODUCT_OWNER = ["Product Owner"];
ScrumSecurityManager.SCRUM_MASTER = ["Scrum Master"];
ScrumSecurityManager.TEAM_MEMBER = ["Team Member"];
ScrumSecurityManager.SCRUM_MASTER_TEAM_MEMBER = [ "Scrum Master",  "Team Member" ];
ScrumSecurityManager.PRODUCT_OWNER_SCRUM_MASTER = [ "Product Owner", "Scrum Master" ];
ScrumSecurityManager.ANY_TEAM_MEMBER = [ "Product Owner", "Scrum Master", "Team Member"];
//--------------------------------------------------------------------------------------------------
ScrumSecurityManager.CREATE = "Create";
ScrumSecurityManager.DELETE = "Delete";
ScrumSecurityManager.READ = "Read";
ScrumSecurityManager.WRITE = "Write";
//--------------------------------------------------------------------------------------------------
ScrumSecurityManager.USER_PERMISSIONS = "scrum_user_permissions";
ScrumSecurityManager.GROUP_PERMISSIONS = "scrum_group_permissions";
ScrumSecurityManager.PRODUCT_RELEASE = "m2m_product_release";
//ScrumSecurityManager.EPIC_RELEASE = "m2m_scrum_epic_release";
ScrumSecurityManager.PRODUCT = "cmdb_model";
ScrumSecurityManager.RELEASE = "rm_release_scrum";
ScrumSecurityManager.SPRINT = "rm_sprint";
ScrumSecurityManager.EPIC = "rm_epic";
ScrumSecurityManager.STORY = "rm_story";
ScrumSecurityManager.TASK = "rm_scrum_task";
ScrumSecurityManager.AGILE_TEAM = '1bff3b1493030200ea933007f67ffb6d';

// the ScrumSecurityManager implementation to be used
ScrumSecurityManager.DEFAULT_SMCLASSNAME = 'ScrumSecurityManagerDefault';      // the default
ScrumSecurityManager.SDLC_SCRUM_SMCLASSNAME = 'com.snc.sdlc.scrum.pp.smclass'; // sys_properties
ScrumSecurityManager.impl = function() {
   var klass = ScrumSecurityManager._getClass(gs.getProperty(ScrumSecurityManager.SDLC_SCRUM_SMCLASSNAME, 'ScrumSecurityManagerDefault'));
   var impl = new klass();
   return impl;
};

//========================================================================

ScrumSecurityManager.getStoryDotSprint = function (recStory) {
   return ScrumSecurityManager.impl().getStoryDotSprint(recStory);
};



//========================================================================

ScrumSecurityManager._getClass = function(securityManagerClassName) {
   var _outerScope = JSUtil.getGlobal();
   var securityManagerClass = _outerScope[securityManagerClassName];
   // check that securityManagerClassName is defined, and looks valid as a ScrumSecurityManager Class
   if (!ScrumSecurityManager._isValidSMClass(securityManagerClass)) {
      securityManagerClass = _outerScope[ScrumSecurityManager.DEFAULT_SMCLASSNAME];
      securityManagerClassName = ScrumSecurityManager.DEFAULT_SMCLASSNAME;
   }
   
   return securityManagerClass;   
};

ScrumSecurityManager._isValidSMClass = function(klass) {
   if (typeof klass == 'undefined') {
      return false;
   }
   // a sample of the necessary methods
   var smClassMethods = [ 'canCreateProductRelease', 'canDeleteEpic', 'canReadTask', 'canWriteSprint', 'getReleases' ];
   for (var i = 0; i < smClassMethods.length; i++) {
      if (typeof klass.prototype[smClassMethods[i]] == 'undefined') {
         return false;
      }
   }
   return true;
};

ScrumSecurityManager.prototype = {
   initialize: function() {

   },  

   
   type: 'ScrumSecurityManager'
};