Changeset 5926


Ignore:
Timestamp:
Jan 16, 2012, 9:15:15 AM (10 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #1572: Filtering of rawbioassays when adding to experiment does not work properly

The problem was that when the user is not a real member of a project, but administrative permissions makes it possible to set it as the active project, the administrative permissions are 'forgotten' in some cases (eg. when using the permission filter on an item query). This has now been fixed by making sure that the role-based permissions for the project are considered when determining the final permissions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3.0-stable/src/core/net/sf/basedb/core/Keyring.java

    r5829 r5926  
    164164    TRUE if the Timer has signaled that it is time to reload the information.
    165165  */
    166   private boolean reload;
     166  private volatile boolean reload;
    167167
    168168  /**
     
    263263  {
    264264    if (!getReload()) return true;
     265    setReload(false);
    265266    org.hibernate.Session session = null;
    266267    org.hibernate.Transaction tx = null;
     
    284285        loadPluginPermissionKeys(session);
    285286      }
    286       setReload(false);
    287287      // Schedule another reload as configured in base.config
    288288      Application.getCoreTimer().schedule(new ReloadTask(),
     
    743743    else
    744744    {
    745       maxProjectPermission = IntegerUtil.getInt(projects.get(projectId));
     745      maxProjectPermission = IntegerUtil.getInt(projects.get(projectId)) | getRolePermissions(Item.PROJECT);
    746746    }
    747747  }
Note: See TracChangeset for help on using the changeset viewer.