mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 10:04:21 +00:00
Merge branch 'master' into dspace-rest-fixes
This commit is contained in:
@@ -116,6 +116,7 @@ public class BrowseDAOOracle implements BrowseDAO
|
|||||||
/** flags for what the items represent */
|
/** flags for what the items represent */
|
||||||
private boolean itemsInArchive = true;
|
private boolean itemsInArchive = true;
|
||||||
private boolean itemsWithdrawn = false;
|
private boolean itemsWithdrawn = false;
|
||||||
|
private boolean itemsDiscoverable = true;
|
||||||
|
|
||||||
private boolean enableBrowseFrequencies = true;
|
private boolean enableBrowseFrequencies = true;
|
||||||
|
|
||||||
@@ -360,7 +361,8 @@ public class BrowseDAOOracle implements BrowseDAO
|
|||||||
TableRow row = tri.next();
|
TableRow row = tri.next();
|
||||||
BrowseItem browseItem = new BrowseItem(context, row.getIntColumn("item_id"),
|
BrowseItem browseItem = new BrowseItem(context, row.getIntColumn("item_id"),
|
||||||
itemsInArchive,
|
itemsInArchive,
|
||||||
itemsWithdrawn);
|
itemsWithdrawn,
|
||||||
|
itemsDiscoverable);
|
||||||
results.add(browseItem);
|
results.add(browseItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -682,11 +684,19 @@ public class BrowseDAOOracle implements BrowseDAO
|
|||||||
{
|
{
|
||||||
itemsInArchive = false;
|
itemsInArchive = false;
|
||||||
itemsWithdrawn = true;
|
itemsWithdrawn = true;
|
||||||
|
itemsDiscoverable = true;
|
||||||
}
|
}
|
||||||
else
|
else if (table.equals(BrowseIndex.getPrivateBrowseIndex().getTableName()))
|
||||||
|
{
|
||||||
|
itemsInArchive = true;
|
||||||
|
itemsWithdrawn = false;
|
||||||
|
itemsDiscoverable = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
itemsInArchive = true;
|
itemsInArchive = true;
|
||||||
itemsWithdrawn = false;
|
itemsWithdrawn = false;
|
||||||
|
itemsDiscoverable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.rebuildQuery = true;
|
this.rebuildQuery = true;
|
||||||
|
@@ -116,6 +116,7 @@ public class BrowseDAOPostgres implements BrowseDAO
|
|||||||
/** flags for what the items represent */
|
/** flags for what the items represent */
|
||||||
private boolean itemsInArchive = true;
|
private boolean itemsInArchive = true;
|
||||||
private boolean itemsWithdrawn = false;
|
private boolean itemsWithdrawn = false;
|
||||||
|
private boolean itemsDiscoverable = true;
|
||||||
|
|
||||||
private boolean enableBrowseFrequencies = true;
|
private boolean enableBrowseFrequencies = true;
|
||||||
|
|
||||||
@@ -367,7 +368,8 @@ public class BrowseDAOPostgres implements BrowseDAO
|
|||||||
TableRow row = tri.next();
|
TableRow row = tri.next();
|
||||||
BrowseItem browseItem = new BrowseItem(context, row.getIntColumn("item_id"),
|
BrowseItem browseItem = new BrowseItem(context, row.getIntColumn("item_id"),
|
||||||
itemsInArchive,
|
itemsInArchive,
|
||||||
itemsWithdrawn);
|
itemsWithdrawn,
|
||||||
|
itemsDiscoverable);
|
||||||
results.add(browseItem);
|
results.add(browseItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -687,13 +689,22 @@ public class BrowseDAOPostgres implements BrowseDAO
|
|||||||
{
|
{
|
||||||
itemsInArchive = false;
|
itemsInArchive = false;
|
||||||
itemsWithdrawn = true;
|
itemsWithdrawn = true;
|
||||||
|
itemsDiscoverable = true;
|
||||||
}
|
}
|
||||||
else
|
else if (table.equals(BrowseIndex.getPrivateBrowseIndex().getTableName()))
|
||||||
|
{
|
||||||
|
itemsInArchive = true;
|
||||||
|
itemsWithdrawn = false;
|
||||||
|
itemsDiscoverable = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
itemsInArchive = true;
|
itemsInArchive = true;
|
||||||
itemsWithdrawn = false;
|
itemsWithdrawn = false;
|
||||||
|
itemsDiscoverable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
this.rebuildQuery = true;
|
this.rebuildQuery = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -55,6 +55,9 @@ public class BrowseItem extends DSpaceObject
|
|||||||
/** is the item withdrawn */
|
/** is the item withdrawn */
|
||||||
private boolean withdrawn = false;
|
private boolean withdrawn = false;
|
||||||
|
|
||||||
|
/** is the item discoverable */
|
||||||
|
private boolean discoverable = true;
|
||||||
|
|
||||||
/** item handle */
|
/** item handle */
|
||||||
private String handle = null;
|
private String handle = null;
|
||||||
|
|
||||||
@@ -66,12 +69,13 @@ public class BrowseItem extends DSpaceObject
|
|||||||
* @param in_archive
|
* @param in_archive
|
||||||
* @param withdrawn
|
* @param withdrawn
|
||||||
*/
|
*/
|
||||||
public BrowseItem(Context context, int id, boolean in_archive, boolean withdrawn)
|
public BrowseItem(Context context, int id, boolean in_archive, boolean withdrawn, boolean discoverable)
|
||||||
{
|
{
|
||||||
this.context = context;
|
this.context = context;
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.in_archive = in_archive;
|
this.in_archive = in_archive;
|
||||||
this.withdrawn = withdrawn;
|
this.withdrawn = withdrawn;
|
||||||
|
this.discoverable = discoverable;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -404,4 +408,8 @@ public class BrowseItem extends DSpaceObject
|
|||||||
{
|
{
|
||||||
return withdrawn;
|
return withdrawn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isDiscoverable() {
|
||||||
|
return discoverable;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -21,7 +21,7 @@ import java.util.List;
|
|||||||
public class BrowseItemDAOOracle implements BrowseItemDAO
|
public class BrowseItemDAOOracle implements BrowseItemDAO
|
||||||
{
|
{
|
||||||
/** query to obtain all the items from the database */
|
/** query to obtain all the items from the database */
|
||||||
private String findAll = "SELECT item_id, in_archive, withdrawn FROM item WHERE in_archive = 1 OR withdrawn = 1";
|
private String findAll = "SELECT item_id, in_archive, withdrawn, discoverable FROM item WHERE in_archive = 1 OR withdrawn = 1";
|
||||||
|
|
||||||
/** query to get the text value of a metadata element only (qualifier is NULL) */
|
/** query to get the text value of a metadata element only (qualifier is NULL) */
|
||||||
private String getByMetadataElement = "SELECT authority, confidence, text_value,text_lang,element,qualifier FROM metadatavalue, metadatafieldregistry, metadataschemaregistry " +
|
private String getByMetadataElement = "SELECT authority, confidence, text_value,text_lang,element,qualifier FROM metadatavalue, metadatafieldregistry, metadataschemaregistry " +
|
||||||
@@ -75,7 +75,8 @@ public class BrowseItemDAOOracle implements BrowseItemDAO
|
|||||||
TableRow row = tri.next();
|
TableRow row = tri.next();
|
||||||
items.add(new BrowseItem(context, row.getIntColumn("item_id"),
|
items.add(new BrowseItem(context, row.getIntColumn("item_id"),
|
||||||
row.getBooleanColumn("in_archive"),
|
row.getBooleanColumn("in_archive"),
|
||||||
row.getBooleanColumn("withdrawn")));
|
row.getBooleanColumn("withdrawn"),
|
||||||
|
row.getBooleanColumn("discoverable")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
@@ -21,7 +21,7 @@ import java.util.List;
|
|||||||
public class BrowseItemDAOPostgres implements BrowseItemDAO
|
public class BrowseItemDAOPostgres implements BrowseItemDAO
|
||||||
{
|
{
|
||||||
/** query to obtain all the items from the database */
|
/** query to obtain all the items from the database */
|
||||||
private String findAll = "SELECT item_id, in_archive, withdrawn FROM item WHERE in_archive = true OR withdrawn = true";
|
private String findAll = "SELECT item_id, in_archive, withdrawn, discoverable FROM item WHERE in_archive = true OR withdrawn = true";
|
||||||
|
|
||||||
/** query to get the text value of a metadata element only (qualifier is NULL) */
|
/** query to get the text value of a metadata element only (qualifier is NULL) */
|
||||||
private String getByMetadataElement = "SELECT authority, confidence, text_value,text_lang,element,qualifier FROM metadatavalue, metadatafieldregistry, metadataschemaregistry " +
|
private String getByMetadataElement = "SELECT authority, confidence, text_value,text_lang,element,qualifier FROM metadatavalue, metadatafieldregistry, metadataschemaregistry " +
|
||||||
@@ -74,7 +74,8 @@ public class BrowseItemDAOPostgres implements BrowseItemDAO
|
|||||||
TableRow row = tri.next();
|
TableRow row = tri.next();
|
||||||
items.add(new BrowseItem(context, row.getIntColumn("item_id"),
|
items.add(new BrowseItem(context, row.getIntColumn("item_id"),
|
||||||
row.getBooleanColumn("in_archive"),
|
row.getBooleanColumn("in_archive"),
|
||||||
row.getBooleanColumn("withdrawn")));
|
row.getBooleanColumn("withdrawn"),
|
||||||
|
row.getBooleanColumn("discoverable")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
@@ -344,7 +344,7 @@ public class IndexBrowse
|
|||||||
{
|
{
|
||||||
boolean reqCommunityMappings = false;
|
boolean reqCommunityMappings = false;
|
||||||
Map<Integer, String> sortMap = getSortValues(item, itemMDMap);
|
Map<Integer, String> sortMap = getSortValues(item, itemMDMap);
|
||||||
if (item.isArchived() && !item.isWithdrawn())
|
if (item.isArchived() && item.isDiscoverable())
|
||||||
{
|
{
|
||||||
// Try to update an existing record in the item index
|
// Try to update an existing record in the item index
|
||||||
if (!dao.updateIndex(BrowseIndex.getItemBrowseIndex().getTableName(), item.getID(), sortMap))
|
if (!dao.updateIndex(BrowseIndex.getItemBrowseIndex().getTableName(), item.getID(), sortMap))
|
||||||
@@ -358,30 +358,23 @@ public class IndexBrowse
|
|||||||
|
|
||||||
reqCommunityMappings = true;
|
reqCommunityMappings = true;
|
||||||
}
|
}
|
||||||
|
else if (!item.isDiscoverable())
|
||||||
|
{
|
||||||
|
if (!dao.updateIndex(BrowseIndex.getPrivateBrowseIndex().getTableName(), item.getID(), sortMap)) {
|
||||||
|
dao.deleteByItemID(BrowseIndex.getItemBrowseIndex().getTableName(), item.getID());
|
||||||
|
dao.insertIndex(BrowseIndex.getPrivateBrowseIndex().getTableName(), item.getID(), sortMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (item.isWithdrawn())
|
else if (item.isWithdrawn())
|
||||||
{
|
{
|
||||||
// Private items are marked as withdrawn as well. check before if they are private...
|
// Try to update an existing record in the withdrawn index
|
||||||
Item dsoItem = Item.find(context, item.getID());
|
if (!dao.updateIndex(BrowseIndex.getWithdrawnBrowseIndex().getTableName(), item.getID(), sortMap))
|
||||||
if (!dsoItem.isDiscoverable()){
|
{
|
||||||
if (!dao.updateIndex(BrowseIndex.getPrivateBrowseIndex().getTableName(), item.getID(), sortMap)) {
|
// Record doesn't exist - ensure that it doesn't exist in the item index,
|
||||||
dao.deleteByItemID(BrowseIndex.getItemBrowseIndex().getTableName(), item.getID());
|
// and add it to the withdrawn item index
|
||||||
dao.insertIndex(BrowseIndex.getPrivateBrowseIndex().getTableName(), item.getID(), sortMap);
|
dao.deleteByItemID(BrowseIndex.getItemBrowseIndex().getTableName(), item.getID());
|
||||||
}
|
dao.insertIndex(BrowseIndex.getWithdrawnBrowseIndex().getTableName(), item.getID(), sortMap);
|
||||||
}
|
}
|
||||||
else{
|
|
||||||
// Try to update an existing record in the withdrawn index
|
|
||||||
if (!dao.updateIndex(BrowseIndex.getWithdrawnBrowseIndex().getTableName(), item.getID(), sortMap))
|
|
||||||
{
|
|
||||||
// Record doesn't exist - ensure that it doesn't exist in the item index,
|
|
||||||
// and add it to the withdrawn item index
|
|
||||||
dao.deleteByItemID(BrowseIndex.getItemBrowseIndex().getTableName(), item.getID());
|
|
||||||
dao.insertIndex(BrowseIndex.getWithdrawnBrowseIndex().getTableName(), item.getID(), sortMap);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1273,5 +1266,21 @@ public class IndexBrowse
|
|||||||
|
|
||||||
return browseItem.isWithdrawn();
|
return browseItem.isWithdrawn();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is the Item discoverable?
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean isDiscoverable()
|
||||||
|
{
|
||||||
|
if (item != null)
|
||||||
|
{
|
||||||
|
return item.isDiscoverable();
|
||||||
|
}
|
||||||
|
|
||||||
|
return browseItem.isDiscoverable();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -133,7 +133,7 @@ public class SolrBrowseDAO implements BrowseDAO
|
|||||||
private DiscoverResult sResponse = null;
|
private DiscoverResult sResponse = null;
|
||||||
|
|
||||||
private boolean itemsWithdrawn = false;
|
private boolean itemsWithdrawn = false;
|
||||||
private boolean itemsPrivate = false;
|
private boolean itemsDiscoverable = true;
|
||||||
|
|
||||||
private boolean showFrequencies;
|
private boolean showFrequencies;
|
||||||
|
|
||||||
@@ -186,7 +186,8 @@ public class SolrBrowseDAO implements BrowseDAO
|
|||||||
}
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
sResponse = searcher.search(context, query, itemsWithdrawn);
|
sResponse = searcher.search(context, query, itemsWithdrawn
|
||||||
|
|| !itemsDiscoverable);
|
||||||
}
|
}
|
||||||
catch (SearchServiceException e)
|
catch (SearchServiceException e)
|
||||||
{
|
{
|
||||||
@@ -201,18 +202,10 @@ public class SolrBrowseDAO implements BrowseDAO
|
|||||||
if (itemsWithdrawn)
|
if (itemsWithdrawn)
|
||||||
{
|
{
|
||||||
query.addFilterQueries("withdrawn:true");
|
query.addFilterQueries("withdrawn:true");
|
||||||
if (itemsPrivate)
|
|
||||||
{
|
|
||||||
query.addFilterQueries("discoverable:false");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
query.addFilterQueries("NOT(discoverable:false)");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else if (!itemsDiscoverable)
|
||||||
{
|
{
|
||||||
query.addFilterQueries("NOT(withdrawn:true)");
|
query.addFilterQueries("discoverable:false");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -301,7 +294,7 @@ public class SolrBrowseDAO implements BrowseDAO
|
|||||||
// processing the query...
|
// processing the query...
|
||||||
Item item = (Item) solrDoc;
|
Item item = (Item) solrDoc;
|
||||||
BrowseItem bitem = new BrowseItem(context, item.getID(),
|
BrowseItem bitem = new BrowseItem(context, item.getID(),
|
||||||
item.isArchived(), item.isWithdrawn());
|
item.isArchived(), item.isWithdrawn(), item.isDiscoverable());
|
||||||
bitems.add(bitem);
|
bitems.add(bitem);
|
||||||
}
|
}
|
||||||
return bitems;
|
return bitems;
|
||||||
@@ -681,13 +674,10 @@ public class SolrBrowseDAO implements BrowseDAO
|
|||||||
if (table.equals(BrowseIndex.getWithdrawnBrowseIndex().getTableName()))
|
if (table.equals(BrowseIndex.getWithdrawnBrowseIndex().getTableName()))
|
||||||
{
|
{
|
||||||
itemsWithdrawn = true;
|
itemsWithdrawn = true;
|
||||||
itemsPrivate = false;
|
|
||||||
}
|
}
|
||||||
else if (table.equals(BrowseIndex.getPrivateBrowseIndex().getTableName()))
|
else if (table.equals(BrowseIndex.getPrivateBrowseIndex().getTableName()))
|
||||||
{
|
{
|
||||||
itemsPrivate = true;
|
itemsDiscoverable = false;
|
||||||
// items private are also withdrawn
|
|
||||||
itemsWithdrawn = true;
|
|
||||||
}
|
}
|
||||||
facetField = table;
|
facetField = table;
|
||||||
}
|
}
|
||||||
|
@@ -190,14 +190,9 @@ public class InstallItem
|
|||||||
// set owning collection
|
// set owning collection
|
||||||
item.setOwningCollection(is.getCollection());
|
item.setOwningCollection(is.getCollection());
|
||||||
|
|
||||||
// set in_archive=true only if the user didn't specify that it is a private item
|
// set in_archive=true
|
||||||
if(item.isDiscoverable()){
|
item.setArchived(true);
|
||||||
item.setArchived(true);
|
|
||||||
}
|
|
||||||
else{ // private item is withdrawn as well
|
|
||||||
item.withdraw();
|
|
||||||
}
|
|
||||||
|
|
||||||
// save changes ;-)
|
// save changes ;-)
|
||||||
item.update();
|
item.update();
|
||||||
|
|
||||||
|
@@ -1526,7 +1526,7 @@ public class SolrServiceImpl implements SearchService, IndexingService {
|
|||||||
return search(context, dso, query, false);
|
return search(context, dso, query, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DiscoverResult search(Context context, DSpaceObject dso, DiscoverQuery discoveryQuery, boolean includeWithdrawn) throws SearchServiceException {
|
public DiscoverResult search(Context context, DSpaceObject dso, DiscoverQuery discoveryQuery, boolean includeUnDiscoverable) throws SearchServiceException {
|
||||||
if(dso != null)
|
if(dso != null)
|
||||||
{
|
{
|
||||||
if (dso instanceof Community)
|
if (dso instanceof Community)
|
||||||
@@ -1540,17 +1540,17 @@ public class SolrServiceImpl implements SearchService, IndexingService {
|
|||||||
discoveryQuery.addFilterQueries("handle:" + dso.getHandle());
|
discoveryQuery.addFilterQueries("handle:" + dso.getHandle());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return search(context, discoveryQuery, includeWithdrawn);
|
return search(context, discoveryQuery, includeUnDiscoverable);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public DiscoverResult search(Context context, DiscoverQuery discoveryQuery, boolean includeWithdrawn) throws SearchServiceException {
|
public DiscoverResult search(Context context, DiscoverQuery discoveryQuery, boolean includeUnDiscoverable) throws SearchServiceException {
|
||||||
try {
|
try {
|
||||||
if(getSolr() == null){
|
if(getSolr() == null){
|
||||||
return new DiscoverResult();
|
return new DiscoverResult();
|
||||||
}
|
}
|
||||||
SolrQuery solrQuery = resolveToSolrQuery(context, discoveryQuery, includeWithdrawn);
|
SolrQuery solrQuery = resolveToSolrQuery(context, discoveryQuery, includeUnDiscoverable);
|
||||||
|
|
||||||
|
|
||||||
QueryResponse queryResponse = getSolr().query(solrQuery);
|
QueryResponse queryResponse = getSolr().query(solrQuery);
|
||||||
@@ -1562,7 +1562,7 @@ public class SolrServiceImpl implements SearchService, IndexingService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected SolrQuery resolveToSolrQuery(Context context, DiscoverQuery discoveryQuery, boolean includeWithdrawn)
|
protected SolrQuery resolveToSolrQuery(Context context, DiscoverQuery discoveryQuery, boolean includeUnDiscoverable)
|
||||||
{
|
{
|
||||||
SolrQuery solrQuery = new SolrQuery();
|
SolrQuery solrQuery = new SolrQuery();
|
||||||
|
|
||||||
@@ -1580,9 +1580,10 @@ public class SolrServiceImpl implements SearchService, IndexingService {
|
|||||||
solrQuery.setParam("spellcheck", Boolean.TRUE);
|
solrQuery.setParam("spellcheck", Boolean.TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!includeWithdrawn)
|
if (!includeUnDiscoverable)
|
||||||
{
|
{
|
||||||
solrQuery.addFilterQuery("NOT(withdrawn:true)");
|
solrQuery.addFilterQuery("NOT(withdrawn:true)");
|
||||||
|
solrQuery.addFilterQuery("NOT(discoverable:false)");
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < discoveryQuery.getFilterQueries().size(); i++)
|
for (int i = 0; i < discoveryQuery.getFilterQueries().size(); i++)
|
||||||
|
@@ -59,32 +59,26 @@ public class SolrServiceResourceRestrictionPlugin implements SolrServiceIndexPlu
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void additionalSearchParameters(Context context, DiscoverQuery discoveryQuery, SolrQuery solrQuery) {
|
public void additionalSearchParameters(Context context, DiscoverQuery discoveryQuery, SolrQuery solrQuery) {
|
||||||
StringBuilder resourceQuery = new StringBuilder();
|
try {
|
||||||
//Always add the anonymous group id to the query
|
if(!AuthorizeManager.isAdmin(context)){
|
||||||
resourceQuery.append("read:(g0");
|
StringBuilder resourceQuery = new StringBuilder();
|
||||||
EPerson currentUser = context.getCurrentUser();
|
//Always add the anonymous group id to the query
|
||||||
if(currentUser != null){
|
resourceQuery.append("read:(g0");
|
||||||
try {
|
EPerson currentUser = context.getCurrentUser();
|
||||||
resourceQuery.append(" OR e").append(currentUser.getID());
|
if(currentUser != null){
|
||||||
//Retrieve all the groups the current user is a member of !
|
resourceQuery.append(" OR e").append(currentUser.getID());
|
||||||
Set<Integer> groupIds = Group.allMemberGroupIDs(context, currentUser);
|
//Retrieve all the groups the current user is a member of !
|
||||||
for (Integer groupId : groupIds) {
|
Set<Integer> groupIds = Group.allMemberGroupIDs(context, currentUser);
|
||||||
resourceQuery.append(" OR g").append(groupId);
|
for (Integer groupId : groupIds) {
|
||||||
|
resourceQuery.append(" OR g").append(groupId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
resourceQuery.append(")");
|
||||||
log.error(LogManager.getHeader(context, "Error while adding resource policy information to query", "") ,e);
|
|
||||||
}
|
solrQuery.addFilterQuery(resourceQuery.toString());
|
||||||
}
|
|
||||||
resourceQuery.append(")");
|
|
||||||
try {
|
|
||||||
if(AuthorizeManager.isAdmin(context)){
|
|
||||||
//Admins always have read access even if no policies are present !
|
|
||||||
resourceQuery.append(" OR (!read:[* TO *])");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
log.error(LogManager.getHeader(context, "Error while verifying if current user is admin !", ""), e);
|
log.error(LogManager.getHeader(context, "Error while adding resource policy information to query", ""), e);
|
||||||
}
|
}
|
||||||
solrQuery.addFilterQuery(resourceQuery.toString());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -100,7 +100,8 @@ public class CCLicenseStep extends AbstractProcessingStep
|
|||||||
session.setAttribute("inProgress", "TRUE");
|
session.setAttribute("inProgress", "TRUE");
|
||||||
// check what submit button was pressed in User Interface
|
// check what submit button was pressed in User Interface
|
||||||
String buttonPressed = Util.getSubmitButton(request, NEXT_BUTTON);
|
String buttonPressed = Util.getSubmitButton(request, NEXT_BUTTON);
|
||||||
if (buttonPressed.equals("submit_grant"))
|
if ("submit_grant".equalsIgnoreCase(buttonPressed)
|
||||||
|
|| "submit_no_cc".equalsIgnoreCase(buttonPressed))
|
||||||
{
|
{
|
||||||
return processCC(context, request, response, subInfo);
|
return processCC(context, request, response, subInfo);
|
||||||
}
|
}
|
||||||
|
@@ -118,7 +118,7 @@ public class LayoutTag extends BodyTagSupport
|
|||||||
public LayoutTag()
|
public LayoutTag()
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
String template = ConfigurationManager.getProperty("jspui", "template.name");
|
String template = ConfigurationManager.getProperty("jspui.template.name");
|
||||||
if (StringUtils.isNotBlank(template)
|
if (StringUtils.isNotBlank(template)
|
||||||
&& !"default".equalsIgnoreCase(template))
|
&& !"default".equalsIgnoreCase(template))
|
||||||
{
|
{
|
||||||
|
@@ -339,7 +339,7 @@ public class EditItemServlet extends DSpaceServlet
|
|||||||
|
|
||||||
// Withdraw the item
|
// Withdraw the item
|
||||||
item.setDiscoverable(false);
|
item.setDiscoverable(false);
|
||||||
item.withdraw();
|
item.update();
|
||||||
JSPManager.showJSP(request, response, "/tools/get-item-id.jsp");
|
JSPManager.showJSP(request, response, "/tools/get-item-id.jsp");
|
||||||
context.complete();
|
context.complete();
|
||||||
|
|
||||||
@@ -347,7 +347,7 @@ public class EditItemServlet extends DSpaceServlet
|
|||||||
|
|
||||||
case PUBLICIZE:
|
case PUBLICIZE:
|
||||||
item.setDiscoverable(true);
|
item.setDiscoverable(true);
|
||||||
item.reinstate();
|
item.update();
|
||||||
JSPManager.showJSP(request, response, "/tools/get-item-id.jsp");
|
JSPManager.showJSP(request, response, "/tools/get-item-id.jsp");
|
||||||
context.complete();
|
context.complete();
|
||||||
|
|
||||||
@@ -534,33 +534,16 @@ public class EditItemServlet extends DSpaceServlet
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item.isDiscoverable())
|
if (item.isDiscoverable())
|
||||||
{
|
{
|
||||||
try
|
request.setAttribute("privating_button", AuthorizeManager
|
||||||
{
|
.authorizeActionBoolean(context, item, Constants.WRITE));
|
||||||
// who can Withdraw can also Make It Private
|
}
|
||||||
AuthorizeUtil.authorizeWithdrawItem(context, item);
|
else
|
||||||
request.setAttribute("privating_button", Boolean.TRUE);
|
{
|
||||||
}
|
request.setAttribute("publicize_button", AuthorizeManager
|
||||||
catch (AuthorizeException authex)
|
.authorizeActionBoolean(context, item, Constants.WRITE));
|
||||||
{
|
}
|
||||||
request.setAttribute("privating_button", Boolean.FALSE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
// who can Reinstate can also Make It Public
|
|
||||||
AuthorizeUtil.authorizeReinstateItem(context, item);
|
|
||||||
request.setAttribute("publicize_button", Boolean.TRUE);
|
|
||||||
}
|
|
||||||
catch (AuthorizeException authex)
|
|
||||||
{
|
|
||||||
request.setAttribute("publicize_button", Boolean.FALSE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
request.setAttribute("item", item);
|
request.setAttribute("item", item);
|
||||||
request.setAttribute("handle", handle);
|
request.setAttribute("handle", handle);
|
||||||
|
@@ -84,16 +84,19 @@
|
|||||||
<dspace:popup page="<%= LocaleSupport.getLocalizedMessage(pageContext, \"help.site-admin\") + \"#itempolicies\"%>"><fmt:message key="jsp.help"/></dspace:popup>
|
<dspace:popup page="<%= LocaleSupport.getLocalizedMessage(pageContext, \"help.site-admin\") + \"#itempolicies\"%>"><fmt:message key="jsp.help"/></dspace:popup>
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<p class="alert alert-info"><fmt:message key="jsp.dspace-admin.authorize-item-edit.text1"/></p>
|
<p class="help-block"><fmt:message key="jsp.dspace-admin.authorize-item-edit.text1"/></p>
|
||||||
<p class="alert alert-info"><fmt:message key="jsp.dspace-admin.authorize-item-edit.text2"/></p>
|
<p class="help-block"><fmt:message key="jsp.dspace-admin.authorize-item-edit.text2"/></p>
|
||||||
|
|
||||||
<h3><fmt:message key="jsp.dspace-admin.authorize-item-edit.item"/></h3>
|
<div class="panel panel-primary">
|
||||||
|
<div class="panel-heading"><fmt:message key="jsp.dspace-admin.authorize-item-edit.item"/></div>
|
||||||
|
<div class="panel-body">
|
||||||
<form method="post" action="">
|
<form method="post" action="">
|
||||||
<div class="row col-md-offset-5">
|
<div class="row col-md-offset-4">
|
||||||
<input type="hidden" name="item_id" value="<%=item.getID()%>" />
|
<input type="hidden" name="item_id" value="<%=item.getID()%>" />
|
||||||
<input class="btn btn-success" type="submit" name="submit_item_add_policy" value="<fmt:message key="jsp.dspace-admin.general.addpolicy"/>" />
|
<input class="btn btn-success col-md-4" type="submit" name="submit_item_add_policy" value="<fmt:message key="jsp.dspace-admin.general.addpolicy"/>" />
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
<br/>
|
||||||
|
|
||||||
<table class="table" summary="Item Policy Edit Form">
|
<table class="table" summary="Item Policy Edit Form">
|
||||||
<tr>
|
<tr>
|
||||||
@@ -123,8 +126,8 @@
|
|||||||
<form method="post" action="">
|
<form method="post" action="">
|
||||||
<input type="hidden" name="policy_id" value="<%= rp.getID() %>" />
|
<input type="hidden" name="policy_id" value="<%= rp.getID() %>" />
|
||||||
<input type="hidden" name="item_id" value="<%= item.getID() %>" />
|
<input type="hidden" name="item_id" value="<%= item.getID() %>" />
|
||||||
<input class="btn btn-primary" type="submit" name="submit_item_edit_policy" value="<fmt:message key="jsp.dspace-admin.general.edit"/>" />
|
<input class="btn btn-primary col-md-4" type="submit" name="submit_item_edit_policy" value="<fmt:message key="jsp.dspace-admin.general.edit"/>" />
|
||||||
<input class="btn btn-danger" type="submit" name="submit_item_delete_policy" value="<fmt:message key="jsp.dspace-admin.general.delete"/>" />
|
<input class="btn btn-danger col-md-4 col-md-offset-1" type="submit" name="submit_item_delete_policy" value="<fmt:message key="jsp.dspace-admin.general.delete"/>" />
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -133,6 +136,8 @@
|
|||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<%
|
<%
|
||||||
for( int b = 0; b < bundles.length; b++ )
|
for( int b = 0; b < bundles.length; b++ )
|
||||||
{
|
{
|
||||||
@@ -142,20 +147,22 @@
|
|||||||
// display add policy
|
// display add policy
|
||||||
// display bundle header w/ID
|
// display bundle header w/ID
|
||||||
|
|
||||||
%>
|
%>
|
||||||
<h3><fmt:message key="jsp.dspace-admin.authorize-item-edit.bundle">
|
<div class="panel panel-info">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<fmt:message key="jsp.dspace-admin.authorize-item-edit.bundle">
|
||||||
<fmt:param><%=myBun.getName()%></fmt:param>
|
<fmt:param><%=myBun.getName()%></fmt:param>
|
||||||
<fmt:param><%=myBun.getID()%></fmt:param>
|
<fmt:param><%=myBun.getID()%></fmt:param>
|
||||||
</fmt:message></h3>
|
</fmt:message></div>
|
||||||
|
<div class="panel-body">
|
||||||
<form method="post" action="">
|
<form method="post" action="">
|
||||||
<div class="row col-md-offset-5">
|
<div class="row col-md-offset-4">
|
||||||
<input type="hidden" name="item_id" value="<%=item.getID()%>" />
|
<input type="hidden" name="item_id" value="<%=item.getID()%>" />
|
||||||
<input type="hidden" name="bundle_id" value="<%=myBun.getID()%>" />
|
<input type="hidden" name="bundle_id" value="<%=myBun.getID()%>" />
|
||||||
<input class="btn btn-success" type="submit" name="submit_bundle_add_policy" value="<fmt:message key="jsp.dspace-admin.general.addpolicy"/>" />
|
<input class="btn btn-success col-md-4" type="submit" name="submit_bundle_add_policy" value="<fmt:message key="jsp.dspace-admin.general.addpolicy"/>" />
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
<br/>
|
||||||
<table class="table" summary="Bundle Policy Edit Form">
|
<table class="table" summary="Bundle Policy Edit Form">
|
||||||
<tr>
|
<tr>
|
||||||
<th class="oddRowOddCol"><strong><fmt:message key="jsp.general.id" /></strong></th>
|
<th class="oddRowOddCol"><strong><fmt:message key="jsp.general.id" /></strong></th>
|
||||||
@@ -186,8 +193,8 @@
|
|||||||
<input type="hidden" name="policy_id" value="<%= rp.getID() %>" />
|
<input type="hidden" name="policy_id" value="<%= rp.getID() %>" />
|
||||||
<input type="hidden" name="item_id" value="<%= item.getID() %>" />
|
<input type="hidden" name="item_id" value="<%= item.getID() %>" />
|
||||||
<input type="hidden" name="bundle_id" value="<%= myBun.getID() %>" />
|
<input type="hidden" name="bundle_id" value="<%= myBun.getID() %>" />
|
||||||
<input class="btn btn-primary" type="submit" name="submit_item_edit_policy" value="<fmt:message key="jsp.dspace-admin.general.edit"/>" />
|
<input class="btn btn-primary col-md-4" type="submit" name="submit_item_edit_policy" value="<fmt:message key="jsp.dspace-admin.general.edit"/>" />
|
||||||
<input class="btn btn-danger" type="submit" name="submit_item_delete_policy" value="<fmt:message key="jsp.dspace-admin.general.delete"/>" />
|
<input class="btn btn-danger col-md-4 col-md-offset-1" type="submit" name="submit_item_delete_policy" value="<fmt:message key="jsp.dspace-admin.general.delete"/>" />
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -196,7 +203,6 @@
|
|||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
Bitstream [] bitstreams = myBun.getBitstreams();
|
Bitstream [] bitstreams = myBun.getBitstreams();
|
||||||
|
|
||||||
@@ -209,17 +215,22 @@
|
|||||||
// 'add policy'
|
// 'add policy'
|
||||||
// display bitstream's policies
|
// display bitstream's policies
|
||||||
%>
|
%>
|
||||||
<p><fmt:message key="jsp.dspace-admin.authorize-item-edit.bitstream">
|
<div class="panel panel-success">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<fmt:message key="jsp.dspace-admin.authorize-item-edit.bitstream">
|
||||||
<fmt:param><%=myBits.getID()%></fmt:param>
|
<fmt:param><%=myBits.getID()%></fmt:param>
|
||||||
<fmt:param><%=myBits.getName()%></fmt:param>
|
<fmt:param><%=myBits.getName()%></fmt:param>
|
||||||
</fmt:message></p>
|
</fmt:message></div>
|
||||||
|
|
||||||
|
<div class="panel-body">
|
||||||
<form method="post" action="">
|
<form method="post" action="">
|
||||||
<div class="row col-md-offset-5">
|
<div class="row col-md-offset-4">
|
||||||
<input type="hidden" name="item_id"value="<%=item.getID()%>" />
|
<input type="hidden" name="item_id"value="<%=item.getID()%>" />
|
||||||
<input type="hidden" name="bitstream_id" value="<%=myBits.getID()%>" />
|
<input type="hidden" name="bitstream_id" value="<%=myBits.getID()%>" />
|
||||||
<input class="btn btn-success" type="submit" name="submit_bitstream_add_policy" value="<fmt:message key="jsp.dspace-admin.general.addpolicy"/>" />
|
<input class="btn btn-success col-md-4" type="submit" name="submit_bitstream_add_policy" value="<fmt:message key="jsp.dspace-admin.general.addpolicy"/>" />
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
<br/>
|
||||||
<table class="table" summary="This table displays the bitstream data">
|
<table class="table" summary="This table displays the bitstream data">
|
||||||
<tr>
|
<tr>
|
||||||
<th class="oddRowOddCol"><strong><fmt:message key="jsp.general.id" /></strong></th>
|
<th class="oddRowOddCol"><strong><fmt:message key="jsp.general.id" /></strong></th>
|
||||||
@@ -250,8 +261,8 @@
|
|||||||
<input type="hidden" name="policy_id" value="<%= rp.getID() %>" />
|
<input type="hidden" name="policy_id" value="<%= rp.getID() %>" />
|
||||||
<input type="hidden" name="item_id" value="<%= item.getID() %>" />
|
<input type="hidden" name="item_id" value="<%= item.getID() %>" />
|
||||||
<input type="hidden" name="bitstream_id" value="<%= myBits.getID() %>" />
|
<input type="hidden" name="bitstream_id" value="<%= myBits.getID() %>" />
|
||||||
<input class="btn btn-primary" type="submit" name="submit_item_edit_policy" value="<fmt:message key="jsp.dspace-admin.general.edit"/>" />
|
<input class="btn btn-primary col-md-4" type="submit" name="submit_item_edit_policy" value="<fmt:message key="jsp.dspace-admin.general.edit"/>" />
|
||||||
<input class="btn btn-danger" type="submit" name="submit_item_delete_policy" value="<fmt:message key="jsp.dspace-admin.general.delete"/>" />
|
<input class="btn btn-danger col-md-4 col-md-offset-1" type="submit" name="submit_item_delete_policy" value="<fmt:message key="jsp.dspace-admin.general.delete"/>" />
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -260,9 +271,15 @@
|
|||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<%
|
<%
|
||||||
|
|
||||||
}
|
}
|
||||||
|
%>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
</dspace:layout>
|
</dspace:layout>
|
||||||
|
@@ -135,12 +135,19 @@ if (submissions != null && submissions.count() > 0)
|
|||||||
{
|
{
|
||||||
displayTitle = dcv[0].value;
|
displayTitle = dcv[0].value;
|
||||||
}
|
}
|
||||||
|
dcv = item.getMetadata("dc", "description", "abstract", Item.ANY);
|
||||||
|
String displayAbstract = "";
|
||||||
|
if (dcv != null & dcv.length > 0)
|
||||||
|
{
|
||||||
|
displayAbstract = dcv[0].value;
|
||||||
|
}
|
||||||
%>
|
%>
|
||||||
<div style="padding-bottom: 50px; min-height: 200px;" class="item <%= first?"active":""%>">
|
<div style="padding-bottom: 50px; min-height: 200px;" class="item <%= first?"active":""%>">
|
||||||
<div style="padding-left: 80px; padding-right: 80px; display: inline-block;"><%= StringUtils.abbreviate(displayTitle, 400) %>
|
<div style="padding-left: 80px; padding-right: 80px; display: inline-block;"><%= StringUtils.abbreviate(displayTitle, 400) %>
|
||||||
<a href="<%= request.getContextPath() %>/handle/<%=item.getHandle() %>">
|
<a href="<%= request.getContextPath() %>/handle/<%=item.getHandle() %>">
|
||||||
<button class="btn btn-success" type="button">See</button>
|
<button class="btn btn-success" type="button">See</button>
|
||||||
</a>
|
</a>
|
||||||
|
<p><%= StringUtils.abbreviate(displayAbstract, 500) %></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<%
|
<%
|
||||||
@@ -195,19 +202,20 @@ if (communities != null && communities.length != 0)
|
|||||||
<% } else { %>
|
<% } else { %>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<% } %>
|
<% } %>
|
||||||
<h4 class="list-group-item-heading"><a href="<%= request.getContextPath() %>/handle/<%= communities[i].getHandle() %>"><%= communities[i].getMetadata("name") %></a></h4>
|
<h4 class="list-group-item-heading"><a href="<%= request.getContextPath() %>/handle/<%= communities[i].getHandle() %>"><%= communities[i].getMetadata("name") %></a>
|
||||||
<p><%= communities[i].getMetadata("short_description") %></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<%
|
<%
|
||||||
if (ConfigurationManager.getBooleanProperty("webui.strengths.show"))
|
if (ConfigurationManager.getBooleanProperty("webui.strengths.show"))
|
||||||
{
|
{
|
||||||
%>
|
%>
|
||||||
[<%= ic.getCount(communities[i]) %>]
|
<span class="badge pull-right"><%= ic.getCount(communities[i]) %></span>
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
|
|
||||||
%>
|
%>
|
||||||
|
</h4>
|
||||||
|
<p><%= communities[i].getMetadata("short_description") %></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.7 KiB |
@@ -39,11 +39,11 @@
|
|||||||
</main>
|
</main>
|
||||||
<%-- Page footer --%>
|
<%-- Page footer --%>
|
||||||
<footer class="navbar navbar-inverse navbar-bottom">
|
<footer class="navbar navbar-inverse navbar-bottom">
|
||||||
<div class="container text-muted" style="padding:5px;">
|
<div id="designedby" class="container text-muted">
|
||||||
<fmt:message key="jsp.layout.footer-default.theme-by"/> <a href="http://www.cineca.it"><img
|
<fmt:message key="jsp.layout.footer-default.theme-by"/> <a href="http://www.cineca.it"><img
|
||||||
src="<%= request.getContextPath() %>/image/logo-cineca-small.png"
|
src="<%= request.getContextPath() %>/image/logo-cineca-small.png"
|
||||||
alt="Logo CINECA" height="45" width="42" style="border:5px solid white;"/></a>
|
alt="Logo CINECA" /></a>
|
||||||
<div class="pull-right" style="padding-top:10px;">
|
<div id="footer_feedback" class="pull-right">
|
||||||
<p class="text-muted"><fmt:message key="jsp.layout.footer-default.text"/> -
|
<p class="text-muted"><fmt:message key="jsp.layout.footer-default.text"/> -
|
||||||
<a target="_blank" href="<%= request.getContextPath() %>/feedback"><fmt:message key="jsp.layout.footer-default.feedback"/></a>
|
<a target="_blank" href="<%= request.getContextPath() %>/feedback"><fmt:message key="jsp.layout.footer-default.feedback"/></a>
|
||||||
<a href="<%= request.getContextPath() %>/htmlmap"></a></p>
|
<a href="<%= request.getContextPath() %>/htmlmap"></a></p>
|
||||||
|
@@ -121,7 +121,7 @@
|
|||||||
|
|
||||||
<%-- HACK: leftmargin, topmargin: for non-CSS compliant Microsoft IE browser --%>
|
<%-- HACK: leftmargin, topmargin: for non-CSS compliant Microsoft IE browser --%>
|
||||||
<%-- HACK: marginwidth, marginheight: for non-CSS compliant Netscape browser --%>
|
<%-- HACK: marginwidth, marginheight: for non-CSS compliant Netscape browser --%>
|
||||||
<body style="padding-top: 55px;">
|
<body class="undernavigation">
|
||||||
<a class="sr-only" href="#content">Skip navigation</a>
|
<a class="sr-only" href="#content">Skip navigation</a>
|
||||||
<header class="navbar navbar-inverse navbar-fixed-top">
|
<header class="navbar navbar-inverse navbar-fixed-top">
|
||||||
<%
|
<%
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
%>
|
%>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<main id="content" role="main" style="padding-bottom:60px;">
|
<main id="content" role="main">
|
||||||
<div class="container banner">
|
<div class="container banner">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-9 brand">
|
<div class="col-md-9 brand">
|
||||||
|
@@ -121,7 +121,7 @@
|
|||||||
|
|
||||||
<%-- HACK: leftmargin, topmargin: for non-CSS compliant Microsoft IE browser --%>
|
<%-- HACK: leftmargin, topmargin: for non-CSS compliant Microsoft IE browser --%>
|
||||||
<%-- HACK: marginwidth, marginheight: for non-CSS compliant Netscape browser --%>
|
<%-- HACK: marginwidth, marginheight: for non-CSS compliant Netscape browser --%>
|
||||||
<body style="padding-top: 65px;">
|
<body class="undernavigation">
|
||||||
<a class="sr-only" href="#content">Skip navigation</a>
|
<a class="sr-only" href="#content">Skip navigation</a>
|
||||||
<header class="navbar navbar-inverse navbar-fixed-top">
|
<header class="navbar navbar-inverse navbar-fixed-top">
|
||||||
<%
|
<%
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
%>
|
%>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<main id="content" role="main" style="padding-bottom:60px;">
|
<main id="content" role="main">
|
||||||
<%-- Location bar --%>
|
<%-- Location bar --%>
|
||||||
<%
|
<%
|
||||||
if (locbar)
|
if (locbar)
|
||||||
|
@@ -68,6 +68,7 @@
|
|||||||
<li><a href="<%= request.getContextPath() %>/dspace-admin/supervise"><fmt:message key="jsp.layout.navbar-admin.supervisors"/></a></li>
|
<li><a href="<%= request.getContextPath() %>/dspace-admin/supervise"><fmt:message key="jsp.layout.navbar-admin.supervisors"/></a></li>
|
||||||
<li><a href="<%= request.getContextPath() %>/dspace-admin/curate"><fmt:message key="jsp.layout.navbar-admin.curate"/></a></li>
|
<li><a href="<%= request.getContextPath() %>/dspace-admin/curate"><fmt:message key="jsp.layout.navbar-admin.curate"/></a></li>
|
||||||
<li><a href="<%= request.getContextPath() %>/dspace-admin/withdrawn"><fmt:message key="jsp.layout.navbar-admin.withdrawn"/></a></li>
|
<li><a href="<%= request.getContextPath() %>/dspace-admin/withdrawn"><fmt:message key="jsp.layout.navbar-admin.withdrawn"/></a></li>
|
||||||
|
<li><a href="<%= request.getContextPath() %>/dspace-admin/privateitems"><fmt:message key="jsp.layout.navbar-admin.privateitems"/></a></li>
|
||||||
<li><a href="<%= request.getContextPath() %>/dspace-admin/metadataimport"><fmt:message key="jsp.layout.navbar-admin.metadataimport"/></a></li>
|
<li><a href="<%= request.getContextPath() %>/dspace-admin/metadataimport"><fmt:message key="jsp.layout.navbar-admin.metadataimport"/></a></li>
|
||||||
<li><a href="<%= request.getContextPath() %>/dspace-admin/batchmetadataimport"><fmt:message key="jsp.layout.navbar-admin.batchmetadataimport"/></a></li>
|
<li><a href="<%= request.getContextPath() %>/dspace-admin/batchmetadataimport"><fmt:message key="jsp.layout.navbar-admin.batchmetadataimport"/></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@@ -399,4 +399,6 @@
|
|||||||
<% } %>
|
<% } %>
|
||||||
</ol>
|
</ol>
|
||||||
<%} %>
|
<%} %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</dspace:layout>
|
</dspace:layout>
|
||||||
|
@@ -85,11 +85,11 @@
|
|||||||
<label for="allfiles" class="control-label col-md-2"><fmt:message key="jsp.request.item.request-form.allfiles"/></label>
|
<label for="allfiles" class="control-label col-md-2"><fmt:message key="jsp.request.item.request-form.allfiles"/></label>
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-addon"><input type="radio" class="form-control" name="allfiles" value="true" <%=allfiles?"checked":""%> /></span>
|
<span class="input-group-addon"><input type="radio" name="allfiles" value="true" <%=allfiles?"checked":""%> /></span>
|
||||||
<span class="form-control"><fmt:message key="jsp.request.item.request-form.yes"/></span>
|
<span class="form-control"><fmt:message key="jsp.request.item.request-form.yes"/></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-addon"><input type="radio" class="form-control" name="allfiles" value="false" <%=allfiles?"":"checked"%> /></span>
|
<span class="input-group-addon"><input type="radio" name="allfiles" value="false" <%=allfiles?"":"checked"%> /></span>
|
||||||
<span class="form-control"><fmt:message key="jsp.request.item.request-form.no"/></span>
|
<span class="form-control"><fmt:message key="jsp.request.item.request-form.no"/></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -10,7 +10,10 @@
|
|||||||
.brand h4 {color: #999999}
|
.brand h4 {color: #999999}
|
||||||
ol.breadcrumb li {color: white; font-style: italic;}
|
ol.breadcrumb li {color: white; font-style: italic;}
|
||||||
ol.breadcrumb li a {color: white; font-weight: bold; font-style: normal;}
|
ol.breadcrumb li a {color: white; font-weight: bold; font-style: normal;}
|
||||||
body {overflow-x: hidden;}
|
body.undernavigation {overflow-x: hidden; padding-top: 65px;}
|
||||||
|
#content {padding-bottom:60px;}
|
||||||
|
#designedby {padding: 5px;}
|
||||||
|
#footer_feedback {padding-top: 12px;}
|
||||||
input[type="file"] {display: block;height: auto;}
|
input[type="file"] {display: block;height: auto;}
|
||||||
div.panel-primary div.panel-heading a {color: white;}
|
div.panel-primary div.panel-heading a {color: white;}
|
||||||
/* This magic gets the 16x16 icon to show up.. setting height/width didn't
|
/* This magic gets the 16x16 icon to show up.. setting height/width didn't
|
||||||
|
@@ -25,5 +25,5 @@
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
the_form = parent.document.getElementById("license_form");
|
the_form = parent.document.getElementById("license_form");
|
||||||
the_form.cc_license_url.value = "<%= cc_license_url %>";
|
the_form.cc_license_url.value = "<%= cc_license_url %>";
|
||||||
the_form.submit();
|
parent.document.getElementById("submit_grant").click();
|
||||||
</script>
|
</script>
|
||||||
|
@@ -62,7 +62,8 @@
|
|||||||
licenseURL = CreativeCommons.getLicenseURL(subInfo.getSubmissionItem().getItem());
|
licenseURL = CreativeCommons.getLicenseURL(subInfo.getSubmissionItem().getItem());
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<dspace:layout locbar="off"
|
<dspace:layout style="submission"
|
||||||
|
locbar="off"
|
||||||
navbar="off"
|
navbar="off"
|
||||||
titlekey="jsp.submit.creative-commons.title"
|
titlekey="jsp.submit.creative-commons.title"
|
||||||
nocache="true">
|
nocache="true">
|
||||||
@@ -73,7 +74,6 @@
|
|||||||
|
|
||||||
<%-- <h1>Submit: Use a Creative Commons License</h1> --%>
|
<%-- <h1>Submit: Use a Creative Commons License</h1> --%>
|
||||||
<h1><fmt:message key="jsp.submit.creative-commons.heading"/></h1>
|
<h1><fmt:message key="jsp.submit.creative-commons.heading"/></h1>
|
||||||
<br />
|
|
||||||
|
|
||||||
<%
|
<%
|
||||||
if (licenseExists)
|
if (licenseExists)
|
||||||
@@ -81,13 +81,13 @@
|
|||||||
%>
|
%>
|
||||||
<%-- <p>You have already chosen a Creative Commons license and added it to this item.
|
<%-- <p>You have already chosen a Creative Commons license and added it to this item.
|
||||||
You may:</p> --%>
|
You may:</p> --%>
|
||||||
<p><fmt:message key="jsp.submit.creative-commons.info1"/></p>
|
<p class="help-block"><fmt:message key="jsp.submit.creative-commons.info1"/></p>
|
||||||
<%-- <ul>
|
<%-- <ul>
|
||||||
<li>Press the 'Next' button below to <em>keep</em> the license previously chosen.</li>
|
<li>Press the 'Next' button below to <em>keep</em> the license previously chosen.</li>
|
||||||
<li>Press the 'Skip Creative Commons' button below to <em>remove</em> the current choice, and forego a Creative Commons license.</li>
|
<li>Press the 'Skip Creative Commons' button below to <em>remove</em> the current choice, and forego a Creative Commons license.</li>
|
||||||
<li>Complete the selection process below to <em>replace</em> the current choice.</li>
|
<li>Complete the selection process below to <em>replace</em> the current choice.</li>
|
||||||
</ul> --%>
|
</ul> --%>
|
||||||
<ul>
|
<ul class="alert alert-info">
|
||||||
<li><fmt:message key="jsp.submit.creative-commons.choice1"/></li>
|
<li><fmt:message key="jsp.submit.creative-commons.choice1"/></li>
|
||||||
<li><fmt:message key="jsp.submit.creative-commons.choice2"/></li>
|
<li><fmt:message key="jsp.submit.creative-commons.choice2"/></li>
|
||||||
<li><fmt:message key="jsp.submit.creative-commons.choice3"/></li>
|
<li><fmt:message key="jsp.submit.creative-commons.choice3"/></li>
|
||||||
@@ -113,37 +113,28 @@
|
|||||||
<%= SubmissionController.getSubmissionParameters(context, request) %>
|
<%= SubmissionController.getSubmissionParameters(context, request) %>
|
||||||
|
|
||||||
<input type="hidden" name="cc_license_url" value="<%=licenseURL %>" />
|
<input type="hidden" name="cc_license_url" value="<%=licenseURL %>" />
|
||||||
<input type="hidden" name="submit_grant" value="I Grant the License" />
|
<input type="submit" id="submit_grant" name="submit_grant" value="submit_grant" style="display: none;" />
|
||||||
<center>
|
<%
|
||||||
<table border="0" width="80%">
|
int numButton = 2 + (!SubmissionController.isFirstStep(request, subInfo)?1:0) + (licenseExists?1:0);
|
||||||
<tr>
|
|
||||||
<td width="100%"> </td>
|
%>
|
||||||
|
<div class="row col-md-<%= 2*numButton %> pull-right btn-group">
|
||||||
<% //if not first step, show "Previous" button
|
<% //if not first step, show "Previous" button
|
||||||
if(!SubmissionController.isFirstStep(request, subInfo))
|
if(!SubmissionController.isFirstStep(request, subInfo))
|
||||||
{ %>
|
{ %>
|
||||||
<td>
|
<input class="btn btn-default col-md-<%= 12 / numButton %>" type="submit" name="<%=AbstractProcessingStep.PREVIOUS_BUTTON%>" value="<fmt:message key="jsp.submit.general.previous"/>" />
|
||||||
<input type="submit" name="<%=AbstractProcessingStep.PREVIOUS_BUTTON%>" value="<fmt:message key="jsp.submit.general.previous"/>" />
|
|
||||||
</td>
|
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
|
<input class="btn btn-default col-md-<%= 12 / numButton %>" type="submit" name="<%=AbstractProcessingStep.CANCEL_BUTTON%>" value="<fmt:message key="jsp.submit.general.cancel-or-save.button"/>"/>
|
||||||
|
<input class="btn btn-warning col-md-<%= 12 / numButton %>" type="submit" name="submit_no_cc" value="<fmt:message key="jsp.submit.creative-commons.skip.button"/>"/>
|
||||||
<%
|
<%
|
||||||
if (licenseExists)
|
if (licenseExists)
|
||||||
{
|
{
|
||||||
%>
|
%>
|
||||||
<td>
|
<input class="btn btn-primary col-md-<%= 12 / numButton %>" type="submit" name="<%=AbstractProcessingStep.NEXT_BUTTON%>" value="<fmt:message key="jsp.submit.general.next"/>" />
|
||||||
<input type="submit" name="<%=AbstractProcessingStep.NEXT_BUTTON%>" value="<fmt:message key="jsp.submit.general.next"/>" />
|
|
||||||
</td>
|
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
<td>
|
</div>
|
||||||
<input type="submit" name="submit_no_cc" value="<fmt:message key="jsp.submit.creative-commons.skip.button"/>"/>
|
|
||||||
</td>
|
|
||||||
<td> </td>
|
|
||||||
<td align="right">
|
|
||||||
<input type="submit" name="<%=AbstractProcessingStep.CANCEL_BUTTON%>" value="<fmt:message key="jsp.submit.general.cancel-or-save.button"/>"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</center>
|
|
||||||
</form>
|
</form>
|
||||||
</dspace:layout>
|
</dspace:layout>
|
||||||
|
@@ -477,4 +477,5 @@
|
|||||||
<input class="btn btn-warning col-md-6" type="submit" name="submit_cancel" value="<fmt:message key="jsp.tools.edit-collection.form.button.cancel"/>" />
|
<input class="btn btn-warning col-md-6" type="submit" name="submit_cancel" value="<fmt:message key="jsp.tools.edit-collection.form.button.cancel"/>" />
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
</div>
|
||||||
</dspace:layout>
|
</dspace:layout>
|
||||||
|
@@ -175,9 +175,9 @@ public class XOAI
|
|||||||
.println("Incremental import. Searching for documents modified after: "
|
.println("Incremental import. Searching for documents modified after: "
|
||||||
+ last.toString());
|
+ last.toString());
|
||||||
|
|
||||||
String sqlQuery = "SELECT item_id FROM item WHERE in_archive=TRUE AND last_modified > ?";
|
String sqlQuery = "SELECT item_id FROM item WHERE in_archive=TRUE AND discoverable=TRUE AND last_modified > ?";
|
||||||
if(DatabaseManager.isOracle()){
|
if(DatabaseManager.isOracle()){
|
||||||
sqlQuery = "SELECT item_id FROM item WHERE in_archive=1 AND last_modified > ?";
|
sqlQuery = "SELECT item_id FROM item WHERE in_archive=1 AND discoverable=1 AND last_modified > ?";
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
@@ -200,9 +200,9 @@ public class XOAI
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
String sqlQuery = "SELECT item_id FROM item WHERE in_archive=TRUE";
|
String sqlQuery = "SELECT item_id FROM item WHERE in_archive=TRUE AND discoverable=TRUE";
|
||||||
if(DatabaseManager.isOracle()){
|
if(DatabaseManager.isOracle()){
|
||||||
sqlQuery = "SELECT item_id FROM item WHERE in_archive=1";
|
sqlQuery = "SELECT item_id FROM item WHERE in_archive=1 AND discoverable=1";
|
||||||
}
|
}
|
||||||
|
|
||||||
TableRowIterator iterator = DatabaseManager.query(_context,
|
TableRowIterator iterator = DatabaseManager.query(_context,
|
||||||
|
@@ -333,8 +333,6 @@ public class FlowItemUtils
|
|||||||
|
|
||||||
Item item = Item.find(context, itemID);
|
Item item = Item.find(context, itemID);
|
||||||
item.setDiscoverable(false);
|
item.setDiscoverable(false);
|
||||||
// private item is withdrawn as well
|
|
||||||
item.withdraw();
|
|
||||||
item.update();
|
item.update();
|
||||||
context.commit();
|
context.commit();
|
||||||
|
|
||||||
@@ -359,8 +357,6 @@ public class FlowItemUtils
|
|||||||
|
|
||||||
Item item = Item.find(context, itemID);
|
Item item = Item.find(context, itemID);
|
||||||
item.setDiscoverable(true);
|
item.setDiscoverable(true);
|
||||||
// since private Items are withdrawn they are reinstated during "make it public" process
|
|
||||||
item.reinstate();
|
|
||||||
item.update();
|
item.update();
|
||||||
context.commit();
|
context.commit();
|
||||||
|
|
||||||
|
@@ -216,27 +216,26 @@ public class EditItemStatusForm extends AbstractDSpaceTransformer {
|
|||||||
if(item.isDiscoverable())
|
if(item.isDiscoverable())
|
||||||
{
|
{
|
||||||
itemInfo.addLabel(T_label_private);
|
itemInfo.addLabel(T_label_private);
|
||||||
try
|
if (AuthorizeManager.authorizeActionBoolean(context, item,
|
||||||
{
|
Constants.WRITE))
|
||||||
// who can Withdraw can also Make It Private
|
{
|
||||||
AuthorizeUtil.authorizeWithdrawItem(context, item);
|
itemInfo.addItem().addButton("submit_private")
|
||||||
itemInfo.addItem().addButton("submit_private").setValue(T_submit_private);
|
.setValue(T_submit_private);
|
||||||
}
|
}
|
||||||
catch (AuthorizeException authex)
|
else
|
||||||
{
|
{
|
||||||
addNotAllowedButton(itemInfo.addItem(), "submit_private", T_submit_private);
|
addNotAllowedButton(itemInfo.addItem(), "submit_private",
|
||||||
}
|
T_submit_private);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
itemInfo.addLabel(T_label_public);
|
itemInfo.addLabel(T_label_public);
|
||||||
try
|
if (AuthorizeManager.authorizeActionBoolean(context, item, Constants.WRITE))
|
||||||
{
|
{
|
||||||
// who can Reinstate can also Make It Public
|
|
||||||
AuthorizeUtil.authorizeReinstateItem(context, item);
|
|
||||||
itemInfo.addItem().addButton("submit_public").setValue(T_submit_public);
|
itemInfo.addItem().addButton("submit_public").setValue(T_submit_public);
|
||||||
}
|
}
|
||||||
catch (AuthorizeException authex)
|
else
|
||||||
{
|
{
|
||||||
addNotAllowedButton(itemInfo.addItem(), "submit_public", T_submit_public);
|
addNotAllowedButton(itemInfo.addItem(), "submit_public", T_submit_public);
|
||||||
}
|
}
|
||||||
|
@@ -366,10 +366,11 @@
|
|||||||
have some sort of hard autoCommit to limit the log size.
|
have some sort of hard autoCommit to limit the log size.
|
||||||
-->
|
-->
|
||||||
<autoCommit>
|
<autoCommit>
|
||||||
<maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
|
<maxDocs>10000</maxDocs> <!--Commit every 10.000 documents-->
|
||||||
<openSearcher>false</openSearcher>
|
<maxTime>${solr.autoCommit.maxTime:10000}</maxTime> <!--Default commit every 10 seconds-->
|
||||||
|
<openSearcher>true</openSearcher>
|
||||||
</autoCommit>
|
</autoCommit>
|
||||||
|
|
||||||
<!-- softAutoCommit is like autoCommit except it causes a
|
<!-- softAutoCommit is like autoCommit except it causes a
|
||||||
'soft' commit which only ensures that changes are visible
|
'soft' commit which only ensures that changes are visible
|
||||||
but does not ensure that data is synced to disk. This is
|
but does not ensure that data is synced to disk. This is
|
||||||
|
@@ -366,8 +366,9 @@
|
|||||||
have some sort of hard autoCommit to limit the log size.
|
have some sort of hard autoCommit to limit the log size.
|
||||||
-->
|
-->
|
||||||
<autoCommit>
|
<autoCommit>
|
||||||
<maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
|
<maxDocs>10000</maxDocs> <!--Commit every 10.000 documents-->
|
||||||
<openSearcher>false</openSearcher>
|
<maxTime>${solr.autoCommit.maxTime:10000}</maxTime> <!--Default commit every 10 seconds-->
|
||||||
|
<openSearcher>true</openSearcher>
|
||||||
</autoCommit>
|
</autoCommit>
|
||||||
|
|
||||||
<!-- softAutoCommit is like autoCommit except it causes a
|
<!-- softAutoCommit is like autoCommit except it causes a
|
||||||
|
@@ -366,8 +366,9 @@
|
|||||||
have some sort of hard autoCommit to limit the log size.
|
have some sort of hard autoCommit to limit the log size.
|
||||||
-->
|
-->
|
||||||
<autoCommit>
|
<autoCommit>
|
||||||
<maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
|
<maxDocs>10000</maxDocs> <!--Commit every 10.000 documents-->
|
||||||
<openSearcher>false</openSearcher>
|
<maxTime>${solr.autoCommit.maxTime:900000}</maxTime> <!--Default commit every 15 minutes-->
|
||||||
|
<openSearcher>true</openSearcher>
|
||||||
</autoCommit>
|
</autoCommit>
|
||||||
|
|
||||||
<!-- softAutoCommit is like autoCommit except it causes a
|
<!-- softAutoCommit is like autoCommit except it causes a
|
||||||
|
Reference in New Issue
Block a user