Initial commit. Modified the Meteor todos app to create the Petit Teton data tracking app. Has working data for sales. Requires a Mongo database.

This commit is contained in:
Wynne Crisman
2017-01-15 11:33:37 -08:00
commit b757595cd6
104 changed files with 26824 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
import { AccountsTemplates } from 'meteor/useraccounts:core';
AccountsTemplates.configure({
forbidClientAccountCreation: true,
showForgotPasswordLink: true,
defaultTemplate: 'atForm',
defaultLayout: 'Full',
defaultContentRegion: 'content',
defaultLayoutRegions: {}
// defaultTemplate: 'Auth_page',
// defaultLayout: 'Body',
// defaultContentRegion: 'content',
// defaultLayoutRegions: {}
});
// This removes the password field but returns it,
// so that you can re-add it later, preserving the
// desired order of the fields
// let pwd = AccountsTemplates.removeField('password');
// AccountsTemplates.removeField('email');
// AccountsTemplates.addFields([
// {
// _id: "username",
// type: "text",
// displayName: "username",
// required: true,
// minLength: 5,
// },
// pwd
// ]);
let pwd = AccountsTemplates.removeField('password');
AccountsTemplates.removeField('email');
AccountsTemplates.addFields([
{
_id: "username",
type: "text",
displayName: "username",
required: true,
minLength: 5,
},
{
_id: 'email',
type: 'email',
required: true,
displayName: "email",
re: /.+@(.+){2,}\.(.+){2,}/,
errStr: 'Invalid email',
},
pwd
]);
AccountsTemplates.configureRoute('signIn', {
name: 'signin',
path: '/signin'
});
// AccountsTemplates.configureRoute('signUp', {
// name: 'join',
// path: '/join'
// });
AccountsTemplates.configureRoute('forgotPwd');
AccountsTemplates.configureRoute('resetPwd', {
name: 'resetPwd',
path: '/reset-password',
});

View File

@@ -0,0 +1 @@
import './accounts.js';

View File

@@ -0,0 +1 @@
import './routes.js';

View File

@@ -0,0 +1,80 @@
//Look in /libs/startup/both/useraccounts.js for the login/logout/signup routing.
let pri = FlowRouter.group({
triggersEnter: [AccountsTemplates.ensureSignedIn]
});
pri.route('/', {
triggersEnter: [function(context, redirect) {redirect("/sales");}]
});
pri.route('/menu', {
name: 'Menu',
action: function(params, queryParams) {
require("/imports/ui/Menu.js");
BlazeLayout.render('Body', {content: 'Menu'});
}
});
pri.route('/admin', {
name: 'UserManager',
action: function(params, queryParams) {
require("/imports/ui/UserManager.js");
BlazeLayout.render('Body', {content: 'UserManager'});
}
});
pri.route('/measures', {
name: 'Measures',
action: function(params, queryParams) {
require("/imports/ui/Measures.js");
BlazeLayout.render('Body', {content: 'Measures'});
}
});
pri.route('/products', {
name: 'Products',
action: function(params, queryParams) {
require("/imports/ui/Products.js");
BlazeLayout.render('Body', {content: 'Products'});
}
});
pri.route('/productTags', {
name: 'ProductTags',
action: function(params, queryParams) {
require("/imports/ui/ProductTags.js");
BlazeLayout.render('Body', {content: 'ProductTags'});
}
});
// pri.route('/subcategories', {
// name: 'Items',
// action: function(params, queryParams) {
// require("/imports/ui/Subcategories.js");
// BlazeLayout.render('Body', {content: 'Subcategories'});
// }
// });
pri.route('/userManagement', {
name: 'UserManagement',
action: function(params, queryParams) {
require("/imports/ui/UserManagement.js");
BlazeLayout.render('Body', {content: 'UserManagement'});
}
});
pri.route('/sales', {
name: 'Sales',
action: function(params, queryParams) {
require("/imports/ui/Sales.js");
BlazeLayout.render('Body', {content: 'Sales'});
}
});
pri.route('/production', {
name: 'Production',
action: function(params, queryParams) {
require("/imports/ui/Production.js");
BlazeLayout.render('Body', {content: 'Production'});
}
});
pri.route('/pricing', {
name: 'Pricing',
action: function(params, queryParams) {
require("/imports/ui/Pricing.js");
BlazeLayout.render('Body', {content: 'Pricing'});
}
});

View File

@@ -0,0 +1,12 @@
Accounts.emailTemplates.from = "Do Not Reply <administrator@declarativeengineering.com>";
Accounts.emailTemplates.siteName = "Petit Teton App";
// Accounts.emailTemplates.verifyEmail.subject = function (user) {
// return "Welcome to My Site! Please verify your email";
// };
//
// Accounts.emailTemplates.verifyEmail.html = function (user, url) {
// return "Hi " + user.profile.firstName + " " + user.profile.lastName + ",\n\n" +
// " Please verify your email by simply clicking the link below:\n\n" +
// url;
// };

View File

@@ -0,0 +1 @@
import "./email.js"

View File

@@ -0,0 +1,33 @@
let AppVersion = new Mongo.Collection('AppVersion');
let AppVersionSchema = new SimpleSchema({
version: {
type: Number,
optional: false,
defaultValue: 0
}
});
AppVersion.attachSchema(AppVersionSchema);
try {
let appVersions = AppVersion.find({}).fetch();
let appVersion;
if(!appVersions || appVersions.length == 0) { //This will happen only when first creating a database.
appVersion = {version: 0};
appVersion._id = AppVersion.insert(appVersion);
}
else if(appVersions.length > 1) { //This should never happen. Remove all but the first app version.
for(let i = 1; i < appVersions.length; i++) {
AppVersion.remove(appVersions[i]._id);
}
}
else {
appVersion = appVersions[0];
}
}
catch(err) {
console.log("Caught an error while upgrading the app version: " + err);
process.exit(1);
}