in tree/master/cloud/src/solution/Microsoft.Legal.MatterCenter.Web/wwwroot/app/matter/createMatter.controller.js [6:3681]
function ($scope, $state, $stateParams, api, matterResource, $filter, $window, $rootScope, adalService, $timeout) {
///All Variables
var cm = this;
$rootScope.pageIndex = "4";
//To load the Contextual help data
$rootScope.help();
cm.selectedConflictCheckUser = undefined;
$rootScope.bodyclass = "";
$rootScope.profileClass = "";
cm.blockedUserName = undefined;
cm.defaultConfilctCheck = false;
cm.createContent = uiconfigs.CreateMatter;
cm.canCreateMatterPermission = false;
cm.errPermissionMessage = "";
cm.header = uiconfigs.Header;
cm.chkConfilctCheck = undefined;
cm.conflictRadioCheck = false;
cm.iShowSuccessMessage = 0;
cm.oMandatoryRoleNames = [];
cm.bMatterLandingPage = false;
cm.oSiteUsers = [];
cm.oSiteUserNames = [];
cm.successBanner = false;
cm.selectedClient = undefined;
cm.createBtnDisabled = false;
cm.createButton = "Create";
cm.clientUrl = "";
cm.errorStatus = false;
cm.prevButtonDisabled = true;
cm.invalidUserCheck = false;
cm.showRoles = true;
cm.showMatterId = true;
cm.matterIdType = "Custom";
cm.currentExternalUser = {};
cm.addFieldReq = false;
cm.getExternalUserNotification = true;
$rootScope.displayOverflow = "";
cm.nextButtonDisabled = false; cm.prevButtonDisabled = true;
cm.taxonomyHierarchyLevels = configs.taxonomy.levels;
cm.schema = configs.search.Schema;
cm.isBackwardCompatible = configs.global.isBackwardCompatible;
cm.isClientMappedWithHierachy = configs.global.isClientMappedWithHierachy;
cm.taxonomyHierarchyLevels = parseInt(cm.taxonomyHierarchyLevels);
cm.createContent.TabNumber = 3;
cm.inputs = [];
cm.matterAdditionalFieldsContentTypeName = "";
if (cm.taxonomyHierarchyLevels >= 2) {
cm.parentLevelOneList = [];
cm.levelOneList = [];
cm.levelTwoList = [];
cm.createContent.Tab1Textbox5Label = cm.createContent.Tab1Textbox5Label;
}
if (cm.taxonomyHierarchyLevels >= 3) {
cm.levelThreeList = [];
cm.createContent.Tab1Textbox5Label = cm.createContent.Tab1Textbox5LabelForLevel3;
}
if (cm.taxonomyHierarchyLevels >= 4) {
cm.levelFourList = [];
cm.createContent.Tab1Textbox5Label = cm.createContent.Tab1Textbox5LabelForLevel4;
}
if (cm.taxonomyHierarchyLevels >= 5) {
cm.levelFiveList = [];
cm.createContent.Tab1Textbox5Label = cm.createContent.Tab1Textbox5LabelForLevel5;
}
var specialCharactersRegExp = configs.matter;
var w = angular.element($window);
w.bind('resize', function () {
cm.clearPopUp();
$scope.$apply();
});
var oPageOneState = {
ClientValue: [],
ClientId: "",
MatterName: "",
MatterId: "",
MatterDescription: "",
ContentTypes: [],
matterMandatory: "",
oSelectedDocumentTypeLawTerms: [],
oValidMatterName: undefined,
isNextClick: false,
sectionClickName: "",
showRoles: true,
showMatterId: true,
matterIdType: "Custom",
AssignPermissionTeams: [],
specialCharacterExpressionMatter: "[A-Za-z0-9_]+[-A-Za-z0-9_, ]*",
isBackwardCompatible: false,
ConfigurableSection: false,
oSiteUsers: [],
oSiteUserNames: [],
isClientMappedWithHierachy: false,
ConflictRadioCheck: false,
CanCreateMatterPermission:false,
oEmailRegexp: /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
}
var oPageTwoState = {
ChkConfilctCheck: false,
SelectedConflictCheckUser: "",
ConflictDate: null,
ConflictRadioCheck: "",
BlockedUserName: [],
SecureMatterCheck: true,
AssignPermissionTeams: [],
oSiteUsers: [],
oSiteUserNames: [],
}
var oPageAdditionalData = {
ConfigurableSection: false,
MatterAdditionalFieldsContentTypeName: "",
MatterExtraFields:null,
}
cm.clientId = "";
cm.selectedClientName = "";
cm.matterName = "";
cm.matterId = "";
cm.matterDescription = "";
cm.clientNameList = [];
cm.selectedDocumentTypeLawTerms = [];
cm.popupContainerBackground = "Show";
cm.popupContainer = "hide";
cm.sectionName = "snOpenMatter";
cm.removeDTItem = false;
cm.primaryMatterType = cm.errorPopUp = false;
cm.matterGUID = "";
cm.iCurrentPage = 1;$timeout(function(){angular.element('#divTab1').focus();},500);
cm.assignPermissionTeams = [{ assignedUser: '', assignedAllUserNamesAndEmails: '', assignedRole: '', assignedPermission: '', assigneTeamRowNumber: 1, userConfirmation: false, teamUsers: [] }];
cm.conflictUsers = { assignedUser: '', assignedAllUserNamesAndEmails: '', teamUsers: [] }
cm.blockedUserName = cm.conflictUsers.assignedUser;
cm.assignRoles = [];
cm.assignPermissions = [];
cm.secureMatterCheck = true;
cm.conflictRadioCheck = false;
cm.includeTasks = false;
cm.errorPopUpBlock = false;
///* Function to generate 32 bit GUID */
function get_GUID() {
function create_GUID(bFlag) {
var sCurrentGUID = (Math.random().toString(16) + "000000000").substr(2, 8);
return bFlag ? "-" + sCurrentGUID.substr(0, 4) + "-" + sCurrentGUID.substr(4, 4) : sCurrentGUID;
}
return create_GUID() + create_GUID(true) + create_GUID(true) + create_GUID();
}
cm.clearPopUp = function () {
cm.errorPopUpBlock = false;
cm.notificationPopUpBlock = false;
}
/* Function to get the GUID by removing the hyphen character */
function getMatterGUID() {
cm.matterGUID = get_GUID().replace(/-/g, ""); //// Remove '-' (hyphen) from the GUID as this character is removed from URL by SharePoint
}
getMatterGUID();
var optionsForClientGroup = new Object;
var optionsForPracticeGroup = new Object;
var optionsForCheckMatterName = new Object;
var siteCollectionPath = "";
////API calling functions
function getTaxonomyDetailsForClient(optionsForClientGroup, callback) {
api({
resource: 'matterResource',
method: 'getTaxonomyDetails',
data: optionsForClientGroup,
success: callback
});
}
function getDefaultMatterConfigurations(siteCollectionPath, callback) {
api({
resource: 'matterResource',
method: 'getDefaultMatterConfigurations',
data: JSON.stringify(siteCollectionPath),
success: callback
});
}
//API call to retrieve matter extra properties.
function getmatterprovisionextraproperties(options, callback) {
api({
resource: 'matterResource',
method: 'getmatterprovisionextraproperties',
data: options,
success: callback
});
}
function getTaxonomyDetailsForPractice(optionsForPracticeGroup, callback) {
api({
resource: 'matterResource',
method: 'getTaxonomyDetails',
data: optionsForPracticeGroup,
success: callback
});
}
function getCheckValidMatterName(optionsForCheckMatterName, callback) {
api({
resource: 'matterResource',
method: 'checkMatterExists',
data: optionsForCheckMatterName,
success: callback
});
}
function getUsers(optionsForUsers, callback) {
api({
resource: 'matterResource',
method: 'getUsers',
data: optionsForUsers,
success: callback
});
}
function getRoles(options, callback) {
api({
resource: 'matterResource',
method: 'getRoles',
data: options,
success: callback
});
}
function getPermissionLevels(options, callback) {
api({
resource: 'matterResource',
method: 'getPermissionLevels',
data: options,
success: callback
});
}
function createMatter(options, callback) {
api({
resource: 'matterResource',
method: 'createMatter',
data: options,
success: callback
});
}
function assignContentTypeMetadata(options, callback) {
api({
resource: 'matterResource',
method: 'assignContentType',
data: options,
success: callback
});
}
function assignUserPermissionsAPI(options, callback) {
api({
resource: 'matterResource',
method: 'assignUserPermissions',
data: options,
success: callback
});
}
function createMatterLandingPageAPI(options, callback) {
api({
resource: 'matterResource',
method: 'createLandingPage',
data: options,
success: callback
});
}
function updateMatterMetadataAPI(options, callback) {
api({
resource: 'matterResource',
method: 'updateMatterMetadata',
data: options,
success: callback
});
}
function getStampedProperties(options, callback) {
api({
resource: 'matterResource',
method: 'getStampedProperties',
data: options,
success: callback
});
}
optionsForClientGroup = {
Client: {
Url: configs.global.repositoryUrl
},
TermStoreDetails: {
TermGroup: configs.taxonomy.termGroup,
TermSetName: configs.taxonomy.clientTermSetName,
CustomPropertyName: configs.taxonomy.clientCustomPropertiesURL,
}
}
//input parameters building here for all the api's
optionsForPracticeGroup = {
Client: {
Url: configs.global.repositoryUrl
},
TermStoreDetails: {
TermGroup: configs.taxonomy.termGroup,
TermSetName: configs.taxonomy.practiceGroupTermSetName,
CustomPropertyName: configs.taxonomy.subAreaOfLawCustomContentTypeProperty,
DocumentTemplatesName: configs.taxonomy.subAreaOfLawDocumentContentTypeProperty,
}
}
optionsForCheckMatterName = {
Client: {
Url: cm.clientUrl
},
Matter: {
MatterGuid: "",
Name: cm.matterName.trim()
}
}
//optionsForUsers
cm.searchUsers = function (val) {
$("[uib-typeahead-popup].dropdown-menu").css("display", "block");
cm.typehead = true;
if (val && val != null && val != "") {
if (val.indexOf(';') > -1) {
var res = val.split(";");
if (res[res.length - 1]!="") {
val = res[res.length - 1];
}
}
}
var searchUserRequest = {
Client: {
Url: cm.clientUrl
},
SearchObject: {
SearchTerm: val
}
};
return matterResource.getUsers(searchUserRequest).$promise;
}
var optionsForRoles = new Object;
optionsForRoles = {
Url: configs.global.repositoryUrl
}
var optionsForPermissionLevels = new Object;
optionsForPermissionLevels = {
Url: configs.global.repositoryUrl
}
function getTaxonomyHierarchy(data) {
var levelsDefined = data.levels;
if (levelsDefined >= 2) {
cm.levelOneList = data.level1;
cm.levelTwoList = cm.levelOneList[0].level2;
cm.activeLevelTwoItem = cm.levelTwoList[0];
}
if (levelsDefined >= 3) {
cm.levelThreeList = cm.levelTwoList[0].level3;
cm.activeLevelThreeItem = cm.levelThreeList[0];
}
if (levelsDefined >= 4) {
cm.levelFourList = cm.levelThreeList[0].level4;
cm.activeLevelFourItem = cm.levelFourList[0];
}
if (levelsDefined >= 5) {
cm.levelFiveList = cm.levelFourList[0].level5;
cm.activeLevelFiveItem = cm.levelFiveList[0];
}
}
//call back function for getting the clientNamesList
function getTaxonomyData() {
cm.popupContainerBackground = "Show";
getTaxonomyDetailsForClient(optionsForClientGroup, function (response) {
cm.clientNameList = response.clientTerms;
getTaxonomyDetailsForPractice(optionsForPracticeGroup, function (response) {
if (response.isError !== undefined && response.isError) {
showApiErrorMessages(response);
}
else {
cm.levelOneList = response.level1;
cm.parentLevelOneList = response;
cm.selectedLevelOneItem = response.level1[0];
if (cm.iCurrentPage == 1) {
getTaxonomyHierarchy(response);
}
else {
if (cm.isClientMappedWithHierachy) {
getClientsPracticeGroup(cm.selectedClientName);
}
}
getRoles(optionsForRoles, function (response) {
cm.assignRoles = response;
angular.forEach(cm.assignPermissionTeams, function (team) {
if ("" !== team.assignedRole) {
angular.forEach(cm.assignRoles, function (role) {
if (role.id == team.assignedRole.id) {
team.assignedRole = role;
}
});
}
else {
team.assignedRole = cm.assignRoles[0];
}
});
getPermissionLevels(optionsForPermissionLevels, function (response) {
cm.assignPermissions = response;
angular.forEach(cm.assignPermissionTeams, function (team) {
if ("" !== team.assignedPermission) {
angular.forEach(cm.assignPermissions, function (permission) {
if (permission.id == team.assignedPermission.id) {
team.assignedPermission = permission;
}
});
}
else {
team.assignedPermission = cm.assignPermissions[0];
}
cm.popupContainerBackground = "hide";
});
});
});
}
});
});
}
cm.textForAria = function (msg) {
jQuery.a11yfy.assertiveAnnounce(msg);
}
getTaxonomyData();
cm.selectMatterType = function (value) {
cm.popupContainer = "Show";
cm.popupContainerBackground = "Show";
cm.successBanner = false;
$timeout(function () {
jQuery.a11yfy.assertiveAnnounce("matter type popup modal opened. Add or remove matter types");
angular.element("#selectPG").focus();
}, 200);
}
//function for closing the popup
cm.selectMatterTypePopUpClose = function () {
cm.saveDocumentTemplates();
}
//function to get the clientId from ClientName dropdown
cm.getSelectedClientValue = function (client) {
cm.successBanner = false;
if (undefined !== client && null !== client) {
cm.clientId = client.id;
cm.selectedClientName = client.name;
cm.clientUrl = client.url;
cm.popupContainerBackground = "Show";
cm.inputs = [];
siteCollectionPath = cm.clientUrl;
if (cm.isClientMappedWithHierachy) {
getClientsPracticeGroup(cm.selectedClientName);
}
getDefaultMatterConfigurations(siteCollectionPath, function (result) {
if (result.isError) {
cm.errTextMsg = result.value;
cm.errPermissionMessage = result.value;
cm.errorBorder = "client";
showErrorNotification("client");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
cm.canCreateMatterPermission = false;
}
else {
localStorage.removeItem("oPageOneData");
localStorage.removeItem("oPageTwoData");
localStorage.removeItem("oPageAdditionalData");
cm.chkConfilctCheck = false;
cm.matterDescription = "";
cm.canCreateMatterPermission = true; cm.errPermissionMessage = "";
var dMatterAreaOfLaw = "", dMatterPracticeGroup = "", dMatterSubAreOfLaw = "", dMatterTypes = "", dPrimaryMatterType = "", dMatterUsers = "", dMatterUserEmails = "", dMatterPermissions = "", dMatterRoles = "";
cm.conflictUsers.assignedUser = "";
cm.conflictUsers.assignedAllUserNamesAndEmails = "";
cm.conflictUsers.teamUsers = []
var defaultMatterConfig = JSON.parse(result.code);
cm.matterName = defaultMatterConfig.DefaultMatterName?defaultMatterConfig.DefaultMatterName:"";
cm.checkValidMatterName();
cm.matterId = defaultMatterConfig.DefaultMatterId?defaultMatterConfig.DefaultMatterId:"";
cm.secureMatterCheck = true;
if (defaultMatterConfig.IsRestrictedAccessSelected) {
cm.secureMatterCheck = defaultMatterConfig.IsRestrictedAccessSelected;
}
if (defaultMatterConfig.IsCalendarSelected) {
cm.includeCalendar = defaultMatterConfig.IsCalendarSelected;
}
else {
cm.includeCalendar = defaultMatterConfig.IsCalendarSelected ? defaultMatterConfig.IsCalendarSelected : false;
}
if (defaultMatterConfig.IsEmailOptionSelected) {
cm.includeEmail = defaultMatterConfig.IsEmailOptionSelected;
cm.createButton = "Create and Notify";
}
else {
cm.includeEmail = defaultMatterConfig.IsEmailOptionSelected ? defaultMatterConfig.IsEmailOptionSelected : false;
}
if (defaultMatterConfig.IsRSSSelected) {
cm.includeRssFeeds = defaultMatterConfig.IsRSSSelected;
}
else {
cm.includeRssFeeds = defaultMatterConfig.IsRSSSelected ? defaultMatterConfig.IsRSSSelected : false;
}
if (defaultMatterConfig.IsConflictCheck) {
cm.defaultConfilctCheck = defaultMatterConfig.IsConflictCheck;
cm.conflictRadioCheck = cm.defaultConfilctCheck;
cm.secureMatterRadioEnabled = cm.defaultConfilctCheck;
}
else {
cm.defaultConfilctCheck = defaultMatterConfig.IsConflictCheck?defaultMatterConfig.IsConflictCheck:false;
cm.secureMatterRadioEnabled = cm.defaultConfilctCheck;
cm.conflictRadioCheck = cm.defaultConfilctCheck;
}
if (defaultMatterConfig.IsMatterDescriptionMandatory) {
cm.isMatterDescriptionMandatory = defaultMatterConfig.IsMatterDescriptionMandatory;
}
else {
cm.isMatterDescriptionMandatory = defaultMatterConfig.IsMatterDescriptionMandatory?defaultMatterConfig.IsMatterDescriptionMandatory:false;
}
if (defaultMatterConfig.IsTaskSelected) {
cm.includeTasks = defaultMatterConfig.IsTaskSelected;
}
else {
cm.includeTasks = defaultMatterConfig.IsTaskSelected?defaultMatterConfig.IsTaskSelected:false;
}
var arrDMatterAreaOfLaw = [];
var arrDMatterPracticeGroup = [], arrDMatterUsers = [], arrDMatterUserEmails = [], arrDMatterPermissions = [], arrDMatterRoles = [];
arrDMatterAreaOfLaw = defaultMatterConfig.MatterAreaofLaw?defaultMatterConfig.MatterAreaofLaw.split('$|$'):[];
arrDMatterPracticeGroup = defaultMatterConfig.MatterPracticeGroup ? defaultMatterConfig.MatterPracticeGroup.split('$|$') : [];
dMatterTypes = defaultMatterConfig.MatterTypes ? defaultMatterConfig.MatterTypes : "";
cm.showRoles = defaultMatterConfig.ShowRole != undefined ? defaultMatterConfig.ShowRole : (cm.isBackwardCompatible ? false : true);
cm.showMatterId = defaultMatterConfig.ShowMatterId != undefined ? defaultMatterConfig.ShowMatterId : true;
cm.matterIdType = defaultMatterConfig.MatterIdType ? defaultMatterConfig.MatterIdType : "Custom";
setMatterId(cm.matterIdType);
var arrDMatterTypes = dMatterTypes.split('$|$');
dPrimaryMatterType = defaultMatterConfig.DefaultMatterType ? defaultMatterConfig.DefaultMatterType : "";
cm.primaryMatterType = dPrimaryMatterType != "" ? true : false;
dMatterUsers = defaultMatterConfig.MatterUsers ? defaultMatterConfig.MatterUsers : "";
arrDMatterUsers = dMatterUsers.split('$|$');
dMatterUserEmails = defaultMatterConfig.MatterUserEmails ? defaultMatterConfig.MatterUserEmails : "";
arrDMatterUserEmails = dMatterUserEmails.split('$|$');
dMatterPermissions = defaultMatterConfig.MatterPermissions ? defaultMatterConfig.MatterPermissions : "";
arrDMatterPermissions = dMatterPermissions.split('$|$');
dMatterRoles = defaultMatterConfig.MatterRoles ? defaultMatterConfig.MatterRoles : "";
arrDMatterRoles = dMatterRoles.split('$|$');
cm.popupContainer = "hide";
getMatterGUID();
cm.selectedDocumentTypeLawTerms = [];
cm.documentTypeLawTerms = [];
if (cm.taxonomyHierarchyLevels == 2) {
setDefaultTaxonomyHierarchyLeveTwo(arrDMatterTypes, dPrimaryMatterType);
}
if (cm.taxonomyHierarchyLevels == 3) {
setDefaultTaxonomyHierarchyLevelThree(arrDMatterTypes, dPrimaryMatterType);
}
if (cm.taxonomyHierarchyLevels == 4) {
setDefaultTaxonomyHierarchyLevelFour(arrDMatterTypes, dPrimaryMatterType);
}
if (cm.taxonomyHierarchyLevels == 5) {
setDefaultTaxonomyHierarchyLevelFive(arrDMatterTypes, dPrimaryMatterType);
}
cm.selectedConflictCheckUser = ""; cm.blockedUserName = ""; cm.conflictDate = "";
cm.assignPermissionTeams = [];
addLoggedinUserToTeam();
for (var aCount = 0; aCount < arrDMatterUsers.length; aCount++) {
var assignPermTeam = {};
if ("" !== arrDMatterUsers[aCount]) {
arrDMatterUsers[aCount] = arrDMatterUsers[aCount].replace(/\;$/, '');
arrDMatterUserEmails[aCount] = arrDMatterUserEmails[aCount].replace(/\;$/, '');
assignPermTeam.assignedUser = arrDMatterUsers[aCount] + "(" + arrDMatterUserEmails[aCount] + ");";
if (-1 == cm.oSiteUsers.indexOf(arrDMatterUserEmails[aCount])) {
cm.oSiteUsers.push(arrDMatterUserEmails[aCount]);
cm.oSiteUserNames.push(arrDMatterUsers[aCount]);
}
var userDetails = {};
userDetails.userName = arrDMatterUserEmails[aCount];
userDetails.userExsists = true;
userDetails.userConfirmation = true;
if (!assignPermTeam.teamUsers) {
assignPermTeam.teamUsers = [];
}
var isRowPresent = $filter("filter")(assignPermTeam.teamUsers, arrDMatterUserEmails[aCount]);
if (isRowPresent.length == 0) {
assignPermTeam.teamUsers.push(userDetails);
}
angular.forEach(cm.assignRoles, function (assignRole) {
if (arrDMatterRoles[aCount] == assignRole.name) {
assignPermTeam.assignedRole = assignRole;
}
});
angular.forEach(cm.assignPermissions, function (assignPermission) {
if (arrDMatterPermissions[aCount] == assignPermission.name) {
assignPermTeam.assignedPermission = assignPermission;
}
});
}
else {
assignPermTeam.assignedUser = "";
assignPermTeam.assignedRole = cm.assignRoles[0];
assignPermTeam.assignedPermission = cm.assignPermissions[0];
}
assignPermTeam.assignedAllUserNamesAndEmails = assignPermTeam.assignedUser;
assignPermTeam.assigneTeamRowNumber = cm.assignPermissionTeams.length + 1;
assignPermTeam.userConfirmation = true;
assignPermTeam.userExsists = true;
cm.assignPermissionTeams.push(assignPermTeam);
}
}
cm.popupContainerBackground = "hide";
});
}
else {
localStorage.iLivePage = cm.iCurrentPage = 1;$timeout(function(){angular.element('#divTab1').focus();},500);
cm.matterName = "";
cm.matterId = "";
cm.matterDescription = "";
cm.selectedDocumentTypeLawTerms = [];
cm.documentTypeLawTerms = [];
cm.showMatterId = true;
cm.showRoles = true;
cm.matterIdType = "Custom";
cm.clientId = "";
cm.selectedClientName = undefined;
cm.inputs = [];
cm.configurableSection = false;
cm.createContent.TabNumber = 3;
}
}
function setMatterId(matterIDType) {
if (matterIDType !== "") {
switch (matterIDType) {
case "Guid":
cm.matterId = cm.matterGUID;
break;
case "DateTime":
Date.prototype.yyyymmdd = function () {
var yyyy = this.getFullYear().toString();
var mm = (this.getMonth() + 1).toString(); // getMonth() is zero-based
var dd = this.getDate().toString();
return yyyy + (mm[1] ? mm : "0" + mm[0]) + (dd[1] ? dd : "0" + dd[0]) + this.getHours().toString() + this.getMinutes().toString() + this.getSeconds().toString() + this.getMilliseconds().toString();;
};
var date = new Date();
cm.matterId = date.yyyymmdd();
break;
case "Custom":
cm.matterId = cm.matterId;
break;
}
}
}
function setDefaultTaxonomyHierarchyLeveTwo(arrDMatterTypes, dPrimaryMatterType) {
angular.forEach(cm.levelOneList, function (levelOneTerm) {
angular.forEach(levelOneTerm.level2, function (levelTwoTerm) {
for (var iCount = 0; iCount < arrDMatterTypes.length; iCount++) {
if (levelTwoTerm.termName == arrDMatterTypes[iCount]) {
var documentType = levelTwoTerm;
documentType.levelOneFolderNames = levelOneTerm.folderNames;
documentType.levelOneTermId = levelOneTerm.id;
documentType.levelOneTermName = levelOneTerm.termName;
documentType.termChainName = levelOneTerm.termName;
if (cm.taxonomyHierarchyLevels >= 2) {
documentType.levelTwoFolderNames = levelTwoTerm.folderNames;
documentType.levelTwoTermId = levelTwoTerm.id;
documentType.levelTwoTermName = levelTwoTerm.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelTwoTermName;
}
cm.documentTypeLawTerms.push(documentType);
documentType.primaryMatterType = false;
if (levelTwoTerm.termName == dPrimaryMatterType) {
documentType.primaryMatterType = true;
cm.activeDocumentTypeLawTerm = levelTwoTerm;
}
cm.selectedDocumentTypeLawTerms.push(documentType);
getAdditionalMatterProperties(documentType);
}
}
});
});
}
function setDefaultTaxonomyHierarchyLevelThree(arrDMatterTypes, dPrimaryMatterType) {
angular.forEach(cm.levelOneList, function (levelOneTerm) {
angular.forEach(levelOneTerm.level2, function (levelTwoTerm) {
angular.forEach(levelTwoTerm.level3, function (levelThreeTerm) {
for (var iCount = 0; iCount < arrDMatterTypes.length; iCount++) {
if (levelThreeTerm.termName == arrDMatterTypes[iCount]) {
var documentType = levelThreeTerm;
documentType.levelOneFolderNames = levelOneTerm.folderNames;
documentType.levelOneTermId = levelOneTerm.id;
documentType.levelOneTermName = levelOneTerm.termName;
documentType.termChainName = levelOneTerm.termName;
if (cm.taxonomyHierarchyLevels >= 2) {
documentType.levelTwoFolderNames = levelTwoTerm.folderNames;
documentType.levelTwoTermId = levelTwoTerm.id;
documentType.levelTwoTermName = levelTwoTerm.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelTwoTermName;
}
if (cm.taxonomyHierarchyLevels >= 3) {
documentType.levelThreeFolderNames = levelThreeTerm.folderNames;
documentType.levelThreeId = levelThreeTerm.id;
documentType.levelThreeTermName = levelThreeTerm.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelThreeTermName;
}
cm.documentTypeLawTerms.push(documentType);
documentType.primaryMatterType = false;
if (levelThreeTerm.termName == dPrimaryMatterType) {
documentType.primaryMatterType = true;
cm.activeDocumentTypeLawTerm = levelThreeTerm;
}
cm.selectedDocumentTypeLawTerms.push(documentType);
getAdditionalMatterProperties(documentType);
}
}
});
});
});
}
function setDefaultTaxonomyHierarchyLevelFour(arrDMatterTypes, dPrimaryMatterType) {
angular.forEach(cm.levelOneList, function (levelOneTerm) {
angular.forEach(levelOneTerm.level2, function (levelTwoTerm) {
angular.forEach(levelTwoTerm.level3, function (levelThreeTerm) {
angular.forEach(levelThreeTerm.level4, function (levelFourTerm) {
for (var iCount = 0; iCount < arrDMatterTypes.length; iCount++) {
if (levelFourTerm.termName == arrDMatterTypes[iCount]) {
var documentType = levelFourTerm;
documentType.levelOneFolderNames = levelOneTerm.folderNames;
documentType.levelOneTermId = levelOneTerm.id;
documentType.levelOneTermName = levelOneTerm.termName;
documentType.termChainName = levelOneTerm.termName;
if (cm.taxonomyHierarchyLevels >= 2) {
documentType.levelTwoFolderNames = levelTwoTerm.folderNames;
documentType.levelTwoTermId = levelTwoTerm.id;
documentType.levelTwoTermName = levelTwoTerm.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelTwoTermName;
}
if (cm.taxonomyHierarchyLevels >= 3) {
documentType.levelThreeFolderNames = levelThreeTerm.folderNames;
documentType.levelThreeId = levelThreeTerm.id;
documentType.levelThreeTermName = levelThreeTerm.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelThreeTermName;
}
if (cm.taxonomyHierarchyLevels >= 4) {
documentType.levelFourFolderNames = levelFourTerm.folderNames;
documentType.levelFourId = levelFourTerm.id;
documentType.levelFourTermName = levelFourTerm.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelFourTermName;
}
cm.documentTypeLawTerms.push(documentType);
documentType.primaryMatterType = false;
if (levelFourTerm.termName == dPrimaryMatterType) {
documentType.primaryMatterType = true;
cm.activeDocumentTypeLawTerm = levelFourTerm;
}
cm.selectedDocumentTypeLawTerms.push(documentType);
getAdditionalMatterProperties(documentType);
}
}
});
});
});
});
}
function setDefaultTaxonomyHierarchyLevelFive(arrDMatterTypes, dPrimaryMatterType) {
angular.forEach(cm.levelOneList, function (levelOneTerm) {
angular.forEach(levelOneTerm.level2, function (levelTwoTerm) {
angular.forEach(levelTwoTerm.level3, function (levelThreeTerm) {
angular.forEach(levelThreeTerm.level4, function (levelFourTerm) {
angular.forEach(levelFourTerm.level5, function (levelFiveTerm) {
for (var iCount = 0; iCount < arrDMatterTypes.length; iCount++) {
if (levelFiveTerm.termName == arrDMatterTypes[iCount]) {
var documentType = levelFiveTerm;
documentType.levelOneFolderNames = levelOneTerm.folderNames;
documentType.levelOneTermId = levelOneTerm.id;
documentType.levelOneTermName = levelOneTerm.termName;
documentType.termChainName = levelOneTerm.termName;
if (cm.taxonomyHierarchyLevels >= 2) {
documentType.levelTwoFolderNames = levelTwoTerm.folderNames;
documentType.levelTwoTermId = levelTwoTerm.id;
documentType.levelTwoTermName = levelTwoTerm.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelTwoTermName;
}
if (cm.taxonomyHierarchyLevels >= 3) {
documentType.levelThreeFolderNames = levelThreeTerm.folderNames;
documentType.levelThreeId = levelThreeTerm.id;
documentType.levelThreeTermName = levelThreeTerm.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelThreeTermName;
}
if (cm.taxonomyHierarchyLevels >= 4) {
documentType.levelFourFolderNames = levelFourTerm.folderNames;
documentType.levelFourId = levelFourTerm.id;
documentType.levelFourTermName = levelFourTerm.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelFourTermName;
}
if (cm.taxonomyHierarchyLevels >= 5) {
documentType.levelFiveFolderNames = levelFiveTerm.folderNames;
documentType.levelFiveId = levelFiveTerm.id;
documentType.levelFiveTermName = levelFiveTerm.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelFiveTermName;
}
cm.documentTypeLawTerms.push(documentType);
documentType.primaryMatterType = false;
if (levelFiveTerm.termName == dPrimaryMatterType) {
documentType.primaryMatterType = true;
cm.activeDocumentTypeLawTerm = levelFiveTerm;
}
cm.selectedDocumentTypeLawTerms.push(documentType);
getAdditionalMatterProperties(documentType);
}
}
});
});
});
});
});
}
cm.checkValidMatterName = function () {
oPageOneState.oValidMatterName = undefined;
var bInValid = false;
var RegularExpression = new RegExp(specialCharactersRegExp.SpecialCharacterExpressionMatterTitle);
var sCurrMatterName = cm.matterName.trim();
if (null !== sCurrMatterName && "" !== sCurrMatterName) {
var arrValidMatch = sCurrMatterName.match(RegularExpression);
if (null === arrValidMatch || arrValidMatch[0] !== sCurrMatterName) {
bInValid = false;
} else {
bInValid = true;
}
}
if (bInValid) {
optionsForCheckMatterName.Matter.Name = cm.matterName.trim();
optionsForCheckMatterName.Client.Url = cm.clientUrl;
getCheckValidMatterName(optionsForCheckMatterName, function (response) {
cm.errorPopUpBlock = false;
cm.errorBorder = "";
if (response.code != 200) {
if (cm.iCurrentPage == 1) {
cm.errTextMsg = cm.createContent.ErrorMessageEntityLibraryCreated;
//"Matter library for this Matter is already created. Kindly delete the library or please enter a different Matter name.";
cm.errorBorder = "mattername"; showErrorNotification("mattername");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
oPageOneState.oValidMatterName = false;
}
return false;
} else {
// alert("success");
oPageOneState.oValidMatterName = true;
if (oPageOneState.isNextClick) {
cm.navigateToSecondSection(oPageOneState.sectionClickName);
}
return true;
}
});
}
}
//To navigate to section on click of next or previous button.
cm.navigateToSecondSection = function (sectionName) {
cm.errorPopUpBlock = false;
cm.errorBorder = "";
cm.notificationPopUpBlock = false;
cm.notificationBorder = "";
oPageOneState.sectionClickName = sectionName;
if (sectionName == "snConflictCheck" && cm.iCurrentPage !== 2) {
if (validateCurrentPage(cm.iCurrentPage)) {
cm.sectionName = sectionName;
oPageOneState.isNextClick = false;
cm.iCurrentPage = 2;$timeout(function(){angular.element('#divTab2').focus();},500);
localStorage.iLivePage = 2;
makePrevOrNextButton();
}
}
else if (sectionName == "snCreateAndShare" && cm.iCurrentPage !== 3 && cm.inputs.length == 0) {
if (validateCurrentPage(cm.iCurrentPage)) {
if (cm.iCurrentPage == 2) {
callCheckSecurityGroupExists("snCreateAndShare");
} else {
cm.sectionName = sectionName;
cm.iCurrentPage = 3;$timeout(function(){angular.element('#divTab3').focus();},500);
localStorage.iLivePage = 3;
makePrevOrNextButton();
}
}
}
else if (sectionName == "snConfigSection" && cm.iCurrentPage !== 4 && cm.inputs.length > 0) {
if (validateCurrentPage(cm.iCurrentPage)) {
cm.sectionName = sectionName;
cm.iCurrentPage = 4;$timeout(function(){angular.element('#divTab4').focus();},500);
localStorage.iLivePage = 4;
makePrevOrNextButton();
}
}
else if (sectionName == "snCreateAndShare" && cm.iCurrentPage !== 3 && cm.inputs.length > 0) {
if (validateCurrentPage(cm.iCurrentPage)) {
if (cm.iCurrentPage == 4) {
callCheckSecurityGroupExists("snCreateAndShare");
} else {
cm.sectionName = sectionName;
cm.iCurrentPage = 3;$timeout(function(){angular.element('#divTab3').focus();},500);
localStorage.iLivePage = 3;
makePrevOrNextButton();
}
}
}
else if (sectionName == "snOpenMatter" && cm.iCurrentPage !== 1) {
cm.iCurrentPage = 1;$timeout(function(){angular.element('#divTab1').focus();},500); cm.sectionName = sectionName;
localStorage.iLivePage = 1;
makePrevOrNextButton();
}
}
function makePrevOrNextButton() {
switch (cm.iCurrentPage) {
case 1:
cm.prevButtonDisabled = true;
cm.nextButtonDisabled = false;
break;
case 2:
cm.prevButtonDisabled = false;
cm.nextButtonDisabled = false;
break;
case 3:
cm.prevButtonDisabled = false;
cm.nextButtonDisabled = true;
if (cm.inputs.length == 0) {
cm.nextButtonDisabled = true;
}
break;
case 4:
if (cm.inputs.length > 0) {
cm.prevButtonDisabled = false;
cm.nextButtonDisabled = false;
}
break;
default:
cm.prevButtonDisabled = false;
cm.nextButtonDisabled = false;
break;
}
}
var validateAttornyUserRolesAndPermissins = function () {
var responsibleAttorny = 0, fullControl = 0,teamRowNumber=1;
if (!cm.showRoles) {
assignDefaultRolesToTeamMembers();
}
for (var iCount = 0; iCount < cm.assignPermissionTeams.length; iCount++) {
teamRowNumber = iCount == 0 ? cm.assignPermissionTeams[iCount].assigneTeamRowNumber : teamRowNumber;
if ("" !== cm.assignPermissionTeams[iCount].assignedUser) {
if (cm.assignPermissionTeams[iCount].assignedRole && "" !== cm.assignPermissionTeams[iCount].assignedRole.name) {
if (cm.assignPermissionTeams[iCount].assignedPermission && "" != cm.assignPermissionTeams[iCount].assignedPermission.name) {
if (cm.assignPermissionTeams[iCount].assignedRole.mandatory) {
responsibleAttorny++;
}
if (cm.assignPermissionTeams[iCount].assignedPermission.name == "Full Control") {
fullControl++;
}
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageEntityPermission;
//"Please provide at least one permission on this matter. ";
cm.errorBorder = "";
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
return false;
}
}
else {
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
cm.errTextMsg = cm.createContent.ErrorMessageEntityTeamRole1;
//"Enter at least one role for this matter.";
cm.errorBorder = "";
return false;
}
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageTeamMember1;
cm.errorBorder = "";
showErrorNotificationAssignTeams(cm.errTextMsg, cm.assignPermissionTeams[iCount].assigneTeamRowNumber, "user");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
return false;
}
}
if (responsibleAttorny >= 1) {
if (fullControl >= 1) {
return true;
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageEntityTeamPermission2;
//"Please provide at least one user who has Full Control permission on this matter.";
cm.errorBorder = "permUser" + teamRowNumber;
showErrorNotificationAssignTeams(cm.errTextMsg, teamRowNumber, "perm");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
return false;
}
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageEntityTeamRole2;
//"Enter at least one Responsible Attorney for this matter.";
cm.errorBorder = "roleUser" + teamRowNumber;
showErrorNotificationAssignTeams(cm.errTextMsg, teamRowNumber, "role");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
return false;
}
}
function setTeamConfirmationValues() {
angular.forEach(cm.assignPermissionTeams, function (team) {
if (team.userConfirmation) {
angular.element('#txtUser' + team.assigneTeamRowNumber).attr('confirm', "true");
}
});
}
function validateCheckUserExisits() {
var validUsers = false; var keepGoing = true;
setTeamConfirmationValues();
angular.forEach(cm.assignPermissionTeams, function (team) {
if (keepGoing) {
var userVal = angular.element('#txtUser' + team.assigneTeamRowNumber).attr('confirm');
if (userVal == "false") {
cm.textInputUser = team;
if (cm.iCurrentPage == 2) {
showNotificatoinMessages(team.assigneTeamRowNumber);
cm.notificationPopUpBlock = true;
}
}
validUsers = (userVal == "false") ? false : true;
if (!validUsers) {
keepGoing = false;
}
}
});
return validUsers;
}
function validateUsers() {
var keepGoing = true;
var username = "";
if (cm.defaultConfilctCheck) {
if (undefined == cm.selectedConflictCheckUser || "" == cm.selectedConflictCheckUser) {
cm.errTextMsg = cm.createContent.ErrorMessageConflictUser;
//"Enter the conflict reviewers name (for auditing purposes).";
cm.errorBorder = "ccheckuser";
showErrorNotification("ccheckuser");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
return false;
}
if (cm.conflictRadioCheck) {
if (undefined == cm.blockedUserName || "" == cm.blockedUserName) {
cm.errTextMsg = cm.createContent.ErrorMessageConflictUser1;
//"Enter users that are conflicted with this matter.";
cm.errorBorder = "cblockuser";
showErrorNotification("cblockuser");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
return false;
}
}
}
if (cm.selectedConflictCheckUser && "" !== cm.selectedConflictCheckUser) {
username = getUserName(cm.selectedConflictCheckUser + ";", false);
if (-1 == cm.oSiteUsers.indexOf(username[0])) {
cm.errTextMsg = cm.createContent.ErrorMessageConflictUser;
//"Enter the conflict reviewers name (for auditing purposes).";
cm.errorBorder = "ccheckuser";
showErrorNotification("ccheckuser");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
return false;
}
username = getUserName(cm.selectedConflictCheckUser + ";", true);
if (-1 == cm.oSiteUserNames.indexOf(username[0])) {
cm.errTextMsg = cm.createContent.ErrorMessageConflictUser;
//"Enter the conflict reviewers name (for auditing purposes).";
cm.errorBorder = "ccheckuser";
showErrorNotification("ccheckuser");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
return false;
}
}
if (cm.blockedUserName && "" !== cm.blockedUserName) {
username = getUserName(cm.blockedUserName + ";", false);
username=cleanArray(username);
for (var i = 0; i < username.length; i++) {
if (-1 == cm.oSiteUsers.indexOf(username[i])) {
cm.errTextMsg = cm.createContent.ErrorMessageEntityUsers1;
//"Please enter valid team members.";
//"Enter users that are conflicted with this matter.";
cm.errorBorder = "cblockuser";
showErrorNotification("cblockuser");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
return false;
}
}
username = getUserName(cm.blockedUserName + ";", true);
username = cleanArray(username);
for (var i = 0; i < username.length; i++) {
if (-1 == cm.oSiteUserNames.indexOf(username[i])) {
cm.errTextMsg = cm.createContent.ErrorMessageEntityUsers1;
//"Please enter valid team members.";
//"Enter users that are conflicted with this matter.";
cm.errorBorder = "cblockuser";
showErrorNotification("cblockuser");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
return false;
}
}
}
angular.forEach(cm.assignPermissionTeams, function (team) {
if (keepGoing) {
if (team.assignedUser && team.assignedUser != "") {//For loop
var usersEmails = getUserName(team.assignedUser, false);
usersEmails = cleanArray(usersEmails);
var userAliasNames = getUserName(team.assignedUser, true);
userAliasNames = cleanArray(userAliasNames);
if (usersEmails.length !== team.teamUsers.length) {
cm.checkUserExists(team);
keepGoing = false;
return false;
} else {
for (var j = 0; j < usersEmails.length; j++) {
angular.forEach(team.teamUsers, function (teamUser) {
if (keepGoing) {
if (teamUser.userName == usersEmails[j]) {
if (teamUser.userExsists) {
if (-1 == cm.oSiteUsers.indexOf(usersEmails[j])) {
cm.errTextMsg = cm.createContent.ErrorMessageEntityUsers1;
//"Please enter valid team members.";
cm.errorBorder = "";
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
showErrorNotificationAssignTeams(cm.errTextMsg, team.assigneTeamRowNumber, "user")
cm.errorBorder = "txtUser" + team.assigneTeamRowNumber; keepGoing = false;
return false;
}
if (-1 == cm.oSiteUserNames.indexOf(userAliasNames[j])) {
cm.errTextMsg = cm.createContent.ErrorMessageEntityUsers1;
//"Please enter valid team members.";
cm.errorBorder = "";
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
showErrorNotificationAssignTeams(cm.errTextMsg, team.assigneTeamRowNumber, "user")
cm.errorBorder = "txtUser" + team.assigneTeamRowNumber; keepGoing = false;
return false;
}
if (cm.blockedUserName && cm.blockedUserName != "") {
var blockedUserEmail = getUserName(cm.blockedUserName + ";", false);
blockedUserEmail = cleanArray(blockedUserEmail);
for (var i = 0; i < blockedUserEmail.length; i++) {
if (usersEmails[j] == blockedUserEmail[i]) {
cm.errTextMsg = cm.createContent.ErrorMessageEntityUsers2;
//"Please enter individual who is not conflicted.";
cm.errorBorder = "";
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
showErrorNotificationAssignTeams(cm.errTextMsg, team.assigneTeamRowNumber, "user")
cm.errorBorder = "txtUser" + team.assigneTeamRowNumber; keepGoing = false;
return false;
}
}
}
} else {
if (!teamUser.userConfirmation) {
cm.textInputUser = team;
cm.currentExternalUser.rowNumber = team.assigneTeamRowNumber;
cm.currentExternalUser.userIndex = j;
cm.currentExternalUser.userName = teamUser.userName;
if (cm.iCurrentPage == 2) {
showNotificatoinMessages(team.assigneTeamRowNumber);
cm.notificationPopUpBlock = true;
}
keepGoing = false;
return false;
}
}
}
}
});
}
}
}
else {
showErrorNotificationAssignTeams(cm.createContent.ErrorMessageTeamMember1, team.assigneTeamRowNumber, "user")
// showErrorNotificationAssignTeams(team.assignedRole.name + " cannot be empty", team.assigneTeamRowNumber, "user")
cm.errorBorder = "txtUser" + team.assigneTeamRowNumber;
keepGoing = false;
return false;
}
}
});
if (keepGoing) {
return true;
} else {
return false;
}
}
//setting the team roles to default i.e responsible attrony when showRole is false from default settings.
function assignDefaultRolesToTeamMembers() {
if (!cm.showRoles) {
var arrAssigneTeams = cm.assignPermissionTeams, nCount = 0, nlength;
if (arrAssigneTeams) {
nlength = arrAssigneTeams.length;
for (nCount = 0; nCount < nlength; nCount++) {
if (arrAssigneTeams[nCount] && arrAssigneTeams[nCount].assignedUser && "" !== arrAssigneTeams[nCount].assignedUser) {
angular.forEach(cm.assignRoles, function (role) {
if (role.mandatory) {
arrAssigneTeams[nCount].assignedRole = role;
}
});
}
}
}
}
}
cm.arrAssignedUserName = [], cm.arrAssignedUserEmails = [], cm.userIDs = [];
function checkSecurityGroupExists(options, callback) {
api({
resource: 'matterResource',
method: 'checkSecurityGroupExists',
data: options,
success: callback
});
}
cm.externalusers = [];
cm.onSelect = function ($item, $model, $label, value, fucnValue, $event, username) {
var typeheadelelen = angular.element('.dropdown-menu li').length;
var noresults = true;
if (typeheadelelen == 1) {
if (angular.element('.dropdown-menu li a')[0]) {
if (angular.element('.dropdown-menu li a')[0].innerHTML == "No results found" ||( $item && $item.name == "No results found")) {
noresults = false;
if ($event.keyCode == 9 || $event.keyCode == 13) {
cm.user = angular.element('#' + $event.currentTarget.id).val();
}
}
}
}
if ($item && $item.name !== "No results found") {
if (value == "conflictcheckuser") {
cm.selectedConflictCheckUser = $item.name + '(' + $item.email + ')';
cm.textForAria($item.name + ' has been selected');
}
if (value == "team" || value == "blockuser") {
if ($label.assignedAllUserNamesAndEmails && $label.assignedAllUserNamesAndEmails.indexOf(';') > -1) {
$label.assignedUser = $item.name + '(' + $item.email + ');';
if ($label.assignedAllUserNamesAndEmails.indexOf($item.name) == -1 ) {
if ($label.assignedAllUserNamesAndEmails.indexOf($item.email) > -1) {
$label.assignedAllUserNamesAndEmails = $label.assignedAllUserNamesAndEmails.replace($item.email + ";", "");
}
$label.assignedAllUserNamesAndEmails = $label.assignedAllUserNamesAndEmails + $label.assignedUser;
$label.assignedUser = $label.assignedAllUserNamesAndEmails;
} else {
$label.assignedUser = $label.assignedAllUserNamesAndEmails;
}
cm.textForAria($item.name + ' has been selected');
}
else {
cm.textForAria($item.name + ' has been selected');
$label.assignedUser = $item.name + '(' + $item.email + ');';
$label.assignedAllUserNamesAndEmails = $item.name + '(' + $item.email + ');';
}
cm.typehead = false;
cm.notificationPopUpBlock = false;
}
if (-1 == cm.oSiteUsers.indexOf($item.email)) {
cm.oSiteUsers.push($item.email);
}
if (-1 == cm.oSiteUserNames.indexOf($item.name)) {
cm.oSiteUserNames.push($item.name);
}
if (value == "team") {
$label.userConfirmation = false;
cm.checkUserExists($label);
}
}
else {
if (fucnValue == "on-blurr") {
cm.user = username;
$label.assignedAllUserNamesAndEmails = $label.assignedUser;
var userEmailTxt = "",userEmailString="";
var userNames = getUserName($label.assignedUser, true);
var userEmails = getUserName($label.assignedUser, false);
var exsistingTeams = [];
for (var i = 0; i < userEmails.length; i++) {
if (userEmails[i] != "" && validateEmail(userEmails[i])) {
angular.forEach($label.teamUsers, function (team) {
if (team.userName == userEmails[i]) {
userEmailString = userEmailString + userEmails[i] + ";";
exsistingTeams.push(team);
}
});
var userNameAndEmailTxt = (userNames[i] == userEmails[i]) ? userEmails[i] : userNames[i] + "(" + userEmails[i] + ")";
userEmailTxt = userEmailTxt + userNameAndEmailTxt + ";";
cm.textForAria(userEmailTxt);
}
}
angular.element('#txtUser' + $label.assigneTeamRowNumber).attr('uservalue', userEmailString);
$label.assignedAllUserNamesAndEmails = userEmailTxt;
$label.teamUsers = exsistingTeams;
}
if (fucnValue == "on-blurr" && value == "teamuser") {
if (typeheadelelen == 0 && noresults) {
cm.checkUserExists($label, $event);
}else if(typeheadelelen >=1 && !noresults){
cm.checkUserExists($label, $event);
$("[uib-typeahead-popup].dropdown-menu").css("display", "none");
}
}
if (!noresults) {
if (value == "conflictcheckuser") {
$label = "";
cm.selectedConflictCheckUser = "";
}
if (value == "blockuser") {
$label.assignedUser = "";
$label.assignedUser = cm.user;
cm.blockedUserName = "";
}
if (value == "team") {
$label.assignedUser = "";
$label.assignedUser = cm.user;
}
}
}
}
function getArrAssignedUserNamesAndEmails() {
cm.arrAssignedUserName = [], cm.arrAssignedUserEmails = [], cm.userIDs = [];
var count = 1;
angular.forEach(cm.assignPermissionTeams, function (team) { //For loop
cm.arrAssignedUserName.push(getUserName(team.assignedUser , true));
cm.arrAssignedUserEmails.push(getUserName(team.assignedUser , false));
cm.userIDs.push("txtUser" + count++);
});
}
var callCheckSecurityGroupExists = function (sectionName) {
getArrAssignedUserNamesAndEmails();
var optionsForSecurityGroupCheck = {
Client: {
Url: cm.clientUrl
},
Matter: {
Name: cm.matterName.trim(),
AssignUserNames: cm.arrAssignedUserName,
AssignUserEmails: cm.arrAssignedUserEmails,
Conflict: {
Identified: cm.conflictRadioCheck
},
BlockUserNames: (undefined !== cm.blockedUserName && null !== cm.blockedUserName) ? getUserName(cm.blockedUserName.trim() + ";", false) : [],
},
UserIds: cm.userIDs
}
cm.popupContainerBackground = "Show";
checkSecurityGroupExists(optionsForSecurityGroupCheck, function (response) {
var rowNumber = undefined;
if (response.isError) {
if (response.value){
cm.errTextMsg = response.value.split('$')[0];
rowNumber = parseInt(response.value.split('$')[1].replace(/[^\d.]/g, ''), 10);
}
else if (response.code) {
cm.errTextMsg = response.code.split('$|$')[0];
rowNumber = parseInt(response.code.split('$|$')[1].replace(/[^\d.]/g, ''), 10);
}
cm.errorBorder = "";
cm.errorStatus = true;
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
cm.errorBorder = "txtUser" + rowNumber;
showErrorNotificationAssignTeams(cm.errTextMsg, rowNumber, "securityuser")
cm.popupContainerBackground = "hide";
cm.sectionName = "snConflictCheck";
cm.iCurrentPage = 2;$timeout(function(){angular.element('#divTab2').focus();},500);
localStorage.iLivePage = 2;
makePrevOrNextButton();
} else {
cm.iCurrentPage = 3;
cm.popupContainerBackground = "hide";
$timeout(function () { angular.element('#divTab3').focus(); }, 500);
cm.sectionName = sectionName;
localStorage.iLivePage = 3;
makePrevOrNextButton();
}
});
}
var getUserName = function (sUserEmails, bIsName) {
"use strict";
var arrUserNames = [], sEmail = "", oEmailRegex = new RegExp(oPageOneState.oEmailRegexp);
if (sUserEmails && null !== sUserEmails && "" !== sUserEmails) {
arrUserNames = sUserEmails.split(";");
for (var iIterator = 0; iIterator < arrUserNames.length - 1; iIterator++) {
if (arrUserNames[iIterator] && null !== arrUserNames[iIterator] && "" !== arrUserNames[iIterator]) {
if (-1 !== arrUserNames[iIterator].lastIndexOf("(")) {
sEmail = $.trim(arrUserNames[iIterator].substring(arrUserNames[iIterator].lastIndexOf("(") + 1, arrUserNames[iIterator].lastIndexOf(")")));
if (oEmailRegex.test(sEmail)) {
arrUserNames[iIterator] = bIsName ? $.trim(arrUserNames[iIterator].substring(0, arrUserNames[iIterator].lastIndexOf("("))) : sEmail;
}
}
}
}
}
return arrUserNames;
}
cm.dateOptions = {
formatYear: 'yy',
maxDate: new Date(),
// minDate: new Date(),
startingDay: 1,
shortcutPropagation: true
};
cm.open1 = function ($event) {
if ($event) {
$event.preventDefault();
$event.stopPropagation();
}
cm.opened = cm.opened ? false : true;
};
cm.opened = false;
cm.conflictDate = $filter('date')(cm.conflictDate, 'MM/dd/yyyy');
function convert(str) {
var date = new Date(str),
mnth = ("0" + (date.getMonth() + 1)).slice(-2),
day = ("0" + date.getDate()).slice(-2);
return [mnth, day, date.getFullYear(), ].join("/");
}
cm.secureMatterRadioEnabled = true;
cm.conflictRadioCheckValue = true;
cm.conflictRadioChange = function (value) {
cm.blockedUserName = "";
cm.conflictUsers.assignedUser = "";
if (value) {
cm.secureMatterRadioEnabled = true;
cm.secureMatterCheck = true;
}
else {
cm.secureMatterRadioEnabled = false;
}
}
cm.addNewAssignPermissions = function () {
var newItemNo = cm.assignPermissionTeams[cm.assignPermissionTeams.length - 1].assigneTeamRowNumber+1;
cm.assignPermissionTeams.push({ 'assigneTeamRowNumber': newItemNo, 'assignedRole': cm.assignRoles[0], 'assignedPermission': cm.assignPermissions[0] });
jQuery.a11yfy.assertiveAnnounce('new row added to add user and add role and permissions');
};
cm.removeAssignPermissionsRow = function (index) {
var remainingRows = cm.assignPermissionTeams.length;
if (1 < remainingRows) {
var userAboutToDelete = getUserName(cm.assignPermissionTeams[index].assignedUser, true);
userAboutToDelete = userAboutToDelete == undefined || userAboutToDelete.length == 0 ? "" : userAboutToDelete[0];
cm.assignPermissionTeams.splice(index, 1);
jQuery.a11yfy.assertiveAnnounce(userAboutToDelete+'permission row removed successfully');
}
cm.notificationPopUpBlock = false;
cm.notificationBorder = "";
};
if (localStorage.getItem("iLivePage")) {
if (localStorage.getItem("iLivePage") >= 2 ) {
var oPageData = JSON.parse(localStorage.getItem("oPageOneData"));
cm.clientId = oPageData.ClientId;
cm.clientUrl = oPageData.Client.url;
cm.selectedClientName = oPageData.Client.name;
cm.selectedClient = oPageData.Client;
cm.matterName = oPageData.MatterName;
cm.matterId = oPageData.MatterId;
cm.matterDescription = oPageData.MatterDescription;
cm.assignPermissionTeams = oPageData.AssignPermissionTeams;
cm.oSiteUsers = oPageData.oSiteUsers;
cm.oSiteUserNames = oPageData.oSiteUserNames;
cm.clientNameList = [];
cm.configurableSection = oPageData.ConfigurableSection ? oPageData.ConfigurableSection : false;
cm.createContent.TabNumber = cm.configurableSection?4:3;
cm.showRoles = oPageData.showRoles;
cm.showMatterId = oPageData.showMatterId;
cm.matterIdType = oPageData.matterIdType;
cm.conflictRadioCheck = oPageData.conflictRadioCheck;
cm.canCreateMatterPermission = oPageData.CanCreateMatterPermission;
cm.selectedDocumentTypeLawTerms = [];
cm.selectedDocumentTypeLawTerms = cm.documentTypeLawTerms = oPageData.oSelectedDocumentTypeLawTerms;
cm.popupContainerBackground = "Show";
cm.popupContainer = "hide";
cm.sectionName = "";
cm.sectionName = "snConflictCheck";
cm.removeDTItem = false;
cm.primaryMatterType = cm.errorPopUp = false;
cm.matterGUID = oPageData.matterGUID;
cm.iCurrentPage = 2;$timeout(function(){angular.element('#divTab2').focus();},500);
cm.includeRssFeeds = (localStorage.getItem("IsRSSSelected") === "true");
cm.includeEmail = (localStorage.getItem("IsEmailOptionSelected") === "true");
cm.includeCalendar = (localStorage.getItem("IsCalendarSelected") === "true");
cm.isMatterDescriptionMandatory = (localStorage.getItem("IsMatterDescriptionMandatory") === "true");
cm.defaultConfilctCheck = (localStorage.getItem("IsConflictCheck") === "true");
cm.includeTasks = (localStorage.getItem("IsTaskSelected") === "true");
cm.secureMatterCheck = (localStorage.getItem("IsRestrictedAccessSelected") === "true");
if (cm.includeEmail) {
cm.createButton = "Create and Notify";
}
oPageOneState.oValidMatterName = oPageData.oValidMatterName;
cm.nextButtonDisabled = false; cm.prevButtonDisabled = false;
if (cm.configurableSection) {
var oPageAdditionalData = JSON.parse(localStorage.getItem("oPageAdditionalData"));
if (oPageAdditionalData && oPageAdditionalData !== null) {
cm.configurableSection = oPageAdditionalData.ConfigurableSection;
cm.createContent.TabNumber = 4;
cm.inputs = [];
angular.forEach(oPageAdditionalData.MatterExtraFields, function (input) {
if (input.type.toLowerCase() == "datetime") {
var selectedDate = $filter('date')(input.value, 'MM/dd/yyyy');
input.value = new Date(selectedDate);
}
});
cm.inputs = oPageAdditionalData.MatterExtraFields;
cm.matterAdditionalFieldsContentTypeName = oPageAdditionalData.MatterAdditionalFieldsContentTypeName;
}
}
}
if (localStorage.getItem("iLivePage") >= 3) {
cm.iCurrentPage = 1;$timeout(function(){angular.element('#divTab1').focus();},500);
var oPageData = JSON.parse(localStorage.getItem("oPageTwoData"));
if (oPageData && oPageData !== null) {
cm.chkConfilctCheck = oPageData.ChkConfilctCheck;
cm.selectedConflictCheckUser = oPageData.SelectedConflictCheckUser;
cm.conflictDate = oPageData.ConflictDate;
cm.conflictDate = $filter('date')(cm.conflictDate, 'MM/dd/yyyy');
cm.conflictDate = new Date(cm.conflictDate);
cm.conflictRadioCheck = oPageData.ConflictRadioCheck;
cm.blockedUserName = oPageData.BlockedUserName;
cm.conflictUsers.assignedUser = cm.blockedUserName;
cm.conflictUsers.assignedAllUserNamesAndEmails = cm.blockedUserName;
cm.secureMatterCheck = oPageData.SecureMatterCheck;
cm.secureMatterCheck = (localStorage.getItem("IsRestrictedAccessSelected") === "true");
cm.assignPermissionTeams = oPageData.AssignPermissionTeams;
cm.oSiteUsers = oPageData.oSiteUsers;
cm.oSiteUserNames = oPageData.oSiteUserNames;
cm.nextButtonDisabled = true;
cm.iCurrentPage = 3;$timeout(function(){angular.element('#divTab3').focus();},500);
}
if (cm.includeEmail) {
cm.createButton = "Create and Notify";
}
cm.sectionName = "snCreateAndShare";
if (localStorage.getItem("iLivePage") == 4) {
cm.nextButtonDisabled = false;
cm.iCurrentPage = 4; $timeout(function () { angular.element('#divTab4').focus(); }, 500);
cm.sectionName = "snConfigSection";
}
}
}
cm.createAndNotify = function (value) {
if (value) {
cm.createButton = "Create and Notify";
}
else {
cm.createButton = "Create";
}
}
cm.menuClick = function () {
var oAppMenuFlyout = $(".AppMenuFlyout");
if (!(oAppMenuFlyout.is(":visible"))) {
//// Display the close icon and close the fly out
$(".OpenSwitcher").addClass("hide");
$(".CloseSwitcher").removeClass("hide");
$(".MenuCaption").addClass("hideMenuCaption");
oAppMenuFlyout.slideDown();
} else {
oAppMenuFlyout.slideUp();
$(".CloseSwitcher").addClass("hide");
$(".OpenSwitcher").removeClass("hide");
$(".MenuCaption").removeClass("hideMenuCaption");
}
}
function showNotificatoinMessages(teamRowNumber) {
var temp = document.getElementById('txtUser' + teamRowNumber);
var notificationEle = document.getElementById("notificationBlock");
var notificationTrinageleBlockEle = document.getElementById("notificatoinTrinagleBlock");
var notificationTrinagleBorderEle = document.getElementById("notificationTrinagleBroderBlock");
var notificationTextEle = document.getElementById("notificationText");
notificationEle.className = ""; notificationTrinageleBlockEle.className = ""; notificationTrinagleBorderEle.className = ""; notificationTextEle.className = "";
notificationEle.classList.add("notificationPopUp");
notificationTrinageleBlockEle.classList.add("notificatonTriangle");
notificationTrinageleBlockEle.classList.add("popUpFloatLeft");
notificationTrinagleBorderEle.classList.add("notificationTriangleBorder");
notificationTrinagleBorderEle.classList.add("popUpFloatLeft");
notificationTextEle.classList.add("notificatonText");
notificationTextEle.classList.add("popUpFloatRight");
var notifcationPopUpCAttorny = document.createElement('style'),
notifcationTringleBlockCAttorny = document.createElement('style'),
notifcationTringleBorderCAttorny = document.createElement('style'),
notifcationTextMatterCAttorny = document.createElement('style');
notifcationPopUpCAttorny.type = 'text/css';
notifcationTringleBlockCAttorny.type = 'text/css';
notifcationTringleBorderCAttorny.type = 'text/css';
notifcationTextMatterCAttorny.type = 'text/css';
var width = GetWidth();
var x = 0, y = 0;
if (width >= 860) {
y = temp.offsetTop - 50, x = temp.offsetLeft + 85;
}
else {
y = temp.offsetTop + 32, x = temp.offsetLeft + 78;
}
cm.notificationBorder = "txtUser" + teamRowNumber;
notifcationPopUpCAttorny.innerHTML = ".notifcationPopUpCAttorny{top:" + y + "px;left:" + x + "px;}";
notifcationTringleBlockCAttorny.innerHTML = "{min-height: 40px;top: 17px !important;left: 24px;width:100%}";
notifcationTringleBorderCAttorny.innerHTML = "{min-height: 40px,top: 17px !important;left: 24px;width:100%}";
notifcationTextMatterCAttorny.innerHTML = "{min-height:40px;top:21px !important;left: 24px;width:100%}";
document.getElementsByTagName('head')[0].appendChild(notifcationPopUpCAttorny);
document.getElementsByTagName('head')[0].appendChild(notifcationTringleBlockCAttorny);
document.getElementsByTagName('head')[0].appendChild(notifcationTringleBorderCAttorny);
document.getElementsByTagName('head')[0].appendChild(notifcationTextMatterCAttorny);
notificationEle.classList.add("notifcationPopUpCAttorny");
notificationTrinageleBlockEle.classList.add("notifcationTringleBlockCAttorny");
notificationTrinagleBorderEle.classList.add("notifcationTringleBorderCAttorny");
notificationTextEle.classList.add("notifcationTextCAttorny");
}
cm.confirmUser = function (confirmUser) {
if (confirmUser) {
cm.notificationPopUpBlock = false;
cm.notificationBorder = "";
var userEmail = getUserName(cm.textInputUser.assignedUser, false);
userEmail = cleanArray(userEmail);
var userEmailString = "";
for (var i = 0; i < userEmail.length; i++) {
if (i == cm.currentExternalUser.userIndex && userEmail[i] == cm.currentExternalUser.userName && userEmail[i] != "") {
angular.forEach(cm.textInputUser.teamUsers, function (teamUser) {
if (teamUser.userName == userEmail[i]) {
teamUser.userConfirmation = true;
teamUser.userExsists = teamUser.userExsists;
}
userEmailString = userEmailString + teamUser.userName + ";";
});
}
}
cm.textInputUser.userConfirmation = true;
angular.element('#txtUser' + cm.textInputUser.assigneTeamRowNumber).attr('uservalue', userEmailString);
angular.element('#txtUser' + cm.textInputUser.assigneTeamRowNumber).attr('confirm', "true");
angular.element('#txtUser' + cm.textInputUser.assigneTeamRowNumber).css('border-color', '#ccc');
cm.getExternalUserNotification = true;
} else {
cm.notificationPopUpBlock = false;
cm.getExternalUserNotification = true;
var userEmail = getUserName(cm.textInputUser.assignedUser, false);
var userNames = getUserName(cm.textInputUser.assignedUser, true);
userEmail = cleanArray(userEmail);
userNames = cleanArray(userNames);
var updatedUserEmail = "";
for (var i = 0; i < userEmail.length; i++) {
if (i != cm.currentExternalUser.userIndex && userEmail[i] != cm.currentExternalUser.userName && userEmail[i] != "") {
if (userNames[i] == userEmail[i]) {
updatedUserEmail = updatedUserEmail + userEmail[i] + ";";
} else {
updatedUserEmail = updatedUserEmail + userNames[i] + "(" + userEmail[i] + ");";
}
}
}
cm.textInputUser.assignedUser = updatedUserEmail;
cm.textInputUser.userExsists = false;
cm.textInputUser.userConfirmation = false;
cm.notificationBorder = "";
}
angular.forEach(cm.assignPermissionTeams, function (team) {
var keepGoing = true;
if (keepGoing) {
if (team.assignedUser && team.assignedUser != "") {//For loop
var usersEmails = getUserName(team.assignedUser, false);
usersEmails = cleanArray(usersEmails);
for (var j = 0; j < usersEmails.length; j++) {
angular.forEach(team.teamUsers, function (teamUser) {
if (keepGoing) {
if (teamUser.userName == usersEmails[j]) {
if (!teamUser.userConfirmation) {
cm.textInputUser = team;
cm.currentExternalUser.rowNumber = team.assigneTeamRowNumber;
cm.currentExternalUser.userIndex = j;
cm.currentExternalUser.userName = teamUser.userName;
if (cm.iCurrentPage == 2) {
showNotificatoinMessages(team.assigneTeamRowNumber);
cm.notificationPopUpBlock = true;
keepGoing = false;
return false;
}
}
}
}
});
}
}
}
});
}
function validateEmail(email) {
var re = new RegExp(oPageOneState.oEmailRegexp);
return re.test(email);
}
cm.checkUserExists = function (teamDetails, $event) {
var userMailId = teamDetails.assignedUser;
if ($event) {
$event.stopPropagation();
}
function validate(email) {
if (validateEmail(email)) {
var checkEmailExists = false;
if (cm.textInputUser && cm.textInputUser != "") {
var oldUserEmail = angular.element('#txtUser' + teamDetails.assigneTeamRowNumber).attr('uservalue');
if (oldUserEmail.indexOf(email)==-1) {
checkEmailExists = true;
teamDetails.userConfirmation = false;
}
else {
teamDetails.userConfirmation = teamDetails.userConfirmation;
teamDetails.userExsists = false;
cm.invalidUserCheck = true;
}
} else {
checkEmailExists = true;
}
if (checkEmailExists) {
var optionsForUserExsists = new Object;
optionsForUserExsists = {
Url: cm.clientUrl,
Name: email
}
cm.popupContainerBackground = "show";
userexists(optionsForUserExsists, function (response) {
if (!response.isUserExistsInSite) {
angular.forEach(cm.assignPermissionTeams, function (team) {
var userEmail = getUserName(team.assignedUser+";", false);
for (var i = 0; i < userEmail.length; i++) {
if (userEmail[i] == email && team.assigneTeamRowNumber == teamDetails.assigneTeamRowNumber) {
team.userExsists = response.isUserExistsInSite;
team.userConfirmation = false;
var userDetails = {};
userDetails.userName = userEmail[i];
userDetails.userExsists = team.userExsists;
userDetails.userConfirmation = false;
if (!team.teamUsers) {
team.teamUsers = [];
}
var isRowPresent = $filter("filter")(team.teamUsers, userEmail[i]);
if (isRowPresent.length == 0) {
team.teamUsers.push(userDetails);
}
if (cm.iCurrentPage == 2 && cm.getExternalUserNotification) {
cm.textInputUser = team;
cm.currentExternalUser.userName = userEmail[i];
cm.currentExternalUser.rowNumber = team.assigneTeamRowNumber;
cm.currentExternalUser.userIndex = i;
showNotificatoinMessages(team.assigneTeamRowNumber);
}
return false;
}
}
});
if (cm.iCurrentPage == 2 && cm.getExternalUserNotification) {
cm.notificationPopUpBlock = true;
cm.getExternalUserNotification = false;
}
}
else {
cm.notificationPopUpBlock = false;
angular.forEach(cm.assignPermissionTeams, function (team) {
var userEmail = getUserName(team.assignedUser+ ";", false);
var userNames = getUserName(team.assignedUser + ";", true);
for (var i = 0; i < userEmail.length; i++) {
if (userEmail[i] == email) {
cm.textInputUser = team;
team.userExsists = response.isUserExistsInSite;
team.userConfirmation = true;
cm.currentExternalUser.userName = userEmail[i];
cm.currentExternalUser.rowNumber = team.assigneTeamRowNumber;
cm.currentExternalUser.userIndex = i;
cm.confirmUser(true);
team.assignedUser = team.assignedAllUserNamesAndEmails;
if (-1 == cm.oSiteUsers.indexOf(userNames[i])) {
cm.oSiteUsers.push(userNames[i]);
}
if (-1 == cm.oSiteUserNames.indexOf(userEmail[i])) {
cm.oSiteUserNames.push(userEmail[i]);
}
var userDetails = {};
userDetails.userName = userEmail[i];
userDetails.userExsists = team.userExsists;
userDetails.userConfirmation = true;
if (!team.teamUsers) {
team.teamUsers = [];
}
var isRowPresent = $filter("filter")(team.teamUsers, userEmail[i]);
if (isRowPresent.length == 0) {
team.teamUsers.push(userDetails);
}
}
}
});
}
cm.popupContainerBackground = "hide";
});
}
}
else {
angular.forEach(cm.assignPermissionTeams, function (team) {
var userEmail = getUserName(team.assignedUser+";", false);
for (var i = 0; i < userEmail.length; i++) {
if (userEmail[i] == email) {
cm.errTextMsg = cm.createContent.ErrorMessageEntityUsers3;
// "Please enter a valid email address.";
cm.errorBorder = "";
cm.errorStatus = true;
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
showErrorNotificationAssignTeams(cm.errTextMsg, team.assigneTeamRowNumber, "user")
team.userConfirmation = false;
angular.element('#txtUser' + team.assigneTeamRowNumber).attr('confirm', "false");
cm.errorBorder = "txtUser" + team.assigneTeamRowNumber;
return false;
}
}
});
cm.invalidUserCheck = false;
}
}
if (userMailId && userMailId != "") {
var userMailIdTerm = getUserName(userMailId + ";", false);
userMailIdTerm = cleanArray(userMailIdTerm);
for(var i=0;i<userMailIdTerm.length;i++){
userMailIdTerm[i] = userMailIdTerm[i];
validate(userMailIdTerm[i]);
}
}
}
function cleanArray(actual) {
var newArray = new Array();
for (var i = 0; i < actual.length; i++) {
if (actual[i] && actual[i]!="") {
newArray.push(actual[i]);
}
}
return newArray;
}
function userexists(options, callback) {
api({
resource: 'matterResource',
method: 'userexists',
data: options,
success: callback
});
}
cm.createMatterButton = function ($event) {
getMatterGUID();
var isPageValid = validateCurrentPage(1);
if (isPageValid) {
isPageValid = validateCurrentPage(2);
} else {
cm.sectionName = "snOpenMatter";
cm.iCurrentPage = 1;$timeout(function(){angular.element('#divTab1').focus();},500); makePrevOrNextButton();
}
if (isPageValid) {
cm.popupContainerBackground = "hide";
var matterGUID = cm.matterGUID;
var arrFolderNames = [];
arrFolderNames = retrieveFolderStructure();
var arrRoles = [];
arrRoles = getAssignedUserRoles();
var arrPermissions = [];
arrPermissions = getAssignedUserPermissions();
var contentTypes = [];
var defaultContentType = "";
cm.conflictDate = $filter('date')(cm.conflictDate, 'MM/dd/yyyy');
contentTypes = getDefaultContentTypeValues("contenttypes");
cm.bMatterLandingPage = true;
defaultContentType = getDefaultContentTypeValues("defaultcontenttype");
var sCheckByUserEmail = (undefined !== cm.selectedConflictCheckUser && null !== cm.selectedConflictCheckUser) ? getUserName(cm.selectedConflictCheckUser.trim() + ";", false) : "";
var sCheckBy = getUserEmail(sCheckByUserEmail);
var sBlockUserEmail = (undefined !== cm.blockedUserName && null !== cm.blockedUserName) ? getUserName(cm.blockedUserName.trim() + ";", false) : [];
var sBlockUserName = sBlockUserEmail;
var bValid = false;
if (cm.defaultConfilctCheck) {
if ("" !== sCheckBy) {
if (cm.conflictRadioCheck) {
if ("" != sBlockUserName[0]) {
bValid = true;
}
else {
bValid = false;
}
} else {
bValid = true;
}
}
else {
cm.popupContainerBackground = "hide";
cm.errTextMsg = cm.createContent.ErrorMessageEntityCreation1;
//"Error in creation of matter: Incorrect inputs.";
showErrorNotificationAssignTeams(cm.errTextMsg, "", "btnCreateMatter");
cm.errorBorder = "";
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
cm.popupContainerBackground = "hide";
$event.stopPropagation(); cm.createBtnDisabled = false; cm.successBanner = false;
bValid = false;
cm.conflictDate = $filter('date')(cm.conflictDate, 'MM/dd/yyyy');
cm.conflictDate = new Date(cm.conflictDate);
return false;
}
} else {
bValid = true;
}
if (bValid) {
getArrAssignedUserNamesAndEmails();
var matterMetdataVM = {
Matter: {
Name: cm.matterName.trim(),
Id: cm.matterId,
Description: cm.matterDescription,
Conflict: {
Identified: cm.conflictRadioCheck,
CheckBy: sCheckBy,
CheckOn: cm.conflictDate,
SecureMatter: cm.secureMatterCheck
},
BlockUserNames: sBlockUserName,
AssignUserNames: cm.arrAssignedUserName,
AssignUserEmails: cm.arrAssignedUserEmails,
Roles: arrRoles,
MatterGuid: cm.matterGUID,
FolderNames: arrFolderNames
},
Client: {
Id: cm.clientId,
Name: cm.selectedClientName,
Url: cm.clientUrl
},
MatterConfigurations: {
IsConflictCheck: cm.chkConfilctCheck,
IsMatterDescriptionMandatory: cm.isMatterDescriptionMandatory,
IsCalendarSelected: cm.includeCalendar,
IsTaskSelected: cm.includeTasks
},
UserIds: cm.userIDs,
MatterProvisionFlags: {},
HasErrorOccurred: false
};
console.log(matterMetdataVM);
cm.successMsg = cm.createContent.LabelEntityCreationSuccessMsgText1;
jQuery.a11yfy.assertiveAnnounce(cm.createContent.LabelEntityCreationSuccessMsgText1);
cm.successBanner = true; cm.createBtnDisabled = true;
createMatter(matterMetdataVM, function (response) {
console.log("createMatter API success");
console.log(response);
cm.successMsg = cm.createContent.LabelEntityCreationSuccessMsgText2;
jQuery.a11yfy.assertiveAnnounce(cm.createContent.LabelEntityCreationSuccessMsgText2);
associateContentTypes();
assignPermission();
createMatterLandingPage();
});
}
}
else {
cm.sectionName = "snConflictCheck";
cm.iCurrentPage = 2;$timeout(function(){angular.element('#divTab2').focus();},500);
makePrevOrNextButton();
}
}
function getUserEmail(arrUsersEmails) {
var sEmail = "";
if (arrUsersEmails && 0 < arrUsersEmails.length) {
for (var nCount = 0; nCount < arrUsersEmails.length; nCount++) {
if ("" !== arrUsersEmails[nCount]) {
sEmail = arrUsersEmails[nCount];
}
}
}
return sEmail;
}
// Associating content type while creating matter with extra field properties.
function associateContentTypes() {
var matterGUID = cm.matterGUID;
var contentTypes = [];
var defaultContentType = "";
contentTypes = getDefaultContentTypeValues("contenttypes");
defaultContentType = getDefaultContentTypeValues("defaultcontenttype");
var managedColumns = {}
for (var i = 0; i < cm.taxonomyHierarchyLevels; i++) {
var columnName = configs.contentTypes.managedColumns["ColumnName" + (i + 1)];
managedColumns[columnName] = { TermName: getDefaultContentTypeValues("level" + (i + 1) + "Name"), Id: getDefaultContentTypeValues("level" + (i + 1) + "Id") };
}
var additionalFields = getAdditionalMatterPropertiesFieldsData();
var matterExtraPropertiesValues = {
ContentTypeName: cm.matterAdditionalFieldsContentTypeName,
Fields: additionalFields
}
var optionsForAssignContentTypeMetadata = {
Client: {
Id: cm.clientId,
Name: cm.selectedClientName,
Url: cm.clientUrl
},
Matter: {
Name: cm.matterName.trim(),
Id: cm.matterId,
ContentTypes: contentTypes,
DefaultContentType: defaultContentType,
MatterGuid: matterGUID
},
MatterExtraProperties: matterExtraPropertiesValues,
ManagedColumnTerms: managedColumns
}
console.log("options for optionsForAssignContentTypeMetadata matter");
console.log(optionsForAssignContentTypeMetadata);
assignContentTypeMetadata(optionsForAssignContentTypeMetadata, function (response) {
console.log(" assignContentTypeMetadataAPI Success");
console.log(response);
cm.iShowSuccessMessage++;
(3 === parseInt(cm.iShowSuccessMessage, 10)) ? stampProperties() : "";
});
}
function assignPermission() {
var matterGUID = cm.matterGUID;
var arrPermissions = [];
arrPermissions = getAssignedUserPermissions();
var optionsForAssignUserPermissionMetadataVM = {
Client: {
Id: cm.clientId,
Name: cm.selectedClientName,
Url: cm.clientUrl
},
Matter: {
Name: cm.matterName.trim(),
Permissions: arrPermissions,
AssignUserNames: cm.arrAssignedUserName,
AssignUserEmails: cm.arrAssignedUserEmails,
MatterGuid: matterGUID
},
MatterConfigurations: {
IsCalendarSelected: cm.includeCalendar,
IsTaskSelected: cm.includeTasks
}
}
console.log("options for assignPermission matter");
console.log(optionsForAssignUserPermissionMetadataVM);
assignUserPermissionsAPI(optionsForAssignUserPermissionMetadataVM, function (response) {
console.log(" assignUserPermissionsAPI Success");
console.log(response);
cm.iShowSuccessMessage++;
(3 === parseInt(cm.iShowSuccessMessage, 10)) ? stampProperties() : "";
});
}
function createMatterLandingPage() {
var matterGUID = cm.matterGUID;
var sCheckByUserEmail = (undefined !== cm.selectedConflictCheckUser && null !== cm.selectedConflictCheckUser) ? getUserName(cm.selectedConflictCheckUser.trim() + ";", false) : "";
var sCheckBy = getUserEmail(sCheckByUserEmail);
var sBlockUserEmail = (undefined !== cm.blockedUserName && null !== cm.blockedUserName) ? getUserName(cm.blockedUserName.trim() + ";", false) : [];
var sBlockUserName = sBlockUserEmail;
var arrPermissions = [];
arrPermissions = getAssignedUserPermissions();
var optionsForCreateMatterLandingPage = {
Client: {
Id: cm.clientId,
Name: cm.selectedClientName,
Url: cm.clientUrl
},
MatterConfigurations: {
AdditionalFieldValues: getAdditionalMatterPropertiesFieldsData(),
IsConflictCheck: cm.chkConfilctCheck,
IsMatterDescriptionMandatory: cm.isMatterDescriptionMandatory,
IsCalendarSelected: cm.includeCalendar,
IsTaskSelected: cm.includeTasks,
IsRSSSelected: cm.includeRssFeeds
},
Matter: {
Name: cm.matterName.trim(),
Description: cm.matterDescription,
AssignUserNames: cm.arrAssignedUserName,
AssignUserEmails: cm.arrAssignedUserEmails,
BlockUserNames: sBlockUserName,
Conflict: {
Identified: cm.conflictRadioCheck,
CheckBy: sCheckBy,
CheckOn: cm.conflictDate,
SecureMatter: "True"
},
Permissions: arrPermissions,
MatterGuid: matterGUID
}
}
console.log("options for optionsForCreateMatterLandingPage matter");
console.log(optionsForCreateMatterLandingPage);
createMatterLandingPageAPI(optionsForCreateMatterLandingPage, function (response) {
console.log("createMatterLandingPageAPI Success");
console.log(response);
cm.iShowSuccessMessage++;
(3 === parseInt(cm.iShowSuccessMessage, 10)) ? stampProperties() : "";
});
}
function stampProperties() {
// alert();
var matterGUID = cm.matterGUID;
cm.successBanner = true;
cm.successMsg = cm.createContent.LabelEntityCreationSuccessMsgText3;
jQuery.a11yfy.assertiveAnnounce(cm.createContent.LabelEntityCreationSuccessMsgText3);
var sCheckByUserEmail = (undefined !== cm.selectedConflictCheckUser && null !== cm.selectedConflictCheckUser) ? getUserName(cm.selectedConflictCheckUser.trim() + ";", false) : "";
var sCheckBy = getUserEmail(sCheckByUserEmail);
var sBlockUserEmail = (undefined !== cm.blockedUserName && null !== cm.blockedUserName) ? getUserName(cm.blockedUserName.trim() + ";", false) : [];
var sBlockUserName = sBlockUserEmail;
var arrPermissions = [];
arrPermissions = getAssignedUserPermissions();
var arrRoles = [];
arrRoles = getAssignedUserRoles();
var contentTypes = [];
var defaultContentType = "";
contentTypes = getDefaultContentTypeValues("contenttypes");
defaultContentType = getDefaultContentTypeValues("defaultcontenttype");
var arrUserNames = [], arrUserEmails = [], arrTeamMembers = [];
var oMatterProvisionFlags = {};
var sLevel1List = "", sLevel2List = "", sLevel3List = "", sLevel4List = "", sLevel5List = "";
var sResponsibleAttorney = [], sResponsibleAttorneyEmail = [], arrTeamMembers = [], arrDocumentTemplatesCount = [];
var oDocumentTemplates = cm.selectedDocumentTypeLawTerms;
var subAreaofLaw = "", roleInformation = {}, arrReadOnlyUsers = [];
var User_Upload_Permissions = "Read";
angular.forEach(cm.assignPermissionTeams, function (item) {
if (item.assignedPermission.name.toLowerCase() === User_Upload_Permissions.toLowerCase()) {
arrReadOnlyUsers.push(getUserName(item.assignedUser.trim() , false).join(";"));
}
});
arrReadOnlyUsers = cleanArray(arrReadOnlyUsers);
validateTeamAssigmentRole();
angular.forEach(cm.assignPermissionTeams, function (item) {
if (1 <= cm.assignPermissionTeams.length) {
if ("" !== item.assignedRole && "" !== item.assignedPermission) {
if (-1 !== cm.oMandatoryRoleNames.indexOf(item.assignedRole.name)) {
sResponsibleAttorney.push(getUserName(item.assignedUser + ";", true).join(";"));
sResponsibleAttorneyEmail.push(getUserName(item.assignedUser + ";", false).join(";"));
}
}
}
});
angular.forEach(cm.assignPermissionTeams, function (item) {
if ("" !== item.assignedRole && "" !== item.assignedPermission) {
if (roleInformation.hasOwnProperty(item.assignedRole.name)) {
// This role is already present. append the new role with semicolon separated value
roleInformation[item.assignedRole.name] = roleInformation[item.assignedRole.name] + ";" + item.assignedUser;
} else {
// Add this role to the object
roleInformation[item.assignedRole.name] = item.assignedUser;
}
}
});
angular.forEach(cm.assignPermissionTeams, function (item) {
arrUserNames.push(getUserName(item.assignedUser.trim() + ";", true));
arrUserEmails.push(getUserName(item.assignedUser.trim() + ";", false));
arrTeamMembers.push(getUserName(item.assignedUser.trim() + ";", true).join(";"));
});
angular.forEach(oDocumentTemplates, function (item) {
arrDocumentTemplatesCount.push(item.documentTemplateNames.split(";").length.toString());
});
arrDocumentTemplatesCount.reverse();
oMatterProvisionFlags = {
"MatterLandingFlag": cm.bMatterLandingPage,
"SendEmailFlag": cm.includeEmail
};
angular.forEach(oDocumentTemplates, function (item) {
if (item.primaryMatterType) {
defaultContentType = item.termName;
}
if (cm.taxonomyHierarchyLevels >= 2) {
if (-1 === sLevel1List.indexOf(item.levelOneTermName)) {
sLevel1List = item.levelOneTermName + "; " + sLevel1List;
}
if (-1 === sLevel2List.indexOf(item.levelTwoTermName)) {
sLevel2List = item.levelTwoTermName + "; " + sLevel2List;
}
}
if (cm.taxonomyHierarchyLevels >= 3) {
if (-1 === sLevel3List.indexOf(item.levelThreeTermName)) {
sLevel3List = item.levelThreeTermName + "; " + sLevel3List;
}
}
if (cm.taxonomyHierarchyLevels >= 4) {
if (-1 === sLevel4List.indexOf(item.levelFourTermName)) {
sLevel4List = item.levelFourTermName + "; " + sLevel4List;
}
}
if (cm.taxonomyHierarchyLevels >= 5) {
if (-1 === sLevel5List.indexOf(item.levelFiveTermName)) {
sLevel5List = item.levelFiveTermName + "; " + sLevel5List;
}
}
});
var managedColumns = {}
for (var i = 0; i < cm.taxonomyHierarchyLevels; i++) {
var columnName = configs.contentTypes.managedColumns["ColumnName" + (i + 1)];
managedColumns[columnName] = { TermName: "", Id: "" };
if (i === 0) { managedColumns[columnName].TermName = sLevel1List; }
if (i === 1) { managedColumns[columnName].TermName = sLevel2List; }
if (i === 2) { managedColumns[columnName].TermName = sLevel3List; }
if (i === 3) { managedColumns[columnName].TermName = sLevel4List; }
if (i === 4) { managedColumns[columnName].TermName = sLevel5List; }
}
var optionsForStampMatterDetails = {
Client: {
Id: cm.clientId,
Name: cm.selectedClientName,
Url: cm.clientUrl
},
Matter: {
Name: cm.matterName.trim(),
Id: cm.matterId.trim(),
Description: cm.matterDescription,
Conflict: {
Identified: cm.conflictRadioCheck,
CheckBy: sCheckBy,
CheckOn: cm.conflictDate,
SecureMatter: cm.secureMatterCheck
},
BlockUserNames: sBlockUserName,
AssignUserNames: cm.arrAssignedUserName,
AssignUserEmails: cm.arrAssignedUserEmails,
ContentTypes: contentTypes,
DefaultContentType: defaultContentType,
Permissions: arrPermissions,
Roles: arrRoles,
DocumentTemplateCount: arrDocumentTemplatesCount,
MatterGuid: matterGUID
},
MatterDetails: {
ResponsibleAttorney: sResponsibleAttorney.join(";").replace(/;;/g, ";"),
ResponsibleAttorneyEmail: sResponsibleAttorneyEmail.join(";").replace(/;;/g, ";"),
UploadBlockedUsers: arrReadOnlyUsers,
TeamMembers: arrTeamMembers.join(";"),
RoleInformation: JSON.stringify(roleInformation),
ManagedColumnTerms: managedColumns
},
MatterProvisionFlags: oMatterProvisionFlags,
MatterConfigurations: {
IsConflictCheck: cm.chkConfilctCheck,
IsMatterDescriptionMandatory: cm.isMatterDescriptionMandatory
}
}
console.log("options for optionsForStampMatterDetails matter");
console.log(optionsForStampMatterDetails);
updateMatterMetadataAPI(optionsForStampMatterDetails, function (response) {
console.log("stampProperties Success");
console.log(response);
cm.successMsg = cm.createContent.LabelSuccessEntityCreation + " <a target='_blank' href='" + cm.clientUrl + "/SitePages/" + cm.matterGUID + ".aspx'>here</a>.";
clearAllProperties();
jQuery.a11yfy.assertiveAnnounce(cm.createContent.LabelSuccessEntityCreation);
cm.navigateToSecondSection(cm.sectionName);
cm.popupContainerBackground = "Show";
});
}
function validateTeamAssigmentRole() {
var oAssignList = cm.assignPermissionTeams
, iExpectedCount = 0, iActualCount = 0, iIterator = 0, iLength = cm.assignRoles.length;
for (iIterator = 0; iIterator < iLength; iIterator++) {
if (cm.assignRoles[iIterator].mandatory) {
iExpectedCount++;
cm.oMandatoryRoleNames.push(cm.assignRoles[iIterator].name);
}
}
angular.forEach(oAssignList, function (oItem) {
if (true == oItem.assignedRole.mandatory) {
iActualCount++;
}
});
if (iExpectedCount <= iActualCount) {
return true;
}
return false;
}
/* Function to validate Permission */
function validatePermission() {
"use strict";
var oPermissionList = cm.assignPermissionTeams, bIsFullControl = false;
var Edit_Matter_Mandatory_Permission_Level = "Full Control";
angular.forEach(oPermissionList, function (oPermissionList, oPermissionListItem) {
if (oPermissionListItem) {
if (Edit_Matter_Mandatory_Permission_Level === oPermissionListItem.assignedPermission.name) {
bIsFullControl = true;
}
}
});
return bIsFullControl;
}
function retrieveFolderStructure() {
"use strict";
var oPageOneData = JSON.parse(localStorage.oPageOneData), nCount = 0, nLength, arrContentTypes, arrFolderStructure = [];
if (oPageOneData && oPageOneData.oSelectedDocumentTypeLawTerms) {
arrContentTypes = oPageOneData.oSelectedDocumentTypeLawTerms;
nLength = arrContentTypes.length;
for (nCount = 0; nCount < nLength; nCount++) {
if (arrContentTypes[nCount].primaryMatterType === true || 0 === nCount) {
// Check if the isNoFolderStructurePresent flag is set to true
if (arrContentTypes[nCount].isNoFolderStructurePresent && "false" === arrContentTypes[nCount].isNoFolderStructurePresent.toLowerCase()) {
// If the folder at the specific level is not present then move to the parent level
arrFolderStructure = arrContentTypes[nCount].folderNames && "" !== arrContentTypes[nCount].folderNames ? arrContentTypes[nCount].folderNames.split(";") : arrContentTypes[nCount].foldernamesaol && "" !== arrContentTypes[nCount].foldernamesaol ? arrContentTypes[nCount].foldernamesaol.split(";") : arrContentTypes[nCount].foldernamespg && "" !== arrContentTypes[nCount].foldernamespg ? arrContentTypes[nCount].foldernamespg.split(";") : [];
}
}
}
}
return arrFolderStructure;
}
function getDefaultContentTypeValues(contentTypeValue) {
var returnedValue;
switch (contentTypeValue) {
case "contenttypes":
var oPageOneData = JSON.parse(localStorage.oPageOneData), nCount = 0, nLength, arrContentTypes, arrContents = [], defaultContentType = "";
if (oPageOneData && oPageOneData.oSelectedDocumentTypeLawTerms) {
arrContentTypes = oPageOneData.oSelectedDocumentTypeLawTerms;
nLength = arrContentTypes.length;
for (nCount = 0; nCount < nLength; nCount++) {
if ("contenttypes" == contentTypeValue) {
if (-1 == arrContents.indexOf(arrContentTypes[nCount].documentTemplates)) {
arrContents.push(arrContentTypes[nCount].documentTemplates);
var additionalMatterPropSettingName = configs.taxonomy.matterProvisionExtraPropertiesContentType;
var temp = arrContentTypes[nCount];
if (temp[additionalMatterPropSettingName] && temp[additionalMatterPropSettingName] != "") {
if (-1 == arrContents.indexOf(temp[additionalMatterPropSettingName])) {
arrContents.push(temp[additionalMatterPropSettingName]);
cm.matterAdditionalFieldsContentTypeName = temp[additionalMatterPropSettingName];
}
}
}
var arrAssociatedDocumentTemplates = arrContentTypes[nCount].documentTemplateNames.split(";");
for (var iIterator = 0; iIterator < arrAssociatedDocumentTemplates.length; iIterator++) {
if (-1 == arrContents.indexOf(arrAssociatedDocumentTemplates[iIterator])) {
arrContents.push(arrAssociatedDocumentTemplates[iIterator]);
}
}
}
}
}
returnedValue = arrContents;
break;
case "defaultcontenttype":
var oPageOneData = JSON.parse(localStorage.oPageOneData), nCount = 0, nLength, arrContentTypes, arrContents = [], defaultContentType = "";
if (oPageOneData && oPageOneData.oSelectedDocumentTypeLawTerms) {
arrContentTypes = oPageOneData.oSelectedDocumentTypeLawTerms;
nLength = arrContentTypes.length;
for (nCount = 0; nCount < nLength; nCount++) {
if ("defaultcontenttype" == contentTypeValue) {
if (arrContentTypes[nCount].primaryMatterType === true) {
defaultContentType = arrContentTypes[nCount].documentTemplates;
}
}
}
}
returnedValue = defaultContentType;
break;
case "level1Name":
var oPageOneData = JSON.parse(localStorage.oPageOneData), nCount = 0, nLength, arrContentTypes, arrContents = [], defaultContentType = "";
if (oPageOneData && oPageOneData.oSelectedDocumentTypeLawTerms) {
arrContentTypes = oPageOneData.oSelectedDocumentTypeLawTerms;
nLength = arrContentTypes.length;
for (nCount = 0; nCount < nLength; nCount++) {
if ("level1Name" == contentTypeValue) {
if (arrContentTypes[nCount].primaryMatterType === true) {
defaultContentType = arrContentTypes[nCount].levelOneTermName;
}
}
}
}
returnedValue = defaultContentType;
break;
case "level1Id":
var oPageOneData = JSON.parse(localStorage.oPageOneData), nCount = 0, nLength, arrContentTypes, arrContents = [], defaultContentType = "";
if (oPageOneData && oPageOneData.oSelectedDocumentTypeLawTerms) {
arrContentTypes = oPageOneData.oSelectedDocumentTypeLawTerms;
nLength = arrContentTypes.length;
for (nCount = 0; nCount < nLength; nCount++) {
if ("level1Id" == contentTypeValue) {
if (arrContentTypes[nCount].primaryMatterType === true) {
defaultContentType = arrContentTypes[nCount].levelOneTermId;
}
}
}
}
returnedValue = defaultContentType;
break;
case "level2Name":
var oPageOneData = JSON.parse(localStorage.oPageOneData), nCount = 0, nLength, arrContentTypes, arrContents = [], defaultContentType = "";
if (oPageOneData && oPageOneData.oSelectedDocumentTypeLawTerms) {
arrContentTypes = oPageOneData.oSelectedDocumentTypeLawTerms;
nLength = arrContentTypes.length;
for (nCount = 0; nCount < nLength; nCount++) {
if ("level2Name" == contentTypeValue) {
if (arrContentTypes[nCount].primaryMatterType === true) {
defaultContentType = arrContentTypes[nCount].levelTwoTermName;
}
}
}
}
returnedValue = defaultContentType;
break;
case "level2Id":
var oPageOneData = JSON.parse(localStorage.oPageOneData), nCount = 0, nLength, arrContentTypes, arrContents = [], defaultContentType = "";
if (oPageOneData && oPageOneData.oSelectedDocumentTypeLawTerms) {
arrContentTypes = oPageOneData.oSelectedDocumentTypeLawTerms;
nLength = arrContentTypes.length;
for (nCount = 0; nCount < nLength; nCount++) {
if ("level2Id" == contentTypeValue) {
if (arrContentTypes[nCount].primaryMatterType === true) {
defaultContentType = arrContentTypes[nCount].levelTwoTermId;
}
}
}
}
returnedValue = defaultContentType;
break;
case "level3Name":
var oPageOneData = JSON.parse(localStorage.oPageOneData), nCount = 0, nLength, arrContentTypes, arrContents = [], defaultContentType = "";
if (oPageOneData && oPageOneData.oSelectedDocumentTypeLawTerms) {
arrContentTypes = oPageOneData.oSelectedDocumentTypeLawTerms;
nLength = arrContentTypes.length;
for (nCount = 0; nCount < nLength; nCount++) {
if ("level3Name" == contentTypeValue) {
if (arrContentTypes[nCount].primaryMatterType === true) {
defaultContentType = arrContentTypes[nCount].levelThreeTermName;
}
}
}
}
returnedValue = defaultContentType;
break;
case "level3Id":
var oPageOneData = JSON.parse(localStorage.oPageOneData), nCount = 0, nLength, arrContentTypes, arrContents = [], defaultContentType = "";
if (oPageOneData && oPageOneData.oSelectedDocumentTypeLawTerms) {
arrContentTypes = oPageOneData.oSelectedDocumentTypeLawTerms;
nLength = arrContentTypes.length;
for (nCount = 0; nCount < nLength; nCount++) {
if ("level3Id" == contentTypeValue) {
if (arrContentTypes[nCount].primaryMatterType === true) {
defaultContentType = arrContentTypes[nCount].levelThreeId;
}
}
}
}
returnedValue = defaultContentType;
break;
case "level4Name":
var oPageOneData = JSON.parse(localStorage.oPageOneData), nCount = 0, nLength, arrContentTypes, arrContents = [], defaultContentType = "";
if (oPageOneData && oPageOneData.oSelectedDocumentTypeLawTerms) {
arrContentTypes = oPageOneData.oSelectedDocumentTypeLawTerms;
nLength = arrContentTypes.length;
for (nCount = 0; nCount < nLength; nCount++) {
if ("level4Name" == contentTypeValue) {
if (arrContentTypes[nCount].primaryMatterType === true) {
defaultContentType = arrContentTypes[nCount].levelFourTermName;
}
}
}
}
returnedValue = defaultContentType;
break;
case "level4Id":
var oPageOneData = JSON.parse(localStorage.oPageOneData), nCount = 0, nLength, arrContentTypes, arrContents = [], defaultContentType = "";
if (oPageOneData && oPageOneData.oSelectedDocumentTypeLawTerms) {
arrContentTypes = oPageOneData.oSelectedDocumentTypeLawTerms;
nLength = arrContentTypes.length;
for (nCount = 0; nCount < nLength; nCount++) {
if ("level4Id" == contentTypeValue) {
if (arrContentTypes[nCount].primaryMatterType === true) {
defaultContentType = arrContentTypes[nCount].levelFourId;
}
}
}
}
returnedValue = defaultContentType;
break;
case "level5Name":
var oPageOneData = JSON.parse(localStorage.oPageOneData), nCount = 0, nLength, arrContentTypes, arrContents = [], defaultContentType = "";
if (oPageOneData && oPageOneData.oSelectedDocumentTypeLawTerms) {
arrContentTypes = oPageOneData.oSelectedDocumentTypeLawTerms;
nLength = arrContentTypes.length;
for (nCount = 0; nCount < nLength; nCount++) {
if ("level5Name" == contentTypeValue) {
if (arrContentTypes[nCount].primaryMatterType === true) {
defaultContentType = arrContentTypes[nCount].levelFiveTermName;
}
}
}
}
returnedValue = defaultContentType;
break;
case "level5Id":
var oPageOneData = JSON.parse(localStorage.oPageOneData), nCount = 0, nLength, arrContentTypes, arrContents = [], defaultContentType = "";
if (oPageOneData && oPageOneData.oSelectedDocumentTypeLawTerms) {
arrContentTypes = oPageOneData.oSelectedDocumentTypeLawTerms;
nLength = arrContentTypes.length;
for (nCount = 0; nCount < nLength; nCount++) {
if ("level5Id" == contentTypeValue) {
if (arrContentTypes[nCount].primaryMatterType === true) {
defaultContentType = arrContentTypes[nCount].levelFiveId;
}
}
}
}
returnedValue = defaultContentType;
break;
}
return returnedValue;
}
function getAssignedUserRoles() {
"use strict";
var arrAssigneTeams = cm.assignPermissionTeams, nCount = 0, nlength, arrRoles = [];
if (arrAssigneTeams) {
nlength = arrAssigneTeams.length;
for (nCount = 0; nCount < nlength; nCount++) {
if (arrAssigneTeams[nCount] && arrAssigneTeams[nCount].assignedRole) {
if (arrAssigneTeams[nCount].assignedRole && arrAssigneTeams[nCount].assignedRole.name) {
if ("" !== arrAssigneTeams[nCount].assignedRole.name) {
arrRoles.push(arrAssigneTeams[nCount].assignedRole.name);
}
}
}
}
}
return arrRoles;
}
function getAssignedUserPermissions() {
"use strict";
var arrAssigneTeams = cm.assignPermissionTeams, nCount = 0, nlength, arrAssignRoles, arrPermissions = [];
if (arrAssigneTeams) {
nlength = arrAssigneTeams.length;
for (nCount = 0; nCount < nlength; nCount++) {
if (arrAssigneTeams[nCount] && arrAssigneTeams[nCount].assignedPermission) {
if (arrAssigneTeams[nCount].assignedPermission && arrAssigneTeams[nCount].assignedPermission.name) {
if ("" !== arrAssigneTeams[nCount].assignedPermission.name) {
arrPermissions.push(arrAssigneTeams[nCount].assignedPermission.name);
}
}
}
}
}
return arrPermissions;
}
function clearAllProperties() {
cm.iShowSuccessMessage = 0;
cm.clientId = "";
cm.selectedClient = "";
cm.clientUrl = "";
cm.selectedClientName = "";
cm.matterName = "";
cm.matterId = "";
cm.matterDescription = "";
cm.clientNameList = [];
cm.documentTypeLawTerms = [];
cm.selectedDocumentTypeLawTerms = [];
cm.popupContainerBackground = "Show";
cm.popupContainer = "hide";
cm.createBtnDisabled = false;
cm.sectionName = "snOpenMatter";
cm.removeDTItem = false;
cm.primaryMatterType = cm.errorPopUp = false;
cm.matterGUID = "";
cm.iCurrentPage = 1;$timeout(function(){angular.element('#divTab1').focus();},500);
cm.assignPermissionTeams = [{ assignedUser: '', assignedRole: '', assignedPermission: '', assigneTeamRowNumber: 1 }];
cm.conflictUsers.assignedUser = '';
cm.conflictUsers.assignedAllUserNamesAndEmails = "";
cm.conflictUsers.teamUsers = [];
cm.conflictUsers = { assignedUser: '', assignedAllUserNamesAndEmails: '', teamUsers: [] }
cm.assignRoles = [];
cm.assignPermissions = [];
cm.secureMatterCheck = true;
cm.conflictRadioCheck = false;
cm.chkConfilctCheck = false;
localStorage.iLivePage = 1;
cm.createButton = "Create";
localStorage.removeItem("oPageOneData");
localStorage.removeItem("oPageTwoData");
localStorage.removeItem("oPageAdditionalData");
getMatterGUID();
getTaxonomyData();
}
function storeMatterDataToLocalStorageFirstPage() {
oPageOneState.Client = cm.selectedClient
oPageOneState.ClientId = cm.clientId.trim();
oPageOneState.MatterName = cm.matterName.trim();
oPageOneState.MatterId = cm.matterId.trim();
oPageOneState.MatterDescription = cm.matterDescription.trim();
oPageOneState.oSiteUsers = cm.oSiteUsers;
oPageOneState.oSiteUserNames = cm.oSiteUserNames;
oPageOneState.CanCreateMatterPermission = cm.canCreateMatterPermission;
oPageOneState.matterGUID = cm.matterGUID;
oPageOneState.oSelectedDocumentTypeLawTerms = cm.selectedDocumentTypeLawTerms;
oPageOneState.showRoles = cm.showRoles;
oPageOneState.showMatterId = cm.showMatterId;
oPageOneState.matterIdType = cm.matterIdType;
oPageOneState.ConfigurableSection = cm.configurableSection;
oPageOneState.conflictRadioCheck = cm.conflictRadioCheck;
oPageOneState.AssignPermissionTeams = cm.assignPermissionTeams;
localStorage.setItem('oPageOneData', JSON.stringify(oPageOneState));
localStorage.setItem('IsCalendarSelected', cm.includeCalendar);
localStorage.setItem('IsRestrictedAccessSelected', cm.secureMatterCheck);
localStorage.setItem('IsRSSSelected', cm.includeRssFeeds);
localStorage.setItem('IsEmailOptionSelected', cm.includeEmail);
localStorage.setItem('IsMatterDescriptionMandatory', cm.isMatterDescriptionMandatory);
localStorage.setItem('IsConflictCheck', cm.defaultConfilctCheck);
localStorage.setItem('IsMatterDescriptionMandatory', cm.isMatterDescriptionMandatory);
localStorage.setItem('IsTaskSelected', cm.includeTasks);
oPageAdditionalData.ConfigurableSection = cm.configurableSection;
oPageAdditionalData.MatterAdditionalFieldsContentTypeName = cm.matterAdditionalFieldsContentTypeName;
oPageAdditionalData.MatterExtraFields = cm.inputs;
localStorage.setItem('oPageAdditionalData', JSON.stringify(oPageAdditionalData));
localStorage.iLivePage = 2;
}
function storeMatterDataToLocalStorageSecondPage() {
oPageTwoState.ChkConfilctCheck = cm.chkConfilctCheck;
oPageTwoState.SelectedConflictCheckUser = cm.selectedConflictCheckUser;
oPageTwoState.ConflictDate = cm.conflictDate;
oPageTwoState.ConflictRadioCheck = cm.conflictRadioCheck;
oPageTwoState.BlockedUserName = cm.blockedUserName;
oPageTwoState.SecureMatterCheck = cm.secureMatterCheck;
oPageTwoState.AssignPermissionTeams = cm.assignPermissionTeams;
oPageTwoState.oSiteUsers = cm.oSiteUsers;
oPageTwoState.oSiteUserNames = cm.oSiteUserNames;
localStorage.setItem('oPageTwoData', JSON.stringify(oPageTwoState));
localStorage.setItem('oPageAdditionalData', "");
oPageAdditionalData.ConfigurableSection = cm.configurableSection;
oPageAdditionalData.MatterAdditionalFieldsContentTypeName = cm.matterAdditionalFieldsContentTypeName;
oPageAdditionalData.MatterExtraFields = cm.inputs;
localStorage.setItem('oPageAdditionalData', JSON.stringify(oPageAdditionalData));
localStorage.iLivePage = 3;
}
function storeMatterDataToLocalStorageAddtionalPage() {
oPageAdditionalData.ConfigurableSection = cm.configurableSection;
oPageAdditionalData.MatterAdditionalFieldsContentTypeName = cm.matterAdditionalFieldsContentTypeName;
oPageAdditionalData.MatterExtraFields = cm.inputs;
localStorage.setItem('oPageAdditionalData', JSON.stringify(oPageAdditionalData));
localStorage.iLivePage = 4;
}
// To show proper section on click of next button
cm.NextClick = function ($event) {
if (cm.iCurrentPage == 1) {
cm.navigateToSecondSection("snConflictCheck");
$event.stopPropagation();
}
else if (cm.inputs.length > 0 && cm.iCurrentPage != 1) {
if (cm.iCurrentPage == 2) {
cm.navigateToSecondSection("snConfigSection");
$event.stopPropagation();
}
else if (cm.iCurrentPage == 4) {
cm.navigateToSecondSection("snCreateAndShare");
$event.stopPropagation();
}
}
else {
if (cm.iCurrentPage == 2) {
cm.navigateToSecondSection("snCreateAndShare");
$event.stopPropagation();
}
}
}
//To show proper section on click of Previous button
cm.PreviousClick = function ($event) {
if (cm.iCurrentPage == 2) {
cm.navigateToSecondSection("snOpenMatter");
$event.stopPropagation();
}
else if (cm.iCurrentPage == 3) {
if (cm.configurableSection) {
cm.navigateToSecondSection("snConfigSection");
} else {
cm.navigateToSecondSection("snConflictCheck");
}
$event.stopPropagation();
}
else if (cm.iCurrentPage == 4) {
cm.navigateToSecondSection("snConflictCheck");
$event.stopPropagation();
}
}
cm.CheckPopUp = function (e) {
if (!cm.errorStatus) {
cm.errorPopUpBlock = false;
cm.errorBorder = "";
}
cm.errorStatus = false;
}
function validateCurrentPage(iCurrPage) {
if (iCurrPage == 1) {
var windowWidth = GetWidth();
var RegularExpressionForMatterName, RegularExpressionForMatterID;
if (undefined !== cm.selectedClientName && null !== cm.selectedClientName && "" !== cm.selectedClientName.trim()) {
if (cm.canCreateMatterPermission) {
if ("" !== cm.clientId.trim() && null !== cm.clientId) {
var bInValid = false;
RegularExpressionForMatterName = new RegExp(specialCharactersRegExp.SpecialCharacterExpressionMatterTitle);
var sCurrMatterName = cm.matterName.trim();
if (null !== sCurrMatterName && "" !== sCurrMatterName) {
var arrValidMatch = sCurrMatterName.match(RegularExpressionForMatterName);
if (null === arrValidMatch || arrValidMatch[0] !== sCurrMatterName) {
bInValid = false;
} else {
bInValid = true;
}
}
if (bInValid) {
oPageOneState.isNextClick = true;
if (undefined !== oPageOneState.oValidMatterName) {
if (oPageOneState.oValidMatterName) {
bInValid = false;
var sCurrentMatterId = cm.matterId;
RegularExpressionForMatterID = new RegExp(specialCharactersRegExp.SpecialCharacterExpressionMatterId);
if (undefined !== sCurrentMatterId && null !== sCurrentMatterId && "" !== sCurrentMatterId) {
sCurrentMatterId = sCurrentMatterId.trim();
var arrValidMatch = sCurrentMatterId.match(RegularExpressionForMatterID);
if (null === arrValidMatch || arrValidMatch[0] !== sCurrentMatterId) {
bInValid = false;
} else {
bInValid = true;
}
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageEntityId1;
//"Enter a matter ID.";
cm.errorBorder = "matterid";
showErrorNotification("matterid");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500); return false;
}
if (bInValid) {
if (cm.isMatterDescriptionMandatory) {
var sCurrentMatterDesc = cm.matterDescription;
bInValid= matterDescriptionValidation(sCurrentMatterDesc);
}
else {
if (cm.matterDescription != "") {
var sCurrentMatterDesc = cm.matterDescription;
bInValid = matterDescriptionValidation(sCurrentMatterDesc);
} else {
bInValid = true;
}
}
if (bInValid) {
if (cm.selectedDocumentTypeLawTerms.length > 0) {
storeMatterDataToLocalStorageFirstPage();
return true;
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageSelectType;
//"Select matter type by area of law for this matter";
cm.errorBorder = ""; showErrorNotification("selecttemp");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500); return false;
}
}
else {
// alert("Enter a description for this matter");
cm.errTextMsg = cm.createContent.ErrorMessageSpecialCharacters;
//"Please enter a valid text which contains only alphanumeric characters, spaces & hyphen";
showErrorNotification("matterdescription");
cm.errorBorder = "matterdescription";
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500); return false;
}
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageSpecialCharacters;
//"Please enter a valid text which contains only alphanumeric characters, spaces & hyphen.";
cm.errorBorder = "matterid";
showErrorNotification("matterid");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500); return false;
}
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageEntityLibraryCreated;
//"Matter library for this Matter is already created. Kindly delete the library or please enter a different Matter name.";
cm.errorBorder = "mattername";
showErrorNotification("mattername");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500); return false;
}
}
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageEntityNameSpecialCharacters;
//"Please enter a valid Matter name which contains only alphanumeric characters and spaces";
cm.errorBorder = "mattername";
showErrorNotification("mattername");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500); return false;
}
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageEntityId2;
//"Selected client for this matter clientId is null ";
showErrorNotification("client");
cm.errorBorder = "client";
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500); return false;
}
}
else {
cm.errTextMsg = cm.errPermissionMessage;
//"Selected client for this matter clientId is null ";
showErrorNotification("client");
cm.errorBorder = "client";
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500); return false;
}
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageEntityTeamOrClient1;
//"Select a client for this matter ";
cm.errorBorder = "client";
showErrorNotification("client");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
return false;
}
}
else if (iCurrPage == 2) {
cm.blockedUserName = cm.conflictUsers.assignedUser;
if (cm.defaultConfilctCheck) {
if (undefined !== cm.chkConfilctCheck && true == cm.chkConfilctCheck) {
if (undefined !== cm.conflictDate && null !== cm.conflictDate && "" != cm.conflictDate) {
var validUsers = validateUsers();
var checkUserDExists = false;
if (validUsers) {
checkUserDExists = validateCheckUserExisits();
if (checkUserDExists) {
var attornyCheck = validateAttornyUserRolesAndPermissins();
if (attornyCheck) {
cm.popupContainerBackground = "Show";
storeMatterDataToLocalStorageSecondPage();
cm.popupContainerBackground = "hide";
return true;
}
}
}
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageEntityDate;
//"Enter the date on which the conflict check was performed ";
cm.errorBorder = "cdate"; showErrorNotification("cdate");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500); return false;
}
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageEntityConflictCheck;
//"A confilct check must be completed prior to provisioning this matter ";
cm.errorBorder = "";
showErrorNotification("conflictcheck");
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
}
} else {
var validUsers = validateUsers();
var checkUserExisits = false;
if (validUsers) {
checkUserExisits = validateCheckUserExisits();
if (checkUserExisits) {
var attornyCheck = validateAttornyUserRolesAndPermissins();
if (attornyCheck) {
cm.popupContainerBackground = "Show";
storeMatterDataToLocalStorageSecondPage();
cm.popupContainerBackground = "hide";
return true;
}
}
}
}
}
else if (iCurrPage == 4 && cm.inputs.length > 0) {
cm.popupContainerBackground = "Show";
cm.addFieldReq = false;
angular.forEach(cm.inputs, function (val) {
if (val.type.toLowerCase() != 'boolean' && val.displayInUI == "true" && val.required == "true" && (val.value == null || val.value == undefined)) {
cm.addFieldReq = true;
}
});
cm.popupContainerBackground = "hide";
if (cm.addFieldReq) {
return false;
}
storeMatterDataToLocalStorageAddtionalPage();
return true;
}
else if (iCurrPage == 3 && cm.inputs.length == 0) {
return true;
}
else if (iCurrPage == 4) {
return true;
}
else {
return true;
}
}
function matterDescriptionValidation(sCurrentMatterDesc) {
var bInValid = false;
if (undefined !== sCurrentMatterDesc && null !== sCurrentMatterDesc && "" !== sCurrentMatterDesc) {
var RegularExpressionForMatterDescription = new RegExp(specialCharactersRegExp.SpecialCharacterExpressionMatterDescription);
sCurrentMatterDesc = sCurrentMatterDesc.trim(); bInValid = false;
var arrValidMatch = sCurrentMatterDesc.match(RegularExpressionForMatterDescription);
if (null === arrValidMatch || arrValidMatch[0] !== sCurrentMatterDesc) {
bInValid = false;
} else {
bInValid = true;
}
return bInValid;
}
else {
cm.errTextMsg = cm.createContent.ErrorMessageEntityDescription;
//"Enter a description for this matter.";
showErrorNotification("matterdescription");
cm.errorBorder = "matterdescription";
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500); return false;
}
}
function showErrorNotification(errorCase) {
var ele = null; var errorBlockWidth = "264px";
var topWidth="11px";
switch (errorCase) {
case "mattername":
ele = "txtMatterName";
if (cm.errTextMsg == cm.createContent.ErrorMessageEntityNameSpecialCharacters) {
topWidth = "2px";
}
errorBlockWidth = "400px !important";
break;
case "client":
ele = "selectClientCom";
break;
case "matterdescription":
ele = "txtMatterDesc";
break;
case "matterid":
ele = "txtMatterId";
break;
case "selecttemp":
ele = "mattertype";
break;
case "conflictcheck":
ele = "chkConflictCheckParent";
break;
case "cdate":
ele = "cdate";
break;
case "ccheckuser":
ele = "txtConflictCheckBy";
break;
case "cblockuser":
ele = "txtBlockUser";
break;
case "mcreate":
ele = "btnCreateMatter";
break;
}
var temp = document.getElementById(ele);
var matterErrorEle = document.getElementById("errorBlock");
var matterErrorTrinageleBlockEle = document.getElementById("errTrinagleBlock");
var matterErrorTrinagleBorderEle = document.getElementById("errTrinagleBroderBlock");
var matterErrorTextEle = document.getElementById("errText");
var styleForErrorTxtMat = ".errTextMatterCAttorny{top:" + topWidth + " !important; width:" + errorBlockWidth + "}"
matterErrorEle.className = ""; matterErrorTrinageleBlockEle.className = ""; matterErrorTrinagleBorderEle.className = ""; matterErrorTextEle.className = "";
matterErrorEle.classList.add("errorPopUp");
matterErrorTrinageleBlockEle.classList.add("errTriangle");
matterErrorTrinageleBlockEle.classList.add("popUpFloatLeft");
matterErrorTrinagleBorderEle.classList.add("errTriangleBorder");
matterErrorTrinagleBorderEle.classList.add("popUpFloatLeft");
matterErrorTextEle.classList.add("errText");
matterErrorTextEle.classList.add("popUpFloatRight");
var errPopUpCAttorny = document.createElement('style'),
errTringleBlockCAttorny = document.createElement('style'),
errTringleBorderCAttorny = document.createElement('style'),
errTextMatterCAttorny = document.createElement('style'),
errTxtMatterMsgText = document.createElement('style');
errPopUpCAttorny.type = 'text/css';
errTringleBlockCAttorny.type = 'text/css';
errTringleBorderCAttorny.type = 'text/css';
errTextMatterCAttorny.type = 'text/css';
errTxtMatterMsgText.type = 'text/css';
var width = GetWidth();
var x = 0, y = 0;
var topVal = -26;
topVal = cm.configurableSection ? 16 : -26;
if (width >= 861 && width<=991) {
y = temp.offsetTop + topVal, x = temp.offsetLeft + 45;
y = errorCase == "conflictcheck" ? y + 8 : y;
}
else if (width >= 992 && width <= 1105) {
topVal = topVal == 16 ? topVal + 20 : topVal;
y = temp.offsetTop + topVal, x = temp.offsetLeft + 45;
y = errorCase == "conflictcheck" ? y + 8 : y;
}
else if (width >= 1106 && width <= 1292) {
y = temp.offsetTop + topVal, x = temp.offsetLeft + 45;
y = errorCase == "conflictcheck" ? y + 8 : y;
}
else if (width >= 1293) {
y = temp.offsetTop -26, x = temp.offsetLeft + 45;
y = errorCase == "conflictcheck" ? y + 8 : y;
}
else {
y = temp.offsetTop + 57, x = temp.offsetLeft + 10;
y = cm.configurableSection ? y + 40 : y;
}
errPopUpCAttorny.innerHTML = ".errPopUpCAttorny{top:" + y + "px;left:" + x + "px; width:"+errorBlockWidth+"}";
errTringleBlockCAttorny.innerHTML = "{min-height: 40px;top: 17px !important;left: 24px;width:100%}";
errTringleBorderCAttorny.innerHTML = "{min-height: 40px,top: 17px !important;left: 24px;width:100%}";
errTextMatterCAttorny.innerHTML = styleForErrorTxtMat;
errTxtMatterMsgText.innerHTML = ".errTxtMatterMsgText{width:335px !important;left: 24px;top: 6px;position: absolute; z-index: -1;}";
document.getElementsByTagName('head')[0].appendChild(errPopUpCAttorny);
document.getElementsByTagName('head')[0].appendChild(errTringleBlockCAttorny);
document.getElementsByTagName('head')[0].appendChild(errTringleBorderCAttorny);
document.getElementsByTagName('head')[0].appendChild(errTextMatterCAttorny);
cm.errorPopUpBlock = true; $timeout(function () { angular.element('#errorBlock').focus(); }, 500);
matterErrorEle.classList.add("errPopUpCAttorny");
matterErrorTrinageleBlockEle.classList.add("errTringleBlockCAttorny");
matterErrorTrinagleBorderEle.classList.add("errTringleBorderCAttorny");
matterErrorTextEle.classList.add("errTextMatterCAttorny");
}
function showErrorNotificationAssignTeams(errorMsg, teamRowNumber, type) {
var fieldType = "";
if (type == "user" || type == "securityuser") {
fieldType = "txtUser";
}
else if (type == "role") { fieldType = "roleUser" }
else if (type == "perm") {
fieldType = "permUser";
}
else if (type == "btnCreateMatter") {
fieldType = "btnCreateMatter";
teamRowNumber = "";
}
var temp = document.getElementById(fieldType + teamRowNumber);
var matterErrorEle = document.getElementById("errorBlock");
var matterErrorTrinageleBlockEle = document.getElementById("errTrinagleBlock");
var matterErrorTrinagleBorderEle = document.getElementById("errTrinagleBroderBlock");
var matterErrorTextEle = document.getElementById("errText");
matterErrorEle.className = ""; matterErrorTrinageleBlockEle.className = ""; matterErrorTrinagleBorderEle.className = ""; matterErrorTextEle.className = "";
matterErrorEle.classList.add("errorPopUp");
matterErrorTrinageleBlockEle.classList.add("errTriangle");
matterErrorTrinageleBlockEle.classList.add("popUpFloatLeft");
matterErrorTrinagleBorderEle.classList.add("errTriangleBorder");
matterErrorTrinagleBorderEle.classList.add("popUpFloatLeft");
matterErrorTextEle.classList.add("errText");
matterErrorTextEle.classList.add("popUpFloatRight");
var errPopUpCAttorny = document.createElement('style'),
errTringleBlockCAttorny = document.createElement('style'),
errTringleBorderCAttorny = document.createElement('style'),
errTextMatterCAttorny = document.createElement('style'),
errTxtMatterMsgText = document.createElement('style');
errPopUpCAttorny.type = 'text/css';
errTringleBlockCAttorny.type = 'text/css';
errTringleBorderCAttorny.type = 'text/css';
errTextMatterCAttorny.type = 'text/css';
errTxtMatterMsgText.type = 'text/css';
var width = GetWidth();
var x = 0, y = 0;
if (width > 734) {
y = temp.offsetTop - 26, x = temp.offsetLeft + 45;
}
else {
y = temp.offsetTop + 57, x = temp.offsetLeft + 10;
}
errPopUpCAttorny.innerHTML = ".errPopUpCAttorny{top:" + y + "px;left:" + x + "px;}";
errTringleBlockCAttorny.innerHTML = "{min-height: 40px;top: 17px !important;left: 24px;width:100%}";
errTringleBorderCAttorny.innerHTML = "{min-height: 40px,top: 17px !important;left: 24px;width:100%}";
errTextMatterCAttorny.innerHTML = "{min-height:40px;top:21px !important;left: 24px;width:100%}";
errTxtMatterMsgText.innerHTML = ".errTxtMatterMsgText{width:335px !important;}";
document.getElementsByTagName('head')[0].appendChild(errPopUpCAttorny);
document.getElementsByTagName('head')[0].appendChild(errTringleBlockCAttorny);
document.getElementsByTagName('head')[0].appendChild(errTringleBorderCAttorny);
document.getElementsByTagName('head')[0].appendChild(errTextMatterCAttorny);
cm.errTextMsg = errorMsg;
cm.errorPopUpBlock = true; $timeout(function(){angular.element('#errorBlock').focus();},500);
matterErrorEle.classList.add("errPopUpCAttorny");
matterErrorTrinageleBlockEle.classList.add("errTringleBlockCAttorny");
matterErrorTrinagleBorderEle.classList.add("errTringleBorderCAttorny");
matterErrorTextEle.classList.add("errTextMatterCAttorny");
if (type == "securityuser") {
document.getElementsByTagName('head')[0].appendChild(errTxtMatterMsgText);
matterErrorTextEle.classList.add("errTxtMatterMsgText");
}
}
function resizeErrorPopup() {
"use strict";
var windowWidth = GetWidth();
var width;
cm.errorPopUpBlock = false;
cm.notificationPopUpBlock = false;
if (windowWidth <= 734) {
cm.errorPopUpBlock = false;
cm.notificationPopUpBlock = false;
}
}
cm.closesuccessbanner = function () {
cm.successMsg = "";
cm.successBanner = false;
}
function GetWidth() {
"use strict";
var x = 0;
if (self.innerHeight) {
x = self.innerWidth;
} else if (document.documentElement && document.documentElement.clientHeight) {
x = document.documentElement.clientWidth;
} else if (document.body) {
x = document.body.clientWidth;
}
return x;
}
//#region for validations in assign team
cm.checkAssign = function (id) {
var assignTeamlen = angular.element('.assignTeam').length;
if (assignTeamlen > 1) {
var attrval = angular.element('#' + id).attr('confirm');
angular.element('.checkuser').each(function (e) {
var emaillength = 1;
var confirmed = this.attributes.confirm.value;
emaillength++;
});
}
}
//#endregion
//#region for taxonomy
cm.documentTypeLawTerms = [];
cm.getSelectedLevelOne = function () {
if (cm.selectedLevelOneItem != null) {
if (cm.taxonomyHierarchyLevels >= 2) {
cm.levelTwoList = [];
cm.levelTwoList = cm.selectedLevelOneItem.level2;
cm.activeLevelTwoItem = cm.selectedLevelOneItem.level2[0];
}
if (cm.taxonomyHierarchyLevels >= 3) {
cm.levelThreeList = [];
cm.levelThreeList = cm.levelTwoList[0].level3;
cm.activeLevelThreeItem = cm.levelThreeList[0];
}
if (cm.taxonomyHierarchyLevels >= 4) {
cm.levelFourList = [];
cm.levelFourList = cm.levelThreeList[0].level4;
cm.activeLevelFourItem = (cm.levelFourList && cm.levelFourList[0] != undefined) ? cm.levelFourList[0] : [];
}
if (cm.taxonomyHierarchyLevels >= 5) {
cm.levelFiveList = [];
cm.levelFiveList = cm.levelFourList[0].level5;
cm.activeLevelFiveItem = (cm.levelFiveList && cm.levelFiveList[0] != undefined) ? cm.levelFiveList[0] : [];
}
cm.errorPopUp = false;
} else {
cm.levelTwoList = cm.levelThreeList = null;
if (cm.taxonomyHierarchyLevels >= 2) {
cm.levelTwoList = null;
}
if (cm.taxonomyHierarchyLevels >= 3) {
cm.levelThreeList = null;
}
if (cm.taxonomyHierarchyLevels >= 4) {
cm.levelFourList = null;
}
if (cm.taxonomyHierarchyLevels >= 5) {
cm.levelFiveList = null;
}
}
}
// function to get the subAOL items on selection of AOLTerm
cm.selectLevelTwoItem = function (levelTwoItem) {
cm.errorPopUp = false;
cm.activeLevelTwoItem = levelTwoItem;
if (cm.taxonomyHierarchyLevels >= 3) {
cm.levelThreeList = cm.activeLevelTwoItem.level3;
cm.activeLevelThreeItem = cm.levelThreeList[0];
}
if (cm.taxonomyHierarchyLevels >= 4) {
cm.levelFourList = cm.levelThreeList[0] != undefined && cm.levelThreeList[0].level4 ? cm.levelThreeList[0].level4 : [];
cm.activeLevelFourItem = cm.levelFourList[0] != undefined ? cm.levelFourList[0] : [];
}
if (cm.taxonomyHierarchyLevels >= 5) {
cm.levelFiveList = cm.levelFourList[0] != undefined && cm.levelFourList[0].level5 ? cm.levelFourList[0].level5 : [];
cm.activeLevelFiveItem = cm.levelFourList[0] != undefined ? cm.levelFiveList[0] : [];
}
}
//function to for seclection of subAOL items
cm.selectLevelThreeItem = function (levelThreeItem) {
cm.errorPopUp = false;
cm.activeLevelThreeItem = levelThreeItem;
if (cm.taxonomyHierarchyLevels >= 4) {
cm.levelFourList = cm.activeLevelThreeItem != undefined ? cm.activeLevelThreeItem.level4 : [];
cm.activeLevelFourItem = (cm.levelFourList != undefined && cm.levelFourList[0] != undefined) ? cm.levelFourList[0] : [];
}
if (cm.taxonomyHierarchyLevels >= 5) {
cm.levelFiveList = (cm.levelFourList != undefined && cm.levelFourList[0] != undefined && cm.levelFourList[0].level5) ? cm.levelFourList[0].level5 : [];
cm.activeLevelFiveItem = (cm.levelFourList != undefined && cm.levelFourList[0] != undefined) ? cm.levelFiveList[0] : [];
}
}
cm.selectLevelFourItem = function (levelFourItem) {
cm.errorPopUp = false;
cm.activeLevelFourItem = levelFourItem;
if (cm.taxonomyHierarchyLevels >= 5) {
cm.levelFiveList = cm.activeLevelFourItem.level5;
cm.activeLevelFiveItem = cm.levelFiveList[0];
}
}
cm.selectLevelFiveItem = function (levelFiveItem) {
cm.errorPopUp = false;
cm.activeLevelFiveItem = levelFiveItem;
}
cm.addToDocumentTemplate = function () {
var isThisNewDocTemplate = true;
var selectedHighestLevelItem = null;
cm.primaryMatterType = false;
switch (cm.taxonomyHierarchyLevels) {
case 2:
selectedHighestLevelItem = cm.activeLevelTwoItem;
makeDisableSelectedItemInColumn(cm.levelTwoList, selectedHighestLevelItem);
break;
case 3:
selectedHighestLevelItem = cm.activeLevelThreeItem;
makeDisableSelectedItemInColumn(cm.levelThreeList, selectedHighestLevelItem);
break;
case 4:
selectedHighestLevelItem = cm.activeLevelFourItem;
makeDisableSelectedItemInColumn(cm.levelFourList, selectedHighestLevelItem);
break;
case 5:
selectedHighestLevelItem = cm.activeLevelFiveItem;
makeDisableSelectedItemInColumn(cm.levelFiveList, selectedHighestLevelItem);
break;
}
if (selectedHighestLevelItem != null) {
angular.forEach(cm.documentTypeLawTerms, function (term) { //For loop
if (selectedHighestLevelItem.id == term.id) {// this line will check whether the data is existing or not
isThisNewDocTemplate = false;
}
});
if (isThisNewDocTemplate) {
var documentType = selectedHighestLevelItem;
documentType.levelOneFolderNames = cm.selectedLevelOneItem.folderNames;
documentType.levelOneTermId = cm.selectedLevelOneItem.id;
documentType.levelOneTermName = cm.selectedLevelOneItem.termName;
documentType.termChainName = cm.selectedLevelOneItem.termName;
if (cm.taxonomyHierarchyLevels >= 2) {
documentType.levelTwoFolderNames = cm.activeLevelTwoItem.folderNames;
documentType.levelTwoTermId = cm.activeLevelTwoItem.id;
documentType.levelTwoTermName = cm.activeLevelTwoItem.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelTwoTermName;
}
if (cm.taxonomyHierarchyLevels >= 3) {
documentType.levelThreeFolderNames = cm.activeLevelThreeItem.folderNames;
documentType.levelThreeId = cm.activeLevelThreeItem.id;
documentType.levelThreeTermName = cm.activeLevelThreeItem.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelThreeTermName;
}
if (cm.taxonomyHierarchyLevels >= 4) {
documentType.levelFourFolderNames = cm.activeLevelFourItem.folderNames;
documentType.levelFourId = cm.activeLevelFourItem.id;
documentType.levelFourTermName = cm.activeLevelFourItem.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelFourTermName;
}
if (cm.taxonomyHierarchyLevels >= 5) {
documentType.levelFiveFolderNames = cm.activeLevelFiveItem.folderNames;
documentType.levelFiveId = cm.activeLevelFiveItem.id;
documentType.levelFiveTermName = cm.activeLevelFiveItem.termName;
documentType.termChainName = documentType.termChainName + ">" + documentType.levelFiveTermName;
}
jQuery.a11yfy.assertiveAnnounce(documentType.termName+"matter type is added.");
cm.documentTypeLawTerms.push(documentType);
cm.activeDocumentTypeLawTerm = null;
}
}
}
function makeDisableSelectedItemInColumn(levelList, selectedItem) {
angular.forEach(levelList, function (levelListItem) {
if (levelListItem.termName == selectedItem.termName) {
levelListItem.state = "disable";
}
});
}
function makeEnableSelectedItemInColumn(selectedItem) {
var levelList = [];
if (cm.taxonomyHierarchyLevels == 2) {
levelList = cm.levelTwoList;
}
if (cm.taxonomyHierarchyLevels == 3) {
levelList = cm.levelThreeList;
}
if (cm.taxonomyHierarchyLevels == 4) {
levelList = cm.levelFourList;
}
if (cm.taxonomyHierarchyLevels == 5) {
levelList = cm.levelFiveList;
}
angular.forEach(levelList, function (levelListItem) {
if (levelListItem.termName == selectedItem.termName) {
levelListItem.state = "enable";
}
});
}
cm.removeFromDocumentTemplate = function () {
if (cm.removeDTItem) {
var index = cm.documentTypeLawTerms.indexOf(cm.activeDocumentTypeLawTerm);
makeEnableSelectedItemInColumn(cm.activeDocumentTypeLawTerm);
jQuery.a11yfy.assertiveAnnounce(cm.activeDocumentTypeLawTerm.termName + "matter type is removed.");
cm.documentTypeLawTerms.splice(index, 1);
cm.removeDTItem = false;
cm.primaryMatterType = false;
cm.activeDocumentTypeLawTerm = null;
}
}
cm.selectDocumentTemplateTypeLawTerm = function (documentTemplateTypeLawTerm) {
if (documentTemplateTypeLawTerm != null) {
cm.errorPopUp = false;;
cm.removeDTItem = true;
cm.activeDocumentTypeLawTerm = documentTemplateTypeLawTerm;
cm.primaryMatterType = true;
}
}
cm.saveDocumentTemplates = function () {
if (cm.primaryMatterType) {
cm.errorPopUp = false;
angular.forEach(cm.documentTypeLawTerms, function (term) {
var primaryType = false;
if (cm.activeDocumentTypeLawTerm.id == term.id) {// this line will check whether the data is existing or not
primaryType = true;
getAdditionalMatterProperties(term);
}
term.primaryMatterType = primaryType;
cm.popupContainerBackground = "hide";
cm.popupContainer = "hide";
angular.element('#myModal').modal("hide");
jQuery.a11yfy.assertiveAnnounce("matter type popup modal closed.");
$timeout(function () { angular.element('#addOrRemoveTypesLink').focus(); }, 500);
});
cm.selectedDocumentTypeLawTerms = cm.documentTypeLawTerms;
}
else {
cm.errorPopUp = true;
jQuery.a11yfy.assertiveAnnounce(cm.createContent.ErrorMessagePrimaryMatterType);
}
}
//#endregion
//#region
//function to filter practice groups
function getClientsPracticeGroup(clientName) {
if (clientName && clientName!=null && clientName != "") {
var levelOneList = [];
var pgTermList = cm.parentLevelOneList.level1;
angular.forEach(pgTermList, function (pgTerm) {
if (pgTerm.level2) {
angular.forEach(pgTerm.level2, function (levelTwoTerm) {
if (levelTwoTerm.termName === clientName) {
levelOneList.push(pgTerm);
}
});
}
});
cm.levelOneList = levelOneList;
var data={};
data.name = cm.parentLevelOneList.name;
data.levels = cm.parentLevelOneList.levels;
data.level1 = levelOneList;
cm.selectedLevelOneItem = cm.levelOneList[0];
getTaxonomyHierarchy(data);
}
}
//#endregion
function addLoggedinUserToTeam() {
var team = {};
team.assigneTeamRowNumber = cm.assignPermissionTeams.length + 1;
team.assignedUser = adalService.userInfo.profile.name + '(' + adalService.userInfo.userName + ');';
team.assignedAllUserNamesAndEmails = team.assignedUser;
team.userConfirmation = true;
team.userExsists = true;
team.disable = true;
team.userConfirmation = true;
team.userExsists = true;
var userDetails = {};
userDetails.userName = adalService.userInfo.userName;
userDetails.userExsists = true;
userDetails.userConfirmation = true;
if (!team.teamUsers) {
team.teamUsers = [];
}
var isRowPresent = $filter("filter")(team.teamUsers, adalService.userInfo.userName);
if (isRowPresent.length == 0) {
team.teamUsers.push(userDetails);
}
if (-1 == cm.oSiteUsers.indexOf(adalService.userInfo.userName)) {
cm.oSiteUsers.push(adalService.userInfo.userName);
}
if (-1 == cm.oSiteUserNames.indexOf(adalService.userInfo.profile.name)) {
cm.oSiteUserNames.push(adalService.userInfo.profile.name);
}
angular.forEach(cm.assignRoles, function (assignRole) {
if (assignRole.mandatory) {
team.assignedRole = assignRole;
}
});
angular.forEach(cm.assignPermissions, function (assignPermission) {
if (assignPermission.name == "Full Control") {
team.assignedPermission = assignPermission;
}
});
cm.assignPermissionTeams.push(team);
}
$rootScope.$on('disableOverlay', function (event, data) {
cm.popupContainerBackground = "hide";
});
//To get matter extra field properties for specific term or area of law.
function getAdditionalMatterProperties(data) {
var additionalMatterPropSettingName = configs.taxonomy.matterProvisionExtraPropertiesContentType;
if (data[additionalMatterPropSettingName] && data[additionalMatterPropSettingName] != "") {
cm.configurableSection = true;
if (cm.configurableSection) {
cm.matterAdditionalFieldsContentTypeName = data[additionalMatterPropSettingName];
cm.createContent.TabNumber = 4;
if (cm.clientUrl == "") {
cm.clientUrl = configs.global.repositoryUrl;
}
var optionsForGetmatterprovisionextraproperties = {
Client: {
Url: cm.clientUrl
},
MatterExtraProperties: {
ContentTypeName: data[additionalMatterPropSettingName]
}
}
getmatterprovisionextraproperties(optionsForGetmatterprovisionextraproperties, function (result) {
cm.inputs = result.Fields;
var z = 0;
for (var i = 1; i <= cm.inputs.length; i++) {
var order = (i % 2 == 0) ? 2 : 1;
cm.inputs[z].columnPosition = order;
z++;
}
});
}
} else {
cm.configurableSection = false;
cm.createContent.TabNumber = 3;
cm.matterAdditionalFieldsContentTypeName = "";
cm.inputs = [];
}
}
// To get extra field properties values set by user.
function getAdditionalMatterPropertiesFieldsData() {
var Fields = [];
angular.forEach(cm.inputs, function (input) {
var field = { FieldDisplayName: "", FieldName: "", Type: "", FieldValue: "", IsDisplayInUI: "true" }
field.FieldDisplayName = input.name;
field.FieldName = input.fieldInternalName;
field.Type = input.type;
field.IsDisplayInUI = input.displayInUI.toString();
if (input.type == "Dropdown") {
if (input.value == undefined || input.value.choiceValue == null || input.value.choiceValue == undefined) {
field.FieldValue = ""
}
else {
field.FieldValue = input.value.choiceValue
}
} else if (input.type == "MultiChoice") {
field.FieldValue = "";
if (input.value != undefined) {
angular.forEach(input.value, function (val) {
if (val.choiceValue == null || val.choiceValue == undefined) {
val.choiceValue = "";
}
field.FieldValue += field.FieldValue == "" ? val.choiceValue : "," + val.choiceValue;
});
}
}else {
if (input.value == null || input.value == undefined) {
input.value = "";
}
field.FieldValue = input.value;
}
if (-1 == Fields.indexOf(field)) {
Fields.push(field);
}
});
return Fields;
}
angular.element("#conflictCheck ul li a").prop("tabindex", "0");
cm.pageLoadCompleted = function () {
jQuery.a11yfy.assertiveAnnounce("Matter provisioning page loaded successfully");
}
}]);