From bdd4abb61022f7a971cf2f1663ab24a55ce3169c Mon Sep 17 00:00:00 2001 From: Deepak Date: Mon, 17 Apr 2017 20:52:50 +0530 Subject: [PATCH] some cleanup --- imports/client/app/routes.js | 27 +++--- imports/client/layouts/OrgApp.js | 6 +- imports/client/views/app/module/Index.js | 15 --- .../views/app/module/navigation/AppNavigation.js | 27 ------ .../module/navigation/AuthenticatedNavigation.js | 30 ------ .../client/views/app/module/navigation/Loading.js | 30 ------ .../app/module/navigation/PublicNavigation.js | 16 --- .../client/views/app/module/navigation/index.js | 7 -- .../views/org/admin/settings/adminSettingsView.js | 33 +++++++ imports/client/views/org/admin/settings/index.js | 48 +++++++++ .../client/views/org/admin/students/StudentView.js | 2 +- .../admin/students/add/AddStudentFormContainer.js | 32 +++++- .../views/org/admin/students/add/addStudent.js | 2 +- imports/client/views/org/admin/students/index.js | 17 ++-- .../views/org/admin/students/view/StudentTable.js | 7 +- imports/client/views/org/app/module/AppLayout.js | 19 ++-- imports/client/views/org/enter/ForgotPane.js | 2 +- imports/collections/students/methods.js | 85 ---------------- imports/collections/students/publications.js | 2 +- imports/collections/students/serverMethods.js | 108 +++++++++++++++++++++ imports/server/collections.js | 1 + 21 files changed, 260 insertions(+), 256 deletions(-) delete mode 100644 imports/client/views/app/module/Index.js delete mode 100644 imports/client/views/app/module/navigation/AppNavigation.js delete mode 100644 imports/client/views/app/module/navigation/AuthenticatedNavigation.js delete mode 100644 imports/client/views/app/module/navigation/Loading.js delete mode 100644 imports/client/views/app/module/navigation/PublicNavigation.js delete mode 100644 imports/client/views/app/module/navigation/index.js create mode 100644 imports/client/views/org/admin/settings/adminSettingsView.js create mode 100644 imports/client/views/org/admin/settings/index.js create mode 100644 imports/collections/students/serverMethods.js diff --git a/imports/client/app/routes.js b/imports/client/app/routes.js index 79a04f0..5010602 100644 --- a/imports/client/app/routes.js +++ b/imports/client/app/routes.js @@ -9,7 +9,6 @@ import { Meteor } from 'meteor/meteor'; /** * General Components */ -import Index from '/imports/client/views/app/module/Index'; import NotFound from '/imports/client/views/org/NotFound'; /** @@ -25,21 +24,13 @@ import { importCsvController } from '/imports/client/views/org/impo import { StudentDataController } from '/imports/client/views/org/admin/students/index' import { staffViewController } from '/imports/client/views/org/admin/staff/index' import { ParentViewController } from '/imports/client/views/org/admin/parents/index' +import { AdminSettingsController } from '/imports/client/views/org/admin/settings/index' //students //teachers //parents - - -/** - * NonOrg Components - */ -import Signup from '/imports/client/views/nonOrg/enter/SignupView'; -import { NonOrgApp } from '/imports/client/layouts/NonOrgApp'; -import {NonOrgAppModule} from '/imports/client/views/nonOrg/app/module/Index'; - /** * Invalid Org Components */ @@ -57,7 +48,8 @@ const getOrgRoutes = () => ( - + + @@ -73,6 +65,14 @@ const getInvalidOrgRoute = () => ( ) + +/** + * NonOrg Components + */ +import Signup from '/imports/client/views/nonOrg/enter/SignupView'; +import { NonOrgApp } from '/imports/client/layouts/NonOrgApp'; +import {NonOrgAppModule} from '/imports/client/views/nonOrg/app/module/Index'; + const getNonOrgRoutes = () => ( @@ -99,7 +99,10 @@ const authenticate = (nextState, replace) => { **/ const detectOrg = () => { orgSlug = ""; + //www.app.ydapp.in + // var hostnameArray = document.location.hostname.split( "." ); + //['www','app', 'ydapp','in']; if(hostnameArray[0] !== "www"){ if((hostnameArray[1]==='localhost'||hostnameArray[1]==='ydapp')){ orgSlug = hostnameArray[0]; @@ -113,6 +116,8 @@ const detectOrg = () => { if(orgSlug!==""){ console.log(orgSlug); Meteor.call('checkExistingOrg', {slug:orgSlug}, function(err, res) { + console.log(err); + console.log(res); if(res){ Session.set('orgId', res._id); Session.set('orgSlug', orgSlug); diff --git a/imports/client/layouts/OrgApp.js b/imports/client/layouts/OrgApp.js index ecc6c5c..d2b2fb2 100644 --- a/imports/client/layouts/OrgApp.js +++ b/imports/client/layouts/OrgApp.js @@ -13,12 +13,8 @@ import {AppNavigationController} from '/imports/client/views/org/app/module/n }; render(){ return ( -
- +
{ this.props.children } - - -
) } diff --git a/imports/client/views/app/module/Index.js b/imports/client/views/app/module/Index.js deleted file mode 100644 index 5da010c..0000000 --- a/imports/client/views/app/module/Index.js +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react'; -import { Jumbotron } from 'react-bootstrap'; - -const Index = () => ( -
- -

Base

-

A starting point for Meteor applications.

-

Read the Documentation

-

Currently at v4.11.1

-
-
-); - -export default Index; diff --git a/imports/client/views/app/module/navigation/AppNavigation.js b/imports/client/views/app/module/navigation/AppNavigation.js deleted file mode 100644 index 319c936..0000000 --- a/imports/client/views/app/module/navigation/AppNavigation.js +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react'; -import { Navbar } from 'react-bootstrap'; -import { Link } from 'react-router'; -import PublicNavigation from './PublicNavigation.js'; -import AuthenticatedNavigation from './AuthenticatedNavigation.js'; - -const renderNavigation = hasUser => (hasUser ? : ); - -const AppNavigation = ({ hasUser }) => ( - - - - Application Name - - - - - { renderNavigation(hasUser) } - - -); - -AppNavigation.propTypes = { - hasUser: React.PropTypes.object, -}; - -export default AppNavigation; diff --git a/imports/client/views/app/module/navigation/AuthenticatedNavigation.js b/imports/client/views/app/module/navigation/AuthenticatedNavigation.js deleted file mode 100644 index 87a0c38..0000000 --- a/imports/client/views/app/module/navigation/AuthenticatedNavigation.js +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react'; -import { browserHistory } from 'react-router'; -import { LinkContainer } from 'react-router-bootstrap'; -import { Nav, NavItem, NavDropdown, MenuItem } from 'react-bootstrap'; -import { Meteor } from 'meteor/meteor'; - -const handleLogout = () => Meteor.logout(() => browserHistory.push('/login')); - -const userName = () => { - const user = Meteor.user(); - const name = user && user.profile ? user.profile.name : ''; - return user ? `${name.first} ${name.last}` : ''; -}; - -const AuthenticatedNavigation = () => ( -
- - -
-); - -export default AuthenticatedNavigation; diff --git a/imports/client/views/app/module/navigation/Loading.js b/imports/client/views/app/module/navigation/Loading.js deleted file mode 100644 index c97a7eb..0000000 --- a/imports/client/views/app/module/navigation/Loading.js +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react'; - -const Loading = () => ( - - - - - -); - -export default Loading; diff --git a/imports/client/views/app/module/navigation/PublicNavigation.js b/imports/client/views/app/module/navigation/PublicNavigation.js deleted file mode 100644 index d04fc80..0000000 --- a/imports/client/views/app/module/navigation/PublicNavigation.js +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { LinkContainer } from 'react-router-bootstrap'; -import { Nav, NavItem } from 'react-bootstrap'; - -const PublicNavigation = () => ( - -); - -export default PublicNavigation; diff --git a/imports/client/views/app/module/navigation/index.js b/imports/client/views/app/module/navigation/index.js deleted file mode 100644 index 65f743d..0000000 --- a/imports/client/views/app/module/navigation/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import { composeWithTracker } from 'react-komposer'; -import { Meteor } from 'meteor/meteor'; -import AppNavigation from '../components/AppNavigation.js'; - -const composer = (props, onData) => onData(null, { hasUser: Meteor.user() }); - -export default composeWithTracker(composer, {}, {}, { pure: false })(AppNavigation); diff --git a/imports/client/views/org/admin/settings/adminSettingsView.js b/imports/client/views/org/admin/settings/adminSettingsView.js new file mode 100644 index 0000000..dc706b9 --- /dev/null +++ b/imports/client/views/org/admin/settings/adminSettingsView.js @@ -0,0 +1,33 @@ +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 AdminSettingsView extends Component { + + constructor(props) { + super(props); + this.state = { + + }; + this.onUpdate = this.onUpdate.bind(this); + }; + + onUpdate(key, value) { + this.setState({[key]: value}); + }; + + render() { + const {user, org} = this.props.data; + return ( +
+

Settings

+
+ ); + }; + +}; diff --git a/imports/client/views/org/admin/settings/index.js b/imports/client/views/org/admin/settings/index.js new file mode 100644 index 0000000..662eea6 --- /dev/null +++ b/imports/client/views/org/admin/settings/index.js @@ -0,0 +1,48 @@ +// import { InviteSignupController } from '/imports/client/views/invite/signup/index' +import _ from 'lodash'; +import { + composeWithTracker, + compose, + composeAll + } from 'react-komposer'; +import { Loading } from '/imports/client/components/Loading'; + +import { Orgs } from '/imports/collections/orgs/index'; +import { Users } from '/imports/collections/users/index'; +import { AdminSettingsView } from './adminSettingsView'; + +const meteorTick = (props, onData) => { + + const handles = [ + Meteor.subscribe('users.current'), + Meteor.subscribe('orgs.current') + ]; + + if(_.every(handles, (handle) => (handle.ready()) )) { + const user = Users.current(); + const org = Orgs.current(); + onData(null, { + data: { + user: user, + org: org + }, + }); + } + + return () => { + _.each(handles, (handle) => handle.stop() ); + }; +}; + + +const reduxTick = (props, onData) => { + onData(null, { + data: {} + }); +}; + + +export const AdminSettingsController = composeAll( + composeWithTracker(meteorTick, Loading), + compose(reduxTick, Loading), +)(AdminSettingsView); diff --git a/imports/client/views/org/admin/students/StudentView.js b/imports/client/views/org/admin/students/StudentView.js index f7ee6da..95f8a94 100644 --- a/imports/client/views/org/admin/students/StudentView.js +++ b/imports/client/views/org/admin/students/StudentView.js @@ -69,7 +69,7 @@ export class StudentView extends Component {
diff --git a/imports/client/views/org/admin/students/add/AddStudentFormContainer.js b/imports/client/views/org/admin/students/add/AddStudentFormContainer.js index b89f64c..46cc059 100644 --- a/imports/client/views/org/admin/students/add/AddStudentFormContainer.js +++ b/imports/client/views/org/admin/students/add/AddStudentFormContainer.js @@ -4,7 +4,7 @@ import StudentForm from './StudentForm' import Form from '/imports/client/views/core/Form' import Validator from '/imports/client/views/core/Validator' import { isRequired, isValidEmail } from '/imports/client/views/core/validations' -import { addStudentManually } from '/imports/collections/students/methods'; + export class AddStudentFormContainer extends Component { @@ -28,14 +28,15 @@ export class AddStudentFormContainer extends Component { } handleSubmit() { + self = this; if (this.state.currentStep === 3) { - addStudentManually.call(this.form.state.values, function(err, result){ + Meteor.call('student.addManually',this.form.state.values, function(err, result){ console.log("err"); console.log(err); console.log("result"); console.log(result); if(!err){ - this.props.modalState(); + self.props.hideModal(); } }); } @@ -50,6 +51,31 @@ export class AddStudentFormContainer extends Component { initialValues={{ gender: 'male', parentGender: 'male', + admissionId: "123", + firstName: "first", + lastName: "last", + email: "deepak125.dk+21@gmail.com", + dob: "04/04/1989", + gender: "male", + rollNo: "1", + studentClass: "2", + section: "B", + community: "SC", + bloodGroup: "B+", + phone: "9876543321", + address: "address", + city: "chennai", + state: "tn", + parentName: "parentName", + parentEmail: "deepak125.dk+41@gmail.com", + relation: "father", + profession: "farmer", + parentGender: "male", + parentPhone: "987655412", + parentAddress: "parentAddress", + parentCity: "parentCity", + parentState: "parentState", + parentZipcode: "parentZipcode", }} > {({ values, setValue, getValue, isSubmitted, isDirty }) => ( diff --git a/imports/client/views/org/admin/students/add/addStudent.js b/imports/client/views/org/admin/students/add/addStudent.js index 033a163..69bfc4a 100644 --- a/imports/client/views/org/admin/students/add/addStudent.js +++ b/imports/client/views/org/admin/students/add/addStudent.js @@ -50,7 +50,7 @@ export class AddStudent extends Component { {/* diff --git a/imports/client/views/org/admin/students/index.js b/imports/client/views/org/admin/students/index.js index 68da2e6..32668e9 100644 --- a/imports/client/views/org/admin/students/index.js +++ b/imports/client/views/org/admin/students/index.js @@ -26,16 +26,14 @@ const meteorTick = (props, onData) => { const user = Users.current(); const org = Orgs.current(); students = Users.find({"role":"STUDENT"}).fetch() ? Users.find({"role":"STUDENT"}).fetch() : ""; - console.log(students); studentData = Students.find().fetch() ? Students.find().fetch() : ""; - var mergedData; - console.log(studentData); - for(var i=0; i< students.length; i++){ - for(var j=0; j< studentData.length; j++){ - if(students[i]._id == studentData[j].userId && studentData[j].admissionId){ - students[i].admissionId = studentData[j].admissionId; - students[i].class = studentData[j].class; - students[i].dob = studentData[j].dob; + for(var i=0; i< studentData.length; i++){ + for(var j=0; j< students.length; j++){ + if(studentData[i].userId == students[j]._id && studentData[i].admissionId){ + studentData[i].firstName = students[j].firstName; + studentData[i].lastName = students[j].lastName; + }else{ + } } } @@ -43,7 +41,6 @@ const meteorTick = (props, onData) => { data: { user: user, org: org, - students: students, studentData: studentData }, }); diff --git a/imports/client/views/org/admin/students/view/StudentTable.js b/imports/client/views/org/admin/students/view/StudentTable.js index 8f21ff2..5f331fa 100644 --- a/imports/client/views/org/admin/students/view/StudentTable.js +++ b/imports/client/views/org/admin/students/view/StudentTable.js @@ -56,6 +56,9 @@ export class StudentTable extends Component { } render() { + studentData = this.props.studentData; + console.log("this.props.studentData"); + console.log(this.props.studentData); return (
@@ -67,8 +70,8 @@ export class StudentTable extends Component {
- - Admission Id + + Admission Id First Name Last Name Class diff --git a/imports/client/views/org/app/module/AppLayout.js b/imports/client/views/org/app/module/AppLayout.js index 6c99d2c..94d9cb0 100644 --- a/imports/client/views/org/app/module/AppLayout.js +++ b/imports/client/views/org/app/module/AppLayout.js @@ -11,9 +11,9 @@ import { Navbar,Modal, Nav, NavItem, Glyphicon, Collapse, NavbarToggler, NavbarBrand, NavLink, DropdownItem, DropdownToggle, DropdownMenu, - NavDropdown, MenuItem, Breadcrumb } from 'react-bootstrap'; + NavDropdown, MenuItem, Breadcrumb } from 'react-bootstrap'; import { VerifyModule } from '/imports/client/views/verify/module/index' -import { AdminAppLayout } from '/imports/client/views/org/admin/AdminLayout' +import { AdminAppLayout } from '/imports/client/views/org/admin/AdminLayout' var Accordion = require('react-bootstrap').Accordion; var Panel = require('react-bootstrap').Panel; @@ -21,7 +21,6 @@ export class AppLayout extends Component { render() { const {user, org} = this.props.data; - if(!user) { return ( ); - } - if(!user.isEmailVerified()) { + }else if(!user.isEmailVerified()) { return ( ); - } - if(user.role==='ADMIN'){ + }else if(user.role==='ADMIN'){ return( ); + }else{ + return ( + null + ); } - - return ( - null - ); }; }; diff --git a/imports/client/views/org/enter/ForgotPane.js b/imports/client/views/org/enter/ForgotPane.js index 47292ac..dee08ad 100644 --- a/imports/client/views/org/enter/ForgotPane.js +++ b/imports/client/views/org/enter/ForgotPane.js @@ -13,7 +13,7 @@ export class ForgotPane extends React.Component { render() { return ( - +