/**
* Copyright 2011 Intuit Inc. All Rights Reserved
*/
package com.intuit.tank;
/*
* #%L
* JSF Support Beans
* %%
* Copyright (C) 2011 - 2015 Intuit Inc.
* %%
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
* #L%
*/
import java.io.Serializable;
import java.util.List;
import javax.enterprise.context.SessionScoped;
import javax.inject.Inject;
import javax.inject.Named;
import org.picketlink.Identity;
import org.picketlink.idm.IdentityManager;
import org.picketlink.idm.model.basic.User;
import com.intuit.tank.admin.UserAdmin;
import com.intuit.tank.auth.Security;
import com.intuit.tank.project.OwnableEntity;
import com.intuit.tank.view.filter.ViewFilterType;
/**
* ProjectService
*
* @author dangleton
*
*/
@Named
@SessionScoped
public class OwnerUtilBean implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
UserAdmin userAdmin;
@Inject
Security security;
@Inject
Identity identity;
@Inject
private IdentityManager identityManager;
public boolean isOwnable(Object obj) {
return obj instanceof OwnableEntity;
}
public List<com.intuit.tank.project.User> getOwnerList() {
return userAdmin.getEntityList(ViewFilterType.ALL);
}
public boolean canChangeOwner(Object obj) {
boolean retVal = true;
if (isOwnable(obj)) {
OwnableEntity entity = (OwnableEntity) obj;
if ((entity.getCreator()).isEmpty()) {
entity.setCreator(identityManager.lookupById(User.class, identity.getAccount().getId()).getLoginName());
}
if (security.isOwner((OwnableEntity) entity) || security.isAdmin()) {
retVal = true;
} else {
retVal = false;
}
} else {
retVal = false;
}
return retVal;
}
}