diff --git a/imports/client/views/org/admin/students/UploadCsv.js b/imports/client/views/org/admin/students/UploadCsv.js
index bab4462..dc50c45 100644
--- a/imports/client/views/org/admin/students/UploadCsv.js
+++ b/imports/client/views/org/admin/students/UploadCsv.js
@@ -1,3 +1,4 @@
+// import {UploadCsv } from '/imports/collections/students/UploadCsv'
import _ from 'lodash';
import { Meteor } from 'meteor/meteor';
@@ -48,10 +49,16 @@ export class UploadCsv extends Component {
e.persist();
var file = $('input[type="file"]').prop("files")[0];
Papa.parse(file, {
- complete: function(results) {
- if(results){
+ header: true,
+ complete: function(csvData) {
+ console.log("csvData");
+ console.log(csvData);
+ if(csvData){
Meteor.call('student.uploadCsv', csvData, function (error, result) {
-
+ console.log("error");
+ console.log(error);
+ console.log("result");
+ console.log(result);
})
}
}
diff --git a/imports/client/views/org/admin/students/view/StudentRow.js b/imports/client/views/org/admin/students/view/StudentRow.js
new file mode 100644
index 0000000..2efa286
--- /dev/null
+++ b/imports/client/views/org/admin/students/view/StudentRow.js
@@ -0,0 +1,56 @@
+import _ from 'lodash';
+import { Meteor } from 'meteor/meteor';
+
+import React, { Component } from 'react';
+import { Link,browserHistory } from 'react-router';
+import { FormGroup,
+ FormControl,Glyphicon,Button } from 'react-bootstrap';
+
+
+export class StudentRow extends Component {
+
+ constructor(props) {
+ super(props);
+ this.state = {
+
+ };
+ this.onUpdate = this.onUpdate.bind(this);
+ };
+
+ onUpdate(key, value) {
+ this.setState({[key]: value});
+ };
+
+ render() {
+ const {student} = this.props;
+ if(student.firstName){
+ return (
+
+ {student.firstName} |
+ {student.lastName} |
+ {student.class} |
+ {student.dob? moment(student.dob).format("LL") : } |
+ Active |
+
+
+ |
+
+ );
+ }else {
+ return null;
+ }
+
+ };
+
+};
diff --git a/imports/client/views/org/admin/students/view/StudentTable.js b/imports/client/views/org/admin/students/view/StudentTable.js
new file mode 100644
index 0000000..f7c864d
--- /dev/null
+++ b/imports/client/views/org/admin/students/view/StudentTable.js
@@ -0,0 +1,66 @@
+import _ from 'lodash';
+import { Meteor } from 'meteor/meteor';
+
+import React, { Component } from 'react';
+import { Link,browserHistory } from 'react-router';
+import { FormGroup,Panel,Table,
+ ButtonToolbar,Modal,
+ FormControl,Glyphicon,Button } from 'react-bootstrap';
+ import { AddStudentForm } from '../addStudentForm';
+import {moment} from 'meteor/momentjs:moment'
+import {StudentRow} from './StudentRow'
+
+export class StudentTable extends Component {
+
+ constructor(props) {
+ super(props);
+ this.state = {
+ show: false
+ };
+ this.onUpdate = this.onUpdate.bind(this);
+ };
+ onUpdate(key, value) {
+ this.setState({[key]: value});
+ };
+
+ render() {
+ return (
+
+
+
+
+
+ First Name |
+ Last Name |
+ Class |
+ DOB |
+ Status |
+ Actions |
+
+
+
+ {
+ this.props.students.map(function(student, i)
+ {
+ return(
+
+ )
+ })
+ }
+
+
+
+ );
+ };
+
+};
diff --git a/imports/collections/orgs/methods.js b/imports/collections/orgs/methods.js
index 92e5d3b..bfe958e 100644
--- a/imports/collections/orgs/methods.js
+++ b/imports/collections/orgs/methods.js
@@ -51,19 +51,3 @@ export const checkEmailInOrg = new ValidatedMethod({
}
},
});
-
-export const save_csv_data = new ValidatedMethod({
- name: 'save_csv_data',
-
- validate: null,
-
- run(item,filename) {
- var csv = json2csv({
- data: item,
- fields: csv_students_fields
- });
- fs.writeFile(filename, csv,function(err) {
- if (err) throw err;
- });
- },
-});
diff --git a/imports/collections/students/serverCsvUpload.js b/imports/collections/students/serverCsvUpload.js
index 9659db4..d030fab 100644
--- a/imports/collections/students/serverCsvUpload.js
+++ b/imports/collections/students/serverCsvUpload.js
@@ -13,7 +13,7 @@ import { Students } from '/imports/collections/students/in
import { Parents } from '/imports/collections/parents/index';
import csv1 from 'csv2json-convertor'
import json2csv from 'json2csv'
-import fs from 'fs'
+import fs from 'fs'
import Validation from '/imports/validation/validationMethods';
import Constants from '/imports/constants/constants'
@@ -50,19 +50,19 @@ export const addStudentCSV= new ValidatedMethod({
name: 'student.addCSV',
validate: null,
-
+
run(item){
data = item ;
console.log("data");
console.log(data);
+ return true;
const user = Users.findOne({_id: this.userId});
orgId = user.orgId;
newStudentId = Users.insert({
// emails: [{address:data.email, verified: false}],
- username: data["first Name*"],
- firstName: data.firstName,
- middleName: data.middleName,
- lastName: data.lastName,
+ username: data["First Name*"],
+ firstName: data["First Name*"],
+ lastName: data['Last Name*'],
orgId: orgId,
role: 'STUDENT'
});
@@ -95,10 +95,10 @@ export const addStudentCSV= new ValidatedMethod({
Students.insert({
userId: newStudentId,
orgId: orgId,
- admissionId: data.admissionId,
- address: data.address,
- gender: data.gender,
- dob: data.dob,
+ admissionId: data['Student Admission ID*'],
+ address: data['Student Admission ID*'],
+ gender: data['Gender(male/female)*'],
+ dob: data['Birthday(YYYY-MM-DD)*'],
rollNo: data.rollNo,
class: data.studentclass,
section: data.section,
@@ -115,9 +115,7 @@ export const addStudentCSV= new ValidatedMethod({
export const studentUploadCsv = new ValidatedMethod({
name: 'student.uploadCsv',
- validate: new SimpleSchema({
- data: { type: [Object] },
- }).validator(),
+ validate: null,
run({data}) {
let validation = new Validation();
@@ -126,19 +124,19 @@ export const studentUploadCsv = new ValidatedMethod({
temp = constants.csv_students_data();
//
console.log(temp);
- var data_1=csv1.csvtojson(("/Users/satheeshnagaraj/Downloads/11.csv")); //csvtojson is function that accepts csv filenames and returns JSON object
+ // var data_1=csv1.csvtojson(("/Users/satheeshnagaraj/Downloads/11.csv")); //csvtojson is function that accepts csv filenames and returns JSON object
//console.log(data);''
Stores = new Mongo.Collection('stores');
- data = data_1;
+ // data = data_1;
var CSV_valid_buffer = [];
var CSV_invalid_buffer = [];
var filename = new Date().getTime().toString();
var csv_filepath = '/Users/satheeshnagaraj/Documents/Workspace/Meteor/ydapp/CSV_Files/';
-
-
- for (let i = 0; i < data.length; i++)
- {
+
+
+ for (let i = 0; i < data.length; i++)
+ {
//let item= {Errors:""};
let item = data[i];
@@ -147,15 +145,15 @@ export const studentUploadCsv = new ValidatedMethod({
var is_not_null = 1;
var errors = [];
for (var key in item)
- {
+ {
var value = item[key];
var n = key.indexOf("*");
if(n!=-1) {
- if(!(validation.notNull(value)))
+ if(!(validation.notNull(value)))
{
errors.push(key+"is Empty");
}
- is_not_null = is_not_null && validation.notNull(value);
+ is_not_null = is_not_null && validation.notNull(value);
}
}
//console.log(validation.mobileNumber(item["Parent Mobile*"]));
@@ -167,36 +165,36 @@ export const studentUploadCsv = new ValidatedMethod({
if (!(validation.validateEmail(item["Parent Email*"])))
{
- errors.push('Parent Email is invalid');
+ errors.push('Parent Email is invalid');
}
if (!(validation.mobileNumber(item["Parent Mobile*"])))
{
- errors.push('Parent Mobile is invalid');
+ errors.push('Parent Mobile is invalid');
}
var is_valid = formate_validation && is_not_null ;
-
+
// console.log(formate_validation);
if (is_valid)
- {
+ {
CSV_valid_buffer.push(item);
console.log("----------------------------------------1");
Meteor.call('student.addCSV',item);
console.log("----------------------------------------2");
-
+
// exists = Stores.findOne({
- // "Student 'Admission' ID*": item["Student Admission ID*"]
+ // "Student 'Admission' ID*": item["Student Admission ID*"]
// });
- // if (!exists)
+ // if (!exists)
// {
// Stores.insert(item);
// }
- // else
+ // else
// {
// console.warn('Rejected. This item already exists.');
// }
- }
- else
+ }
+ else
{
var str = errors.toString();
item.Errors = str;
diff --git a/imports/server/collections.js b/imports/server/collections.js
index e654669..5b3d9a6 100644
--- a/imports/server/collections.js
+++ b/imports/server/collections.js
@@ -5,3 +5,4 @@ import '/imports/collections/users/publications';
import '/imports/collections/students/methods';
import '/imports/collections/students/publications';
+import '/imports/collections/students/serverCsvUpload';
diff --git a/package.json b/package.json
index fb409d8..41b79a8 100644
--- a/package.json
+++ b/package.json
@@ -66,11 +66,13 @@
"babyparse": "^0.4.6",
"bcrypt": "^0.8.7",
"bootstrap": "^4.0.0-alpha.6",
+ "csv2json-convertor": "^1.2.0",
"csvtojson": "^1.1.4",
"fs": "0.0.1-security",
"jquery": "^2.2.4",
"jquery-ui": "^1.12.1",
"jquery-validation": "^1.15.1",
+ "json2csv": "^3.7.3",
"lodash": "^4.17.4",
"material-fabmenu": "0.0.1",
"material-ui": "^0.17.1",