Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Organisation.hbm.xml
===================================================================
diff -u -r8cac732bffc10bdc8ae29629fda9008d0c1d68a0 -rd65ab06923c55ee76432bad9507f933ec442a671
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Organisation.hbm.xml (.../Organisation.hbm.xml) (revision 8cac732bffc10bdc8ae29629fda9008d0c1d68a0)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Organisation.hbm.xml (.../Organisation.hbm.xml) (revision d65ab06923c55ee76432bad9507f933ec442a671)
@@ -114,6 +114,67 @@
+
+
+
+ @hibernate.property
+ column="admin_add_new_users"
+ length="1"
+ not-null="true"
+
+
+
+
+
+ @hibernate.property
+ column="admin_browse_all_users"
+ length="1"
+ not-null="true"
+
+
+
+
+
+ @hibernate.property
+ column="admin_change_status"
+ length="1"
+ not-null="true"
+
+
+
+
+
+ @hibernate.property
+ column="admin_create_guest"
+ length="1"
+ not-null="true"
+
+
+
Index: lams_common/db/model/lams_11.clay
===================================================================
diff -u -r0ff427cbcf60a11b06f033886c617ade68044542 -rd65ab06923c55ee76432bad9507f933ec442a671
--- lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision 0ff427cbcf60a11b06f033886c617ade68044542)
+++ lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision d65ab06923c55ee76432bad9507f933ec442a671)
@@ -1013,13 +1013,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1039,19 +1052,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1531,7 +1531,7 @@
-
+
@@ -1641,6 +1641,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4111,6 +4163,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: lams_common/db/sql/create_lams_11_tables.sql
===================================================================
diff -u -r0ff427cbcf60a11b06f033886c617ade68044542 -rd65ab06923c55ee76432bad9507f933ec442a671
--- lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 0ff427cbcf60a11b06f033886c617ade68044542)
+++ lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision d65ab06923c55ee76432bad9507f933ec442a671)
@@ -222,6 +222,10 @@
, locale_language CHAR(2)
, locale_country CHAR(2)
, organisation_state_id INT(3) NOT NULL
+ , admin_add_new_users TINYINT(1) NOT NULL DEFAULT 0
+ , admin_browse_all_users TINYINT(1) NOT NULL DEFAULT 0
+ , admin_change_status TINYINT(1) NOT NULL DEFAULT 0
+ , admin_create_guest TINYINT(1) NOT NULL DEFAULT 0
, PRIMARY KEY (organisation_id)
, INDEX (organisation_type_id)
, CONSTRAINT FK_lams_organisation_1 FOREIGN KEY (organisation_type_id)
@@ -619,6 +623,7 @@
, created_date_time DATETIME NOT NULL
, next_version_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 1
, parent_nv_id BIGINT(20) UNSIGNED
+ , user_id BIGINT(20)
, PRIMARY KEY (node_id)
, INDEX (workspace_id)
, CONSTRAINT FK_lams_cr_node_1 FOREIGN KEY (workspace_id)
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java
===================================================================
diff -u -r8cac732bffc10bdc8ae29629fda9008d0c1d68a0 -rd65ab06923c55ee76432bad9507f933ec442a671
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java (.../Organisation.java) (revision 8cac732bffc10bdc8ae29629fda9008d0c1d68a0)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java (.../Organisation.java) (revision d65ab06923c55ee76432bad9507f933ec442a671)
@@ -26,6 +26,7 @@
import java.io.Serializable;
import java.util.Date;
import java.util.Set;
+
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
@@ -38,8 +39,9 @@
*/
public class Organisation implements Serializable {
-
- /** identifier field */
+ private static final long serialVersionUID = -6742443056151585129L;
+
+ /** identifier field */
private Integer organisationId;
/** nullable persistent field */
@@ -77,9 +79,24 @@
private String localeLanguage;
private String localeCountry;
+
+ /** persistent field */
+ private Boolean courseAdminCanAddNewUsers;
+
+ /** persistent field */
+ private Boolean courseAdminCanBrowseAllUsers;
+ /** persistent field */
+ private Boolean courseAdminCanChangeStatusOfCourse;
+
+ /** persistent field */
+ private Boolean courseAdminCanCreateGuestAccounts;
+
/** full constructor */
- public Organisation(String name, String description, Organisation parentOrganisation, Date createDate, Workspace workspace, OrganisationType organisationType, Set userOrganisations, Set childOrganisations, Set lessons) {
+ public Organisation(String name, String description, Organisation parentOrganisation, Date createDate, Workspace workspace,
+ OrganisationType organisationType, Set userOrganisations, Set childOrganisations, Set lessons,
+ Boolean courseAdminCanAddNewUsers, Boolean courseAdminCanBrowseAllUsers, Boolean courseAdminCanChangeStatusOfCourse,
+ Boolean courseAdminCanCreateGuestAccounts) {
this.name = name;
this.description = description;
this.parentOrganisation = parentOrganisation;
@@ -89,10 +106,19 @@
this.userOrganisations = userOrganisations;
this.childOrganisations = childOrganisations;
this.lessons = lessons;
+ this.courseAdminCanAddNewUsers = courseAdminCanAddNewUsers;
+ this.courseAdminCanBrowseAllUsers = courseAdminCanBrowseAllUsers;
+ this.courseAdminCanChangeStatusOfCourse = courseAdminCanChangeStatusOfCourse;
+ this.courseAdminCanCreateGuestAccounts = courseAdminCanCreateGuestAccounts;
}
/** default constructor */
public Organisation() {
+ this.courseAdminCanAddNewUsers = Boolean.FALSE;
+ this.courseAdminCanBrowseAllUsers = Boolean.FALSE;
+ this.courseAdminCanChangeStatusOfCourse = Boolean.FALSE;
+ this.courseAdminCanCreateGuestAccounts = Boolean.FALSE;
+
}
/** minimal constructor */
@@ -102,6 +128,12 @@
this.organisationType = organisationType;
this.userOrganisations = userOrganisations;
this.lessons = lessons;
+
+ // mandatory fields in the db
+ this.courseAdminCanAddNewUsers = Boolean.FALSE;
+ this.courseAdminCanBrowseAllUsers = Boolean.FALSE;
+ this.courseAdminCanChangeStatusOfCourse = Boolean.FALSE;
+ this.courseAdminCanCreateGuestAccounts = Boolean.FALSE;
}
public Organisation(String name,
String description,
@@ -326,6 +358,68 @@
this.organisationState = organisationState;
}
+ /**
+ * @hibernate.property
+ * column="admin_add_new_users"
+ * length="1"
+ * not-null="true"
+ *
+ */
+ public Boolean getCourseAdminCanAddNewUsers() {
+ return this.courseAdminCanAddNewUsers;
+ }
+
+ public void setCourseAdminCanAddNewUsers(Boolean courseAdminCanAddNewUsers) {
+ this.courseAdminCanAddNewUsers = courseAdminCanAddNewUsers;
+ }
+
+ /**
+ * @hibernate.property
+ * column="admin_browse_all_users"
+ * length="1"
+ * not-null="true"
+ *
+ */
+ public Boolean getCourseAdminCanBrowseAllUsers() {
+ return this.courseAdminCanBrowseAllUsers;
+ }
+
+ public void setCourseAdminCanBrowseAllUsers(Boolean courseAdminCanBrowseAllUsers) {
+ this.courseAdminCanBrowseAllUsers = courseAdminCanBrowseAllUsers;
+ }
+
+ /**
+ * @hibernate.property
+ * column="admin_change_status"
+ * length="1"
+ * not-null="true"
+ *
+ */
+ public Boolean getCourseAdminCanChangeStatusOfCourse() {
+ return this.courseAdminCanChangeStatusOfCourse;
+ }
+
+ public void setCourseAdminCanChangeStatusOfCourse(Boolean courseAdminCanChangeStatusOfCourse) {
+ this.courseAdminCanChangeStatusOfCourse = courseAdminCanChangeStatusOfCourse;
+ }
+
+ /**
+ * @hibernate.property
+ * column="admin_create_guest"
+ * length="1"
+ * not-null="true"
+ *
+ */
+ public Boolean getCourseAdminCanCreateGuestAccounts() {
+ return this.courseAdminCanCreateGuestAccounts;
+ }
+
+ public void setCourseAdminCanCreateGuestAccounts(Boolean courseAdminCanCreateGuestAccounts) {
+ this.courseAdminCanCreateGuestAccounts = courseAdminCanCreateGuestAccounts;
+ }
+
+
+
public String toString() {
return new ToStringBuilder(this)
.append("organisationId", getOrganisationId())