use of org.jbei.ice.storage.model.Group in project ice by JBEI.
the class EntryPermissionTask method addPermissions.
protected void addPermissions(Entry entry) {
for (AccessPermission access : permissions) {
// account or group
Account account = null;
Group group = null;
switch(access.getArticle()) {
case ACCOUNT:
default:
account = accountDAO.get(access.getArticleId());
break;
case GROUP:
group = groupDAO.get(access.getArticleId());
break;
}
// does the permissions already exists
if (permissionDAO.hasPermission(entry, null, null, account, group, access.isCanRead(), access.isCanWrite()))
return;
// add the permission if not
Permission permission = new Permission();
permission.setEntry(entry);
entry.getPermissions().add(permission);
permission.setGroup(group);
permission.setFolder(null);
permission.setUpload(null);
permission.setAccount(account);
permission.setCanRead(access.isCanRead());
permission.setCanWrite(access.isCanWrite());
permissionDAO.create(permission);
}
}
use of org.jbei.ice.storage.model.Group in project ice by JBEI.
the class SharedEntries method getNumberOfEntries.
public long getNumberOfEntries(String filter) {
GroupController groupController = new GroupController();
Group publicGroup = groupController.createOrRetrievePublicGroup();
Set<Group> accountGroups = account.getGroups();
accountGroups.remove(publicGroup);
return this.entryDAO.sharedEntryCount(account, accountGroups, filter);
}
use of org.jbei.ice.storage.model.Group in project ice by JBEI.
the class OwnerEntries method getNumberOfOwnerEntries.
public long getNumberOfOwnerEntries() {
if (this.isAdmin || this.isSelf) {
return entryDAO.ownerEntryCount(ownerAccount.getEmail());
}
Set<Group> accountGroups = new HashSet<>(account.getGroups());
GroupController controller = new GroupController();
Group everybodyGroup = controller.createOrRetrievePublicGroup();
accountGroups.add(everybodyGroup);
return entryDAO.ownerEntryCount(account, ownerAccount.getEmail(), accountGroups);
}
use of org.jbei.ice.storage.model.Group in project ice by JBEI.
the class EntryPermissions method disablePublicReadAccess.
public boolean disablePublicReadAccess() {
authorization.expectWrite(userId, entry);
Group publicGroup = groupController.createOrRetrievePublicGroup();
permissionDAO.removePermission(entry, null, null, null, publicGroup, true, false);
return true;
}
use of org.jbei.ice.storage.model.Group in project ice by JBEI.
the class RemoteClientModelDAO method getClientsForGroup.
/**
* Retrieves clients belonging to specified group
*
* @param group group whose members are to be retrieved
* @return remote clients that have been added to the specified group
*/
public List<RemoteClientModel> getClientsForGroup(Group group) {
try {
CriteriaQuery<RemoteClientModel> query = getBuilder().createQuery(RemoteClientModel.class);
Root<RemoteClientModel> from = query.from(RemoteClientModel.class);
Join<RemoteClientModel, Group> groups = from.join("groups");
query.where(getBuilder().equal(groups.get("id"), group.getId()), getBuilder().isNotNull(from.get("email")));
return currentSession().createQuery(query).list();
} catch (HibernateException he) {
Logger.error(he);
throw new DAOException(he);
}
}
Aggregations