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
4 changes: 2 additions & 2 deletions source/_packages_/module/AdminUser/Permission.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ KG.define('EF-AdminPermission', class extends Base{
}
addTestData(){
//add admin role
this._db.remove({role : 'admin'});
//this._db.remove({role : 'admin'});

let f = false;
let f = true;
this._db.insert({
role : 'admin',
nickName : 'Admin',
Expand Down
4 changes: 4 additions & 0 deletions source/_packages_/module/AdminUser/class.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -205,11 +205,15 @@ let AdminUser = class extends Base{
let m = KG.DataHelper.getDepModule();

let user = Meteor.user();
//console.log(user);
if(!user){
return false;
}
else{
let u = self._db.findOne({_id : user._id});
if(u.role === 'superadmin'){
u.role = 'admin';
}
let role = self.pm.getDB().findOne({role : u.role});
u.permission = role;

Expand Down
63 changes: 62 additions & 1 deletion source/_packages_/module/registration/trialClasses.js
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,39 @@ function getAvailableTrialLessons(programId, startDt, endDt) {
return availableLessons;
}

/*
* @return ['2016-05-20','2016-05-20'] //days that has class
* */
function getAvailableTrialLessonsSchedule(programId){
const program = Collections.program.findOne({_id:programId});
if (!program) {
throw new Meteor.Error(500, 'program not found','Invalid class id: ' + programId);
}

//find all sessions not ended
const sessions = Collections.session.find({
endDate : {$gte:new Date()}
}, {
sort: {
startDate: 1
}
}).fetch();

const endDates= _.pluck(sessions, 'endDate')
const maxEndDate = _.max(endDates,(d)=>new Date(d).getTime())

const lessons = getAvailableTrialLessons(programId, new Date(), maxEndDate)

//according to EdminForce.utils.dateFormat = 'YYYY-MM-DDTHH:mm:ss';
let dates = _.map(lessons,(item)=>{
return item.lessonDate && item.lessonDate.split('T')[0]
})
dates = _.uniq(dates).sort()

return dates
}


/*
* returns a list of students who are eligible for a specified trial class
*/
Expand Down Expand Up @@ -410,11 +443,39 @@ function getAvailableMakeupLessons(userId, studentID, classID, startDt, endDt) {
}


function getAvailableMakeupLessonsSchedule(userId, studentID, classID){
//find all sessions not ended
const sessions = Collections.session.find({
endDate : {$gte:new Date()}
}, {
sort: {
startDate: 1
}
}).fetch();

const endDates= _.pluck(sessions, 'endDate')
const maxEndDate = _.max(endDates,(d)=>new Date(d).getTime())

const lessons = getAvailableMakeupLessons(userId, studentID, classID, new Date(), maxEndDate)

//according to EdminForce.utils.dateFormat = 'YYYY-MM-DDTHH:mm:ss';
let dates = _.map(lessons,(item)=>{
return item.lessonDate && item.lessonDate.split('T')[0]
})
dates = _.uniq(dates).sort()

return dates
}



EdminForce.Registration.getAvailableTrialLessons = getAvailableTrialLessons;
EdminForce.Registration.getAvailableMakeupLessons = getAvailableMakeupLessons;
EdminForce.Registration.getTrialStudents = getTrialStudents;
EdminForce.Registration.validateStudentForClass = validateStudentForClass;
EdminForce.Registration.bookTrial = bookTrial;
EdminForce.Registration.isAvailableForMakeup = isAvailableForMakeup;
EdminForce.Registration.isAvailableForTrial = isAvailableForTrial;
EdminForce.Registration.isAvailableForTrial = isAvailableForTrial;

EdminForce.Registration.getAvailableTrialLessonsSchedule = getAvailableTrialLessonsSchedule;
EdminForce.Registration.getAvailableMakeupLessonsSchedule = getAvailableMakeupLessonsSchedule;
2 changes: 1 addition & 1 deletion source/admin-base/client/lib/util.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ util.user = {
if(!user){
return false;
}
if(user.role === 'admin'){
if(user.role === 'admin' || user.role === 'superadmin'){
return true;
}

Expand Down
2 changes: 1 addition & 1 deletion source/admin-base/client/page/Programs/session.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ KUI.Program_session = class extends RC.CSSMeteorData{
}
];

let format = 'YYYY-MM-DD';
let format = KG.const.dateFormat;
var list = _.map(this.data.list, (item)=>{
item.startDate = moment(item.startDate).format(format);
item.endDate = moment(item.endDate).format(format);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -448,6 +448,11 @@ KUI.Registration_SummaryPage = class extends KUI.Page{
});
}
else if(way === 'pay later'){
Meteor.setTimeout(function(){
self.m.Email.callMeteorMethod('sendRegistrationClassConfirmEmail', [{orderID : cid}], {
success : function(){}
});
}, 100);
FlowRouter.go('/student/'+self.studentID);
}
else{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ KUI.Report_ClassStudent_Pending = class extends KUI.Page{

return (
<RC.Div>
<h3></h3>
<h3>Pending Registration Report</h3>
<Filter ref="filter" />
<RC.Div style={sy.rd}>
<KUI.YesButton style={sy.ml} onClick={this.search.bind(this)} label="Search"></KUI.YesButton>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,8 @@ console.log(rs);
}
return (
<RC.Div>
<h3>Program Registration Report</h3>
<hr/>
<Filter ref="filter" />
<RC.Div style={{textAlign:'right'}}>
<KUI.YesButton onClick={this.search.bind(this)}
Expand Down
2 changes: 2 additions & 0 deletions source/admin-base/client/page/Report/Coupon.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,8 @@ KUI.Report_Coupon = class extends KUI.Page{

return (
<RC.Div>
<h3>Coupon Report</h3>
<hr/>
<Filter ref="filter"></Filter>
<RC.Div style={{textAlign:'right'}}>
<KUI.YesButton onClick={this.search.bind(this)} label="Search"></KUI.YesButton>
Expand Down
2 changes: 1 addition & 1 deletion source/admin-base/client/page/Teachers/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ KUI.Teachers_index = class extends RC.CSS {
newDate < this.currentSession.startDate ||
newDate > moment(this.currentSession.endDate).endOf('d').toDate()) {
let classIdx = 0;
this.filterClassBySelectedTeacher(classIdx, newDate);
this.filterClassBySelectedTeacher(this.state.selectedTeacherIdx, newDate);
this.getStudents(classIdx, () => {
this.setState({
selectedDate: newDate,
Expand Down
1 change: 1 addition & 0 deletions source/admin-base/lib/router/base.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ if(Meteor.isClient){

KG.get('EF-AdminUser').callMeteorMethod('getCurrentUser', [], {
success : function(user){
console.log(user);
App.user = user;
callback(user);
}
Expand Down
Loading