mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-18 07:23:08 +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};
|
return new String[]{"eperson","lastname",null};
|
||||||
case "phone":
|
case "phone":
|
||||||
return new String[]{"eperson","phone",null};
|
return new String[]{"eperson","phone",null};
|
||||||
case "netid":
|
|
||||||
return new String[]{"eperson","netid",null};
|
|
||||||
case "language":
|
case "language":
|
||||||
return new String[]{"eperson","language",null};
|
return new String[]{"eperson","language",null};
|
||||||
default:
|
default:
|
||||||
|
@@ -498,8 +498,7 @@ public class EPerson extends DSpaceObject
|
|||||||
t = "language";
|
t = "language";
|
||||||
break;
|
break;
|
||||||
case NETID:
|
case NETID:
|
||||||
s = "m_text_value";
|
s = "e.netid";
|
||||||
t = "netid";
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
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
|
// 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.
|
// injection because the string is derived from constant values above.
|
||||||
TableRowIterator rows = DatabaseManager.query(context, "SELECT * FROM eperson e ORDER BY ?",s);
|
TableRowIterator rows = DatabaseManager.query(context, "SELECT * FROM eperson e ORDER BY ?",s);
|
||||||
if(t!="") {
|
if(!t.equals("")) {
|
||||||
rows = DatabaseManager.query(context,
|
rows = DatabaseManager.query(context,
|
||||||
"SELECT * FROM eperson e " +
|
"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 = ?) " +
|
"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()
|
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
|
* the new netid
|
||||||
*/
|
*/
|
||||||
public void setNetid(String s) {
|
public void setNetid(String s) {
|
||||||
setMetadataSingleValue("eperson", "netid", null, null, s);
|
myRow.setColumn("netid", s);
|
||||||
modified = true;
|
modified = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -175,7 +175,8 @@ CREATE TABLE EPerson
|
|||||||
require_certificate BOOL,
|
require_certificate BOOL,
|
||||||
self_registered BOOL,
|
self_registered BOOL,
|
||||||
last_active TIMESTAMP,
|
last_active TIMESTAMP,
|
||||||
sub_frequency INTEGER
|
sub_frequency INTEGER,
|
||||||
|
netid VARCHAR(64)
|
||||||
);
|
);
|
||||||
|
|
||||||
-- index by email
|
-- index by email
|
||||||
|
@@ -32,12 +32,6 @@
|
|||||||
<scope_note>Metadata field used for the phone number</scope_note>
|
<scope_note>Metadata field used for the phone number</scope_note>
|
||||||
</dc-type>
|
</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>
|
<dc-type>
|
||||||
<schema>eperson</schema>
|
<schema>eperson</schema>
|
||||||
<element>language</element>
|
<element>language</element>
|
||||||
|
@@ -134,7 +134,8 @@ CREATE TABLE EPerson
|
|||||||
require_certificate NUMBER(1),
|
require_certificate NUMBER(1),
|
||||||
self_registered NUMBER(1),
|
self_registered NUMBER(1),
|
||||||
last_active TIMESTAMP,
|
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;
|
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)
|
INSERT INTO metadatavalue (metadata_value_id, resource_id, resource_type_id, metadata_field_id, text_value, text_lang, place)
|
||||||
SELECT
|
SELECT
|
||||||
metadatavalue_seq.nextval as metadata_value_id,
|
metadatavalue_seq.nextval as metadata_value_id,
|
||||||
@@ -347,7 +335,7 @@ null AS text_lang,
|
|||||||
FROM eperson where not language is null;
|
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;
|
drop view dcvalue;
|
||||||
|
|
||||||
|
@@ -171,14 +171,15 @@ CREATE TABLE EPerson
|
|||||||
require_certificate BOOL,
|
require_certificate BOOL,
|
||||||
self_registered BOOL,
|
self_registered BOOL,
|
||||||
last_active TIMESTAMP,
|
last_active TIMESTAMP,
|
||||||
sub_frequency INTEGER
|
sub_frequency INTEGER,
|
||||||
|
netid VARCHAR(64)
|
||||||
);
|
);
|
||||||
|
|
||||||
-- index by email
|
-- index by email
|
||||||
CREATE INDEX eperson_email_idx ON EPerson(email);
|
CREATE INDEX eperson_email_idx ON EPerson(email);
|
||||||
|
|
||||||
-- index by netid
|
-- index by netid
|
||||||
--CREATE INDEX eperson_netid_idx ON EPerson(netid);
|
CREATE INDEX eperson_netid_idx ON EPerson(netid);
|
||||||
|
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
-- EPersonGroup table
|
-- EPersonGroup table
|
||||||
|
@@ -288,18 +288,6 @@ null AS text_lang,
|
|||||||
0 AS place
|
0 AS place
|
||||||
FROM eperson where not phone is null;
|
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)
|
INSERT INTO metadatavalue (resource_id, resource_type_id, metadata_field_id, text_value, text_lang, place)
|
||||||
SELECT
|
SELECT
|
||||||
eperson_id AS resource_id,
|
eperson_id AS resource_id,
|
||||||
@@ -311,7 +299,7 @@ null AS text_lang,
|
|||||||
FROM eperson where not language is null;
|
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
|
-- dcvalue view
|
||||||
|
Reference in New Issue
Block a user