mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-17 15:03:18 +00:00
[DS-2179] Shibboleth (and probably LDAP) logins fail after merge of Metadata For All
This commit is contained in:
@@ -1311,8 +1311,6 @@ public abstract class DSpaceObject
|
||||
return new String[]{"eperson","lastname",null};
|
||||
case "phone":
|
||||
return new String[]{"eperson","phone",null};
|
||||
case "netid":
|
||||
return new String[]{"eperson","netid",null};
|
||||
case "language":
|
||||
return new String[]{"eperson","language",null};
|
||||
default:
|
||||
|
@@ -498,8 +498,7 @@ public class EPerson extends DSpaceObject
|
||||
t = "language";
|
||||
break;
|
||||
case NETID:
|
||||
s = "m_text_value";
|
||||
t = "netid";
|
||||
s = "e.netid";
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -510,7 +509,7 @@ public class EPerson extends DSpaceObject
|
||||
// NOTE: The use of 's' in the order by clause can not cause an SQL
|
||||
// injection because the string is derived from constant values above.
|
||||
TableRowIterator rows = DatabaseManager.query(context, "SELECT * FROM eperson e ORDER BY ?",s);
|
||||
if(t!="") {
|
||||
if(!t.equals("")) {
|
||||
rows = DatabaseManager.query(context,
|
||||
"SELECT * FROM eperson e " +
|
||||
"LEFT JOIN metadatavalue m on (m.resource_id = e.eperson_id and m.resource_type_id = ? and m.metadata_field_id = ?) " +
|
||||
@@ -719,7 +718,7 @@ public class EPerson extends DSpaceObject
|
||||
*/
|
||||
public String getNetid()
|
||||
{
|
||||
return getMetadataFirstValue("eperson", "netid", null, Item.ANY);
|
||||
return myRow.getStringColumn("netid");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -729,7 +728,7 @@ public class EPerson extends DSpaceObject
|
||||
* the new netid
|
||||
*/
|
||||
public void setNetid(String s) {
|
||||
setMetadataSingleValue("eperson", "netid", null, null, s);
|
||||
myRow.setColumn("netid", s);
|
||||
modified = true;
|
||||
}
|
||||
|
||||
|
@@ -175,7 +175,8 @@ CREATE TABLE EPerson
|
||||
require_certificate BOOL,
|
||||
self_registered BOOL,
|
||||
last_active TIMESTAMP,
|
||||
sub_frequency INTEGER
|
||||
sub_frequency INTEGER,
|
||||
netid VARCHAR(64)
|
||||
);
|
||||
|
||||
-- index by email
|
||||
|
@@ -32,12 +32,6 @@
|
||||
<scope_note>Metadata field used for the phone number</scope_note>
|
||||
</dc-type>
|
||||
|
||||
<dc-type>
|
||||
<schema>eperson</schema>
|
||||
<element>netid</element>
|
||||
<scope_note>Metadata field used for the net id</scope_note>
|
||||
</dc-type>
|
||||
|
||||
<dc-type>
|
||||
<schema>eperson</schema>
|
||||
<element>language</element>
|
||||
|
@@ -134,7 +134,8 @@ CREATE TABLE EPerson
|
||||
require_certificate NUMBER(1),
|
||||
self_registered NUMBER(1),
|
||||
last_active TIMESTAMP,
|
||||
sub_frequency INTEGER
|
||||
sub_frequency INTEGER,
|
||||
netid VARCHAR2(64) UNIQUE
|
||||
);
|
||||
|
||||
-------------------------------------------------------
|
||||
|
@@ -323,18 +323,6 @@ null AS text_lang,
|
||||
FROM eperson where not phone is null;
|
||||
|
||||
|
||||
INSERT INTO metadatavalue (metadata_value_id, resource_id, resource_type_id, metadata_field_id, text_value, text_lang, place)
|
||||
SELECT
|
||||
metadatavalue_seq.nextval as metadata_value_id,
|
||||
eperson_id AS resource_id,
|
||||
7 AS resource_type_id,
|
||||
(select metadata_field_id from metadatafieldregistry where metadata_schema_id=(select metadata_schema_id from metadataschemaregistry where short_id='eperson') and element = 'netid' and qualifier is null) AS metadata_field_id,
|
||||
netid AS text_value,
|
||||
null AS text_lang,
|
||||
0 AS place
|
||||
FROM eperson where not netid is null;
|
||||
|
||||
|
||||
INSERT INTO metadatavalue (metadata_value_id, resource_id, resource_type_id, metadata_field_id, text_value, text_lang, place)
|
||||
SELECT
|
||||
metadatavalue_seq.nextval as metadata_value_id,
|
||||
@@ -347,7 +335,7 @@ null AS text_lang,
|
||||
FROM eperson where not language is null;
|
||||
|
||||
|
||||
alter table eperson drop (firstname, lastname, phone, netid, language);
|
||||
alter table eperson drop (firstname, lastname, phone, language);
|
||||
|
||||
drop view dcvalue;
|
||||
|
||||
|
@@ -171,14 +171,15 @@ CREATE TABLE EPerson
|
||||
require_certificate BOOL,
|
||||
self_registered BOOL,
|
||||
last_active TIMESTAMP,
|
||||
sub_frequency INTEGER
|
||||
sub_frequency INTEGER,
|
||||
netid VARCHAR(64)
|
||||
);
|
||||
|
||||
-- index by email
|
||||
CREATE INDEX eperson_email_idx ON EPerson(email);
|
||||
|
||||
-- index by netid
|
||||
--CREATE INDEX eperson_netid_idx ON EPerson(netid);
|
||||
CREATE INDEX eperson_netid_idx ON EPerson(netid);
|
||||
|
||||
-------------------------------------------------------
|
||||
-- EPersonGroup table
|
||||
|
@@ -288,18 +288,6 @@ null AS text_lang,
|
||||
0 AS place
|
||||
FROM eperson where not phone is null;
|
||||
|
||||
|
||||
INSERT INTO metadatavalue (resource_id, resource_type_id, metadata_field_id, text_value, text_lang, place)
|
||||
SELECT
|
||||
eperson_id AS resource_id,
|
||||
7 AS resource_type_id,
|
||||
(select metadata_field_id from metadatafieldregistry where metadata_schema_id=(select metadata_schema_id from metadataschemaregistry where short_id='eperson') and element = 'netid' and qualifier is null) AS metadata_field_id,
|
||||
netid AS text_value,
|
||||
null AS text_lang,
|
||||
0 AS place
|
||||
FROM eperson where not netid is null;
|
||||
|
||||
|
||||
INSERT INTO metadatavalue (resource_id, resource_type_id, metadata_field_id, text_value, text_lang, place)
|
||||
SELECT
|
||||
eperson_id AS resource_id,
|
||||
@@ -311,7 +299,7 @@ null AS text_lang,
|
||||
FROM eperson where not language is null;
|
||||
|
||||
|
||||
alter table eperson drop column firstname, drop column lastname, drop column phone, drop column netid, drop column language;
|
||||
alter table eperson drop column firstname, drop column lastname, drop column phone, drop column language;
|
||||
|
||||
-- ---------
|
||||
-- dcvalue view
|
||||
|
Reference in New Issue
Block a user