Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ums-api/src/main/java/org/ums/manager/CourseManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public interface CourseManager extends ContentManager<Course, MutableCourse, Str

List<Course> getBySemesterProgram(final String pSemesterId, final String pProgramId);

List<Course> getByYearSemester(final String pSemesterId, final String pProgramId, final int year, final int semester);
List<Course> getByYearSemester(final Integer pSemesterId, final String pProgramId, final int year, final int semester);

List<Course> getOptionalCourseList(final String pSyllabusId, final Integer pYear, final Integer pSemester);

Expand Down
2 changes: 2 additions & 0 deletions ums-api/src/main/java/org/ums/manager/SemesterManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,7 @@ public interface SemesterManager extends ContentManager<Semester, MutableSemeste

List<Semester> semestersAfter(final Integer pStartSemester, final Integer pProgramTypeId);

List<Semester> getEnrolledSemesters(final String pStudentId);

Semester closestSemester(final Integer pCheckSemester, final List<Integer> pCheckAgainstSemesters);
}
2 changes: 1 addition & 1 deletion ums-core/src/main/java/org/ums/cache/CourseCache.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public List<Course> getBySyllabus(String pSyllabusId) {
}

@Override
public List<Course> getByYearSemester(String pSemesterId, String pProgramId, int year, int semester) {
public List<Course> getByYearSemester(Integer pSemesterId, String pProgramId, int year, int semester) {
return getManager().getByYearSemester(pSemesterId, pProgramId, year, semester);
}

Expand Down
5 changes: 5 additions & 0 deletions ums-core/src/main/java/org/ums/cache/SemesterCache.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@

public class SemesterCache extends ContentCache<Semester, MutableSemester, Integer, SemesterManager> implements
SemesterManager {
@Override
public List<Semester> getEnrolledSemesters(String pStudentId) {
return getManager().getEnrolledSemesters(pStudentId);
}

private CacheManager<Semester, Integer> mCacheManager;

public SemesterCache(final CacheManager<Semester, Integer> pCacheManager) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public List<Course> getAllForPagination(final Integer pItemPerPage, final Intege
}

@Override
public List<Course> getByYearSemester(String pSemesterId, String pProgramId, int year, int semester) {
public List<Course> getByYearSemester(Integer pSemesterId, String pProgramId, int year, int semester) {
return getManager().getByYearSemester(pSemesterId, pProgramId, year, semester);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@
*/
public class SemesterDaoDecorator extends ContentDaoDecorator<Semester, MutableSemester, Integer, SemesterManager>
implements SemesterManager {
@Override
public List<Semester> getEnrolledSemesters(String pStudentId) {
return getManager().getEnrolledSemesters(pStudentId);
}

@Override
public List<Semester> getSemesters(Integer pProgramType, Integer pLimit) {
return getManager().getSemesters(pProgramType, pLimit);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
public class StudentRecordDaoDecorator extends
ContentDaoDecorator<StudentRecord, MutableStudentRecord, Long, StudentRecordManager> implements
StudentRecordManager {

@Override
public List<StudentRecord> getStudentRecords(Integer pProgramId, Integer pSemesterId) {
return getManager().getStudentRecords(pProgramId, pSemesterId);
Expand Down
18 changes: 14 additions & 4 deletions ums-core/src/main/java/org/ums/manager/CourseMaterialNotifier.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,13 @@
import org.apache.shiro.SecurityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import org.ums.configuration.UMSConfiguration;
import org.ums.domain.model.immutable.Notification;
import org.ums.domain.model.immutable.UGRegistrationResult;
import org.ums.services.FirebaseMessagingImpl;
import org.ums.usermanagement.user.User;
import org.ums.enums.CourseRegType;
import org.ums.message.MessageResource;
Expand All @@ -21,6 +24,7 @@
import org.ums.usermanagement.user.UserManager;

public class CourseMaterialNotifier extends AbstractSectionPermission {

private Logger mLogger = LoggerFactory.getLogger(CourseMaterialNotifier.class);
private NotificationGenerator mNotificationGenerator;
private UGRegistrationResultManager mUGRegistrationResultManager;
Expand All @@ -43,6 +47,8 @@ public Map<String, Object> createFolder(String pNewPath, Map<String, String> pAd
String... pRootPath) {
Map<String, Object> folder = super.createFolder(pNewPath, pAdditionalParams, pDomain, pRootPath);
Notifier notifier = new Notifier() {
String producer = SecurityUtils.getSubject().getPrincipal().toString();

@Override
public List<String> consumers() {
List<String> users = new ArrayList<>();
Expand All @@ -65,7 +71,7 @@ public List<String> consumers() {

@Override
public String producer() {
return SecurityUtils.getSubject().getPrincipal().toString();
return producer;
}

@Override
Expand All @@ -76,11 +82,14 @@ public String notificationType() {

@Override
public String payload() {
User user = mUserManager.get(SecurityUtils.getSubject().getPrincipal().toString());
User user = mUserManager.get(producer);
return mMessageResource.getMessage("course.material.uploaded", user.getName(), pNewPath, pRootPath[1]);
}
};
System.out.println("Before firebase");

mNotificationGenerator.notify(notifier);

return folder;
}

Expand All @@ -93,6 +102,7 @@ public Map<String, Object> createAssignmentFolder(final String pNewPath, final D
final String semesterIdString = getUserDefinedProperty(SEMESTER_ID, targetDirectory);
final String courseId = getUserDefinedProperty(COURSE_ID, targetDirectory);
final String owner = getUserDefinedProperty(OWNER, targetDirectory);
String producer = SecurityUtils.getSubject().getPrincipal().toString();

Notifier notifier = new Notifier() {
@Override
Expand All @@ -118,7 +128,7 @@ public List<String> consumers() {

@Override
public String producer() {
return SecurityUtils.getSubject().getPrincipal().toString();
return producer;
}

@Override
Expand All @@ -130,7 +140,7 @@ public String notificationType() {
@Override
public String payload() {
try {
User user = mUserManager.get(SecurityUtils.getSubject().getPrincipal().toString());
User user = mUserManager.get(producer);
return mMessageResource.getMessage("assignment.directory.created", user.getName(), pNewPath, pRootPath[1],
getUserDefinedProperty(START_DATE, targetDirectory), getUserDefinedProperty(END_DATE, targetDirectory));
} catch(Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ public List<Course> getBySemesterProgram(String pSemesterId, String pProgramId)
return mJdbcTemplate.query(query, new Object[] {pSemesterId, pProgramId}, new CourseRowMapper());
}

public List<Course> getByYearSemester(String pSemesterId, String pProgramId, int year, int semester) {
public List<Course> getByYearSemester(Integer pSemesterId, String pProgramId, int year, int semester) {
String query =
SELECT_ALL
+ "Where YEAR = ? and SEMESTER =? And MST_COURSE.COURSE_ID=COURSE_SYLLABUS_MAP.COURSE_ID and Syllabus_Id "
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public PersistentProgramTypeDao(final JdbcTemplate pJdbcTemplate) {

public ProgramType get(final Integer pId) {
String query = SELECT_ALL + "WHERE TYPE_ID = ?";
System.out.println(query);
return mJdbcTemplate.queryForObject(query, new Object[] {pId}, new ProgramTypeRowMapper());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ public class PersistentSemesterDao extends SemesterDaoDecorator {
static String SELECT_SEMESTER_BY_STATUS =
"SELECT SEMESTER_ID, SEMESTER_NAME, START_DATE, END_DATE, PROGRAM_TYPE, STATUS, LAST_MODIFIED FROM MST_SEMESTER ";

String ENROLLED_SEMESTERS =
"select a.SEMESTER_ID,b.SEMESTER_NAME,b.START_DATE,b.END_DATE,b.PROGRAM_TYPE,b.STATUS,b.LAST_MODIFIED from STUDENT_RECORD a,mst_semester b WHERE "
+ "a.semester_id=b.semester_id AND "
+ "a.STUDENT_ID=? AND (a.REGISTRATION_TYPE='R' OR a.REGISTRATION_TYPE='RA') ORDER BY b.start_date desc";

private JdbcTemplate mJdbcTemplate;

public PersistentSemesterDao(final JdbcTemplate pJdbcTemplate) {
Expand All @@ -43,6 +48,11 @@ public Semester get(final Integer pSemesterId) {
return mJdbcTemplate.queryForObject(query, new Object[] {pSemesterId}, new SemesterRowMapper());
}

@Override
public List<Semester> getEnrolledSemesters(String pStudentId) {
return mJdbcTemplate.query(ENROLLED_SEMESTERS, new Object[] {pStudentId}, new EnrolledSemestersRowMapper());
}

public Semester getSemesterByStatus(final ProgramType pProgramType, SemesterStatus status) {
String sql = SELECT_SEMESTER_BY_STATUS + " WHERE Program_Type=? AND STATUS=?";
return mJdbcTemplate.queryForObject(sql, new Object[] {pProgramType.getValue(), status.getId()},
Expand Down Expand Up @@ -84,10 +94,10 @@ public List<Semester> getSemesters(Integer pProgramType, Integer pLimit) {
@Override
public Semester getPreviousSemester(Integer pSemesterId, Integer pProgramTypeId) {
String query =
SELECT_ALL + "WHERE START_DATE =\n" + " (SELECT MAX (START_DATE)\n"
+ " FROM MST_SEMESTER\n" + " WHERE START_DATE <\n"
+ " (SELECT START_DATE\n" + " FROM MST_SEMESTER\n"
+ " WHERE SEMESTER_ID = ? AND PROGRAM_TYPE = ?))\n"
SELECT_ALL + "WHERE START_DATE = " + " (SELECT MAX (START_DATE) "
+ " FROM MST_SEMESTER " + " WHERE START_DATE < "
+ " (SELECT START_DATE " + " FROM MST_SEMESTER "
+ " WHERE SEMESTER_ID = ? AND PROGRAM_TYPE = ?)) "
+ " AND PROGRAM_TYPE = ?";
return mJdbcTemplate.queryForObject(query, new Object[] {pSemesterId, pProgramTypeId, pProgramTypeId},
new SemesterRowMapper());
Expand Down Expand Up @@ -157,6 +167,21 @@ public Semester closestSemester(Integer pCheckSemester, List<Integer> pCheckAgai
return namedParameterJdbcTemplate.queryForObject(query, parameters, new SemesterRowMapper());
}

class EnrolledSemestersRowMapper implements RowMapper<Semester> {
@Override
public Semester mapRow(ResultSet pResultSet, int pI) throws SQLException {
PersistentSemester enrolledSemester = new PersistentSemester();
enrolledSemester.setId(pResultSet.getInt("SEMESTER_ID"));
enrolledSemester.setName(pResultSet.getString("SEMESTER_NAME"));
enrolledSemester.setStartDate(pResultSet.getDate("START_DATE"));
enrolledSemester.setEndDate(pResultSet.getDate("END_DATE"));
enrolledSemester.setProgramTypeId(pResultSet.getInt("PROGRAM_TYPE"));
enrolledSemester.setStatus(Semester.Status.get(pResultSet.getInt("STATUS")));
enrolledSemester.setLastModified(pResultSet.getString("LAST_MODIFIED"));
return enrolledSemester;
}
}

class SemesterRowMapper implements RowMapper<Semester> {
@Override
public Semester mapRow(ResultSet resultSet, int i) throws SQLException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ grant all privileges to DB_IUMS_ACCOUNT;
Ifti
-----
exp DB_IUMS/ig100@XE STATISTICS=NONE FILE='F:\IUMS-Source\UMS\ums-dist\src\main\resources\misc\database\DB_IUMS.dmp' log=F:\backuplog.txt
imp DB_IUMS/ig100@XE STATISTICS=NONE FILE='F:\IUMS-Source\UMS\ums-dist\src\main\resources\misc\database\DB_IUMS.dmp' log=F:\backuplog.txt 



Apu
Expand Down
2 changes: 1 addition & 1 deletion ums-webapps/ums-web/Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ module.exports = function (grunt) {
grunt.loadNpmTasks("grunt-concurrent");
grunt.loadNpmTasks('grunt-este-watch');
grunt.loadNpmTasks('grunt-sync');

grunt.loadNpmTasks('grunt-clearcache');

grunt.registerTask("default", ["sync", "ts", "concurrent"]);
};
3 changes: 3 additions & 0 deletions ums-webapps/ums-web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,8 @@
},
"engines": {
"node": ">=0.8.0"
},
"dependencies": {
"grunt-clearcache": "0.0.4"
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
module ums {
export class StudentCourseMaterial {
public static $inject = ['$scope', '$stateParams', 'appConstants', 'HttpClient', 'fileManagerConfig'];
public static $inject = ['$scope', '$stateParams', 'appConstants', 'HttpClient', 'fileManagerConfig','semesterService'];
public enrolledSemesterList:Array<Semester>;
public enrolledSemester:Semester;
public selectedSemesterId:number;
public selectedSemesterName:string;
private currentUser: Student;
private courseMaterialSearchParamModel: ProgramSelectorModel;

Expand All @@ -23,9 +27,29 @@ module ums {

this.$scope.fetchCourseInfo = this.fetchCourseInfo.bind(this);
this.$scope.initFileManager = this.initFileManager.bind(this);
this.$scope.getEnrolledSemester=this.getEnrolledSemesters.bind(this);
this.$scope.semesterChanged=this.semesterChanged.bind(this);
this.getEnrolledSemesters();

//this.initFileManager("Fall,2015", "EEE 1101");
}
private semesterChanged(val:any){
this.$scope.selectedSemesterId=val.id;
this.$scope.selectedSemesterName=val.name;
}
private getEnrolledSemesters(){
this.$scope.enrolledSemesterList=[];
this.httpClient.get('/ums-webservice-academic/academic/semester/enrolledSemesters', 'application/json',
(json: any, etag: string) => {
this.$scope.enrolledSemesterList=json.entries;
this.$scope.enrolledSemester=this.$scope.enrolledSemesterList[0];
this.$scope.selectedSemesterId=this.$scope.enrolledSemester.id;
this.$scope.selectedSemesterName=this.$scope.enrolledSemester.name;
},
(response: ng.IHttpPromiseCallbackArg<any>) => {
console.error(response);
});
}

private fetchCourseInfo(courseNo: string): void {
$("#leftDiv").hide(100);
Expand All @@ -34,7 +58,7 @@ module ums {
this.$scope.loadingVisibility = true;
this.$scope.contentVisibility = false;
this.$scope.selectedCourseNo = '';
this.httpClient.get("academic/course/semester/" + this.courseMaterialSearchParamModel.semesterId + "/program/"
this.httpClient.get("academic/course/semester/" + this.$scope.selectedSemesterId + "/program/"
+ this.courseMaterialSearchParamModel.programId + "/year/"
+ this.currentUser.year + "/academicSemester/" + this.currentUser.academicSemester, HttpClient.MIME_TYPE_JSON,
(response: {entries: Course[]}) => {
Expand All @@ -48,7 +72,7 @@ module ums {
private initFileManager(courseNo: string,
semesterId: string,
courseId: string): void {
var semesterName = this.getSelectedSemester();
var semesterName = this.$scope.selectedSemesterName;
var baseUri: string = '/ums-webservice-academic/academic/student/courseMaterial/semester/' + semesterName + "/course/" + courseNo;
var downloadBaseUri: string = '/ums-webservice-academic/academic/student/courseMaterial/download/semester/' + semesterName + "/course/" + courseNo;

Expand Down Expand Up @@ -94,23 +118,15 @@ module ums {
var msg = 'Picked %s "%s" for external use'
.replace('%s', item.type)
.replace('%s', item.fullPath());
console.log("Test");
console.log("Another test");
console.log("Yo YO");
window.alert(msg);
};

this.$scope.reloadOn = courseNo;
}

private getSelectedSemester(): string {
var semesters = this.courseMaterialSearchParamModel.getSemesters();
var semesterName = "";
for (var i = 0; i < semesters.length; i++) {
if (semesters[i].id == this.courseMaterialSearchParamModel.semesterId) {
semesterName = semesters[i].name;
}
}

return semesterName;
}
}

UMS.controller("StudentCourseMaterial", StudentCourseMaterial);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ module ums {
HttpClient.MIME_TYPE_JSON,
(json: any, etag: string) => {
this.setSemesters(json.entries);
if (this.isSemesterEnabled() && json.entries.length > 0) {
if (this.isSemesterEnabled() && json.entries.length > 0){
this.semesterId = (this.getSemesters()[0]).id + '';
}
},
Expand Down
Loading