Blame view

imports/client/app/routes.js 3.92 KB
c42d4eeac   themeteorchef   handful of changes
1
  /* eslint-disable max-len */
b48d5cb1c   Deepak   added css
2
3
4
5
6
  import React                                from 'react';
  import { render }                           from 'react-dom';
  import { Router, Route,
    IndexRoute, browserHistory }              from 'react-router';
  import { Meteor }                           from 'meteor/meteor';
48c0461d6   Deepak   some more file re...
7
8
9
10
  
  /**
   * General Components
   */
b48d5cb1c   Deepak   added css
11
  import Index                                from '/imports/client/views/app/module/Index';
48c0461d6   Deepak   some more file re...
12
13
14
15
  
  /**
   * Org Components
   */
c4d3e07d0   Deepak   added login/reset...
16
  import { App }                              from '/imports/client/layouts/OrgApp';
39d8f536d   Deepak   some more cleamup
17
  import { AppModule }                        from '/imports/client/views/org/app/module/Index';
b48d5cb1c   Deepak   added css
18
  import { Orgs }                             from '/imports/collections/orgs/index';
13ef5ba8c   Deepak   added a form samp...
19
  import { importCsvController }              from '/imports/client/views/org/importCsv/index'
d0099dd88   Deepak   student detail pa...
20
21
  //admin
  import { StudentDataController }            from '/imports/client/views/org/admin/students/index'
13ef5ba8c   Deepak   added a form samp...
22

39d8f536d   Deepak   some more cleamup
23
  import NotFound                             from '/imports/client/views/org/NotFound';
6be49625f   Deepak   created route def...
24

48c0461d6   Deepak   some more file re...
25
26
27
  /**
   * NonOrg Components
   */
b48d5cb1c   Deepak   added css
28
  import Signup                               from '/imports/client/views/nonOrg/enter/SignupView';
48c0461d6   Deepak   some more file re...
29
30
31
32
  
  /**
   * Invalid Org Components
   */
4c9b3dfc1   themeteorchef   cleaning up
33
  const authenticate = (nextState, replace) => {
cac7cbc73   tmcdeveloper   4.1.0 release
34
    if (!Meteor.loggingIn() && !Meteor.userId()) {
2b1ad7917   tmcdeveloper   wip moving to Met...
35
36
      replace({
        pathname: '/login',
cac7cbc73   tmcdeveloper   4.1.0 release
37
        state: { nextPathname: nextState.location.pathname },
2b1ad7917   tmcdeveloper   wip moving to Met...
38
39
40
      });
    }
  };
cc8fd8a94   Deepak   Moved all files t...
41

48c0461d6   Deepak   some more file re...
42
  const detectOrg = () => {
6be49625f   Deepak   created route def...
43
    orgSlug = "";
ff976df49   Deepak   added orgs public...
44
45
46
    var hostnameArray = document.location.hostname.split( "." );
    if(hostnameArray[1]=='localhost'){
      orgSlug = hostnameArray[0];
6be49625f   Deepak   created route def...
47
48
49
    }
    if(orgSlug!=""){
      Meteor.call('checkExistingOrg', {slug:orgSlug}, function(err, res) {
cc8fd8a94   Deepak   Moved all files t...
50
        if(res){
b7054c9b2   Deepak   added specific or...
51
          Session.set('orgId', res._id);
c4d3e07d0   Deepak   added login/reset...
52
          Session.set('orgSlug', orgSlug);
48c0461d6   Deepak   some more file re...
53
          render(getOrgRoutes(),document.getElementById('app'));
6be49625f   Deepak   created route def...
54
        }else{
48c0461d6   Deepak   some more file re...
55
          render(getInvalidOrgRoute(),document.getElementById('app'));
6be49625f   Deepak   created route def...
56
57
        }
      });
ff976df49   Deepak   added orgs public...
58
    }else{
48c0461d6   Deepak   some more file re...
59
      render(getNonOrgRoutes(),document.getElementById('app'));
ff976df49   Deepak   added orgs public...
60
    }
ff976df49   Deepak   added orgs public...
61
  }
6be49625f   Deepak   created route def...
62
63
  const checkSlug = (nextState, replace) => {
    orgId = Session.get('orgId');
6be49625f   Deepak   created route def...
64
  }
cc8fd8a94   Deepak   Moved all files t...
65
66
67
68
69
70
71
  
  /**
  There are three types of routes
  1)getOrgRoutes: all the routes that should be present for a registered org
  2)getInvalidOrgRoute: all the routes where someone tries to enter a subdomain which hasn't been registered yet (404 mostly :D)
  3)getNonOrgRoutes: all routes linked to normal site, ie signing up a new org. CHeking out demo and everything internal
  **/
6be49625f   Deepak   created route def...
72
73
74
  const getOrgRoutes = () => (
    <Router history={ browserHistory }>
      <Route path="/"                                                           component={ App }>
39d8f536d   Deepak   some more cleamup
75
        <IndexRoute name="index"                                                component={ AppModule } />
13ef5ba8c   Deepak   added a form samp...
76
        <Route name="import"            path="/import"                          component={ importCsvController } />
d0099dd88   Deepak   student detail pa...
77
        <Route name="student"            path="/students"                       component={ StudentDataController } />
6be49625f   Deepak   created route def...
78
79
80
81
        <Route path="*"                                                         component={ NotFound } />
      </Route>
    </Router>
  )
cc8fd8a94   Deepak   Moved all files t...
82

b48d5cb1c   Deepak   added css
83

cc8fd8a94   Deepak   Moved all files t...
84
  const getInvalidOrgRoute = () => (
6be49625f   Deepak   created route def...
85
86
    <Router history={ browserHistory }>
      <Route path="/"                                                           component={ App }>
cc8fd8a94   Deepak   Moved all files t...
87
        <IndexRoute name="index"                                                component={ NotFound } />
6be49625f   Deepak   created route def...
88
89
90
91
        <Route path="*"                                                         component={ NotFound } />
      </Route>
    </Router>
  )
ff976df49   Deepak   added orgs public...
92

cc8fd8a94   Deepak   Moved all files t...
93
  const getNonOrgRoutes = () => (
6be49625f   Deepak   created route def...
94
95
    <Router history={ browserHistory }>
      <Route path="/"                                                           component={ App }>
39d8f536d   Deepak   some more cleamup
96
        <IndexRoute name="index"                                                component={ Index } />
cc8fd8a94   Deepak   Moved all files t...
97
        <Route name="signup"            path="/signup"                          component={ Signup } />
6be49625f   Deepak   created route def...
98
99
100
101
        <Route path="*"                                                         component={ NotFound } />
      </Route>
    </Router>
  )
2b1ad7917   tmcdeveloper   wip moving to Met...
102

27ed00b55   Deepak Jha   test
103

6be49625f   Deepak   created route def...
104
105
  Meteor.startup(() => {
    detectOrg();
2b1ad7917   tmcdeveloper   wip moving to Met...
106
  });