/** * Get the user guid from a given id record and id entry. <br> * Return an empty string if the entry is not an EntryTypeMyLuteceUser nor * EntryTypeRemoteMyLuteceUser * * @param nIdRecord the id record * @param nIdEntry the id entry * @return the user GUID */ public String getUserGuid(int nIdRecord, int nIdEntry) { String strUserGuid = StringUtils.EMPTY; Plugin plugin = PluginService.getPlugin(DirectoryPlugin.PLUGIN_NAME); IEntry entry = EntryHome.findByPrimaryKey(nIdEntry, plugin); if ((entry != null) && (entry.getEntryType() != null)) { if (((entry.getEntryType().getIdType() == AppPropertiesService.getPropertyInt( PROPERTY_ENTRY_TYPE_REMOTE_MYLUTECE_USER, 21)) && DirectoryUserAttributesManager.getManager().isEnabled()) || (entry.getEntryType().getIdType() == AppPropertiesService.getPropertyInt(PROPERTY_ENTRY_TYPE_MYLUTECE_USER, 19))) { RecordFieldFilter recordFieldFilter = new RecordFieldFilter(); recordFieldFilter.setIdRecord(nIdRecord); recordFieldFilter.setIdEntry(nIdEntry); List<RecordField> listRecordFields = DirectoryService.getInstance().getRecordFieldByFilter(recordFieldFilter); if ((listRecordFields != null) && !listRecordFields.isEmpty() && (listRecordFields.get(0) != null)) { strUserGuid = listRecordFields.get(0).getValue(); } } } return strUserGuid; }
/** * Get the records count * * @param directory the {@link Directory} * @param user the {@link AdminUser} * @return the record count */ public int getRecordsCount(Directory directory, AdminUser user) { Plugin plugin = PluginService.getPlugin(DirectoryPlugin.PLUGIN_NAME); int nNbRecords = 0; boolean bWorkflowServiceEnable = WorkflowService.getInstance().isAvailable(); RecordFieldFilter filter = new RecordFieldFilter(); filter.setIdDirectory(directory.getIdDirectory()); filter.setWorkgroupKeyList(AdminWorkgroupService.getUserWorkgroups(user, user.getLocale())); if ((directory.getIdWorkflow() != DirectoryUtils.CONSTANT_ID_NULL) && (directory.getIdWorkflow() != DirectoryUtils.CONSTANT_ID_ZERO) && bWorkflowServiceEnable) { List<Integer> listResultRecordIds = DirectorySearchService.getInstance() .getSearchResults(directory, null, null, null, null, filter, plugin); List<Integer> listTmpResultRecordIds = WorkflowService.getInstance() .getAuthorizedResourceList( Record.WORKFLOW_RESOURCE_TYPE, directory.getIdWorkflow(), DirectoryUtils.CONSTANT_ID_NULL, Integer.valueOf(directory.getIdDirectory()), user); listResultRecordIds = DirectoryUtils.retainAllIdsKeepingFirstOrder(listResultRecordIds, listTmpResultRecordIds); nNbRecords = listResultRecordIds.size(); } else { IRecordService recordService = SpringContextService.getBean(RecordService.BEAN_SERVICE); nNbRecords = recordService.getCountRecord(filter, plugin); } return nNbRecords; }