Package org.nextime.ion.backoffice.security

Source Code of org.nextime.ion.backoffice.security.SecurityManagerImpl

package org.nextime.ion.backoffice.security;

import org.nextime.ion.framework.business.Group;
import org.nextime.ion.framework.business.Publication;
import org.nextime.ion.framework.business.Section;
import org.nextime.ion.framework.business.User;

import com.opensymphony.workflow.basic.*;

public class SecurityManagerImpl implements SecurityManager {

  /**
   * @see org.nextime.ion.backoffice.security.SecurityManager#canAdminResources(User)
   */
  public boolean canAdminResources(User user) {
    try {
      Group admins = Group.getInstance("admins");
      if( user.listGroups().contains(admins) ) return true;
    } catch( Exception e ) {
      e.printStackTrace();
    }
    return false;
  }


  /**
   * @see org.nextime.ion.backoffice.security.SecurityManager#canAdminSecurity(User)
   */
  public boolean canAdminSecurity(User user) {
    try {
      Group admins = Group.getInstance("admins");
      if( user.listGroups().contains(admins) ) return true;
    } catch( Exception e ) {
      e.printStackTrace();
    }
    return false;
  }


  /**
   * @see org.nextime.ion.backoffice.security.SecurityManager#canCreatePublication(Section, User)
   */
  public boolean canCreatePublication(Section section, User user) {
    try {
      String workflowType = section.getMetaData("workflow")+"";
      BasicWorkflow bw = new BasicWorkflow(user.getLogin());
      return bw.canInitialize(workflowType, 1);
    } catch( Exception e ) {
      e.printStackTrace();
    }
    return false;
  }


  /**
   * @see org.nextime.ion.backoffice.security.SecurityManager#canCreateSection(Section, User)
   */
  public boolean canCreateSection(Section section, User user) {
    try {
      Group admins = Group.getInstance("admins");
      if( user.listGroups().contains(admins) ) return true;
    } catch( Exception e ) {
      e.printStackTrace();
    }
    return false;
  }


  /**
   * @see org.nextime.ion.backoffice.security.SecurityManager#canDeletePublication(Publication, User)
   */
  public boolean canDeletePublication(Publication publication, User user) {
    try {
      return publication.getWorkflow(user).getPermissions().contains("canDelete");} catch( Exception e ) {
      e.printStackTrace();
    }
    return false;
  }


  /**
   * @see org.nextime.ion.backoffice.security.SecurityManager#canDeleteSection(Section, User)
   */
  public boolean canDeleteSection(Section section, User user) {
    try {
      Group admins = Group.getInstance("admins");
      if( user.listGroups().contains(admins) ) return true;
    } catch( Exception e ) {
      e.printStackTrace();
    }
    return false;
  }


  /**
   * @see org.nextime.ion.backoffice.security.SecurityManager#canEditPublication(Publication, User)
   */
  public boolean canEditPublication(Publication publication, User user) {
    try {
      return publication.getWorkflow(user).getPermissions().contains("canEdit");
    } catch( Exception e ) {
      e.printStackTrace();
    }
    return false;
  }


  /**
   * @see org.nextime.ion.backoffice.security.SecurityManager#canEditSection(Section, User)
   */
  public boolean canEditSection(Section section, User user) {
    try {
      Group admins = Group.getInstance("admins");
      if( user.listGroups().contains(admins) ) return true;
    } catch( Exception e ) {
      e.printStackTrace();
    }
    return false;
 

  /**
   * @see org.nextime.ion.backoffice.security.SecurityManager#canLogIntoBackoffice(User)
   */
  public boolean canLogIntoBackoffice(User user) {
    return true;
  }

}

TOP

Related Classes of org.nextime.ion.backoffice.security.SecurityManagerImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.