From e06e53e5bd7c97a6091f59afe1fa575e5dc2b846 Mon Sep 17 00:00:00 2001 From: Martin Donnelly Date: Wed, 6 Apr 2016 16:53:06 +0100 Subject: [PATCH] whats wrong? --- .bowerrc | 4 + .editorconfig | 26 ++ .ember-cli | 9 + .gitignore | 192 ++++++++++ .jscsrc | 46 +++ .jshintrc | 33 ++ .travis.yml | 23 ++ .watchmanconfig | 3 + README.md | 58 +++ app/adapters/application.js | 6 + app/adapters/company.js | 5 + app/adapters/newcompany.js | 5 + app/adapters/page.js | 5 + app/adapters/profile.js | 5 + app/app.js | 20 + app/authenticators/oauth2.js | 10 + app/authorizers/application.js | 13 + app/components/.gitkeep | 0 app/components/nav-bar.js | 17 + app/components/page-manager.js | 7 + app/components/side-bar.js | 4 + app/controllers/.gitkeep | 0 app/controllers/application.js | 9 + app/controllers/company.js | 29 ++ app/controllers/login.js | 20 + app/controllers/newcompany.js | 24 ++ app/controllers/pages.js | 41 +++ app/controllers/profile.js | 24 ++ app/helpers/.gitkeep | 0 app/helpers/eq.js | 9 + app/index.html | 25 ++ app/models/.gitkeep | 0 app/models/account.js | 14 + app/models/application.js | 5 + app/models/company.js | 20 + app/models/newcompany.js | 19 + app/models/page-content.js | 32 ++ app/models/page.js | 38 ++ app/models/profile.js | 19 + app/resolver.js | 3 + app/router.js | 21 ++ app/routes/.gitkeep | 0 app/routes/about.js | 4 + app/routes/application.js | 18 + app/routes/auth-error.js | 8 + app/routes/company.js | 33 ++ app/routes/index.js | 4 + app/routes/login.js | 6 + app/routes/newcompany.js | 23 ++ app/routes/pages.js | 17 + app/routes/profile.js | 18 + app/routes/signup.js | 4 + app/routes/venue.js | 12 + app/serializers/useful.js | 37 ++ app/services/session-account.js | 24 ++ app/styles/app.scss | 59 +++ app/styles/profile.scss | 22 ++ app/styles/side-bar.scss | 341 ++++++++++++++++++ app/styles/signin.scss | 42 +++ app/templates/about.hbs | 6 + app/templates/application.hbs | 14 + app/templates/auth-error.hbs | 1 + app/templates/company.hbs | 156 ++++++++ app/templates/components/.gitkeep | 0 app/templates/components/nav-bar.hbs | 52 +++ app/templates/components/page-manager.hbs | 29 ++ app/templates/components/side-bar.hbs | 65 ++++ app/templates/index.hbs | 15 + app/templates/login.hbs | 40 ++ app/templates/newcompany.hbs | 62 ++++ app/templates/pages.hbs | 156 ++++++++ app/templates/profile.hbs | 143 ++++++++ app/templates/signup.hbs | 1 + app/templates/venue.hbs | 1 + bower.json | 13 + config/environment.js | 52 +++ ember-cli-build.js | 25 ++ package.json | 67 ++++ public/crossdomain.xml | 15 + public/images/skyview.jpg | Bin 0 -> 272695 bytes public/robots.txt | 3 + server/.jshintrc | 3 + server/index.js | 37 ++ server/mocks/accounts.js | 35 ++ server/mocks/companies.js | 86 +++++ server/mocks/jade/type0.jade | 32 ++ server/mocks/newcompanies.js | 83 +++++ server/mocks/pages.js | 109 ++++++ server/mocks/profiles.js | 113 ++++++ server/mocks/static/css/obrand.css | 9 + server/mocks/token.js | 84 +++++ server/units/db-accounts.js | 204 +++++++++++ server/units/db-company.js | 115 ++++++ server/units/db-connector.js | 21 ++ server/units/db-pages.js | 72 ++++ server/units/md-errors.js | 38 ++ testem.js | 13 + tests/.jshintrc | 53 +++ tests/helpers/destroy-app.js | 5 + tests/helpers/module-for-acceptance.js | 23 ++ tests/helpers/resolver.js | 11 + tests/helpers/start-app.js | 18 + tests/index.html | 34 ++ tests/integration/.gitkeep | 0 tests/integration/components/nav-bar-test.js | 24 ++ .../components/page-manager-test.js | 24 ++ tests/integration/components/side-bar-test.js | 24 ++ tests/test-helper.js | 6 + tests/unit/.gitkeep | 0 tests/unit/adapters/application-test.js | 12 + tests/unit/adapters/company-test.js | 12 + tests/unit/adapters/newcompany-test.js | 12 + tests/unit/adapters/page-test.js | 12 + tests/unit/adapters/profile-test.js | 12 + tests/unit/controllers/application-test.js | 12 + tests/unit/controllers/company-test.js | 12 + tests/unit/controllers/login-test.js | 12 + tests/unit/controllers/newcompany-test.js | 12 + tests/unit/controllers/pages-test.js | 12 + tests/unit/controllers/profile-test.js | 12 + tests/unit/helpers/eq-test.js | 10 + tests/unit/models/account-test.js | 12 + tests/unit/models/application-test.js | 12 + tests/unit/models/company-test.js | 12 + tests/unit/models/newcompany-test.js | 12 + tests/unit/models/page-content-test.js | 12 + tests/unit/models/page-test.js | 12 + tests/unit/models/profile-test.js | 12 + tests/unit/routes/about-test.js | 11 + tests/unit/routes/application-test.js | 12 + tests/unit/routes/auth-error-test.js | 11 + tests/unit/routes/company-test.js | 11 + tests/unit/routes/index-test.js | 11 + tests/unit/routes/login-test.js | 11 + tests/unit/routes/newcompany-test.js | 11 + tests/unit/routes/pages-test.js | 11 + tests/unit/routes/profile-test.js | 11 + tests/unit/routes/signup-test.js | 11 + tests/unit/routes/venue-test.js | 11 + tests/unit/serializers/useful-test.js | 15 + tests/unit/services/session-account-test.js | 12 + vendor/.gitkeep | 0 142 files changed, 4082 insertions(+) create mode 100644 .bowerrc create mode 100644 .editorconfig create mode 100644 .ember-cli create mode 100644 .gitignore create mode 100644 .jscsrc create mode 100644 .jshintrc create mode 100644 .travis.yml create mode 100644 .watchmanconfig create mode 100644 README.md create mode 100644 app/adapters/application.js create mode 100644 app/adapters/company.js create mode 100644 app/adapters/newcompany.js create mode 100644 app/adapters/page.js create mode 100644 app/adapters/profile.js create mode 100644 app/app.js create mode 100644 app/authenticators/oauth2.js create mode 100644 app/authorizers/application.js create mode 100644 app/components/.gitkeep create mode 100644 app/components/nav-bar.js create mode 100644 app/components/page-manager.js create mode 100644 app/components/side-bar.js create mode 100644 app/controllers/.gitkeep create mode 100644 app/controllers/application.js create mode 100644 app/controllers/company.js create mode 100644 app/controllers/login.js create mode 100644 app/controllers/newcompany.js create mode 100644 app/controllers/pages.js create mode 100644 app/controllers/profile.js create mode 100644 app/helpers/.gitkeep create mode 100644 app/helpers/eq.js create mode 100644 app/index.html create mode 100644 app/models/.gitkeep create mode 100644 app/models/account.js create mode 100644 app/models/application.js create mode 100644 app/models/company.js create mode 100644 app/models/newcompany.js create mode 100644 app/models/page-content.js create mode 100644 app/models/page.js create mode 100644 app/models/profile.js create mode 100644 app/resolver.js create mode 100644 app/router.js create mode 100644 app/routes/.gitkeep create mode 100644 app/routes/about.js create mode 100644 app/routes/application.js create mode 100644 app/routes/auth-error.js create mode 100644 app/routes/company.js create mode 100644 app/routes/index.js create mode 100644 app/routes/login.js create mode 100644 app/routes/newcompany.js create mode 100644 app/routes/pages.js create mode 100644 app/routes/profile.js create mode 100644 app/routes/signup.js create mode 100644 app/routes/venue.js create mode 100644 app/serializers/useful.js create mode 100644 app/services/session-account.js create mode 100644 app/styles/app.scss create mode 100644 app/styles/profile.scss create mode 100644 app/styles/side-bar.scss create mode 100644 app/styles/signin.scss create mode 100644 app/templates/about.hbs create mode 100644 app/templates/application.hbs create mode 100644 app/templates/auth-error.hbs create mode 100644 app/templates/company.hbs create mode 100644 app/templates/components/.gitkeep create mode 100644 app/templates/components/nav-bar.hbs create mode 100644 app/templates/components/page-manager.hbs create mode 100644 app/templates/components/side-bar.hbs create mode 100644 app/templates/index.hbs create mode 100644 app/templates/login.hbs create mode 100644 app/templates/newcompany.hbs create mode 100644 app/templates/pages.hbs create mode 100644 app/templates/profile.hbs create mode 100644 app/templates/signup.hbs create mode 100644 app/templates/venue.hbs create mode 100644 bower.json create mode 100644 config/environment.js create mode 100644 ember-cli-build.js create mode 100644 package.json create mode 100644 public/crossdomain.xml create mode 100644 public/images/skyview.jpg create mode 100644 public/robots.txt create mode 100644 server/.jshintrc create mode 100644 server/index.js create mode 100644 server/mocks/accounts.js create mode 100644 server/mocks/companies.js create mode 100644 server/mocks/jade/type0.jade create mode 100644 server/mocks/newcompanies.js create mode 100644 server/mocks/pages.js create mode 100644 server/mocks/profiles.js create mode 100644 server/mocks/static/css/obrand.css create mode 100644 server/mocks/token.js create mode 100644 server/units/db-accounts.js create mode 100644 server/units/db-company.js create mode 100644 server/units/db-connector.js create mode 100644 server/units/db-pages.js create mode 100644 server/units/md-errors.js create mode 100644 testem.js create mode 100644 tests/.jshintrc create mode 100644 tests/helpers/destroy-app.js create mode 100644 tests/helpers/module-for-acceptance.js create mode 100644 tests/helpers/resolver.js create mode 100644 tests/helpers/start-app.js create mode 100644 tests/index.html create mode 100644 tests/integration/.gitkeep create mode 100644 tests/integration/components/nav-bar-test.js create mode 100644 tests/integration/components/page-manager-test.js create mode 100644 tests/integration/components/side-bar-test.js create mode 100644 tests/test-helper.js create mode 100644 tests/unit/.gitkeep create mode 100644 tests/unit/adapters/application-test.js create mode 100644 tests/unit/adapters/company-test.js create mode 100644 tests/unit/adapters/newcompany-test.js create mode 100644 tests/unit/adapters/page-test.js create mode 100644 tests/unit/adapters/profile-test.js create mode 100644 tests/unit/controllers/application-test.js create mode 100644 tests/unit/controllers/company-test.js create mode 100644 tests/unit/controllers/login-test.js create mode 100644 tests/unit/controllers/newcompany-test.js create mode 100644 tests/unit/controllers/pages-test.js create mode 100644 tests/unit/controllers/profile-test.js create mode 100644 tests/unit/helpers/eq-test.js create mode 100644 tests/unit/models/account-test.js create mode 100644 tests/unit/models/application-test.js create mode 100644 tests/unit/models/company-test.js create mode 100644 tests/unit/models/newcompany-test.js create mode 100644 tests/unit/models/page-content-test.js create mode 100644 tests/unit/models/page-test.js create mode 100644 tests/unit/models/profile-test.js create mode 100644 tests/unit/routes/about-test.js create mode 100644 tests/unit/routes/application-test.js create mode 100644 tests/unit/routes/auth-error-test.js create mode 100644 tests/unit/routes/company-test.js create mode 100644 tests/unit/routes/index-test.js create mode 100644 tests/unit/routes/login-test.js create mode 100644 tests/unit/routes/newcompany-test.js create mode 100644 tests/unit/routes/pages-test.js create mode 100644 tests/unit/routes/profile-test.js create mode 100644 tests/unit/routes/signup-test.js create mode 100644 tests/unit/routes/venue-test.js create mode 100644 tests/unit/serializers/useful-test.js create mode 100644 tests/unit/services/session-account-test.js create mode 100644 vendor/.gitkeep diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 0000000..959e169 --- /dev/null +++ b/.bowerrc @@ -0,0 +1,4 @@ +{ + "directory": "bower_components", + "analytics": false +} diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..62d7dde --- /dev/null +++ b/.editorconfig @@ -0,0 +1,26 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + +root = true + + +[*] +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +indent_style = space +indent_size = 2 + +[*.{js,json,hbs,html,css}] +indent_style = space +indent_size = 2 + +[*.hbs] +insert_final_newline = false + +[*.{diff,md}] +indent_size = 2 +trim_trailing_whitespace = false + diff --git a/.ember-cli b/.ember-cli new file mode 100644 index 0000000..ee64cfe --- /dev/null +++ b/.ember-cli @@ -0,0 +1,9 @@ +{ + /** + Ember CLI sends analytics information by default. The data is completely + anonymous, but there are times when you might want to disable this behavior. + + Setting `disableAnalytics` to true will prevent any data from being sent. + */ + "disableAnalytics": false +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ef97c36 --- /dev/null +++ b/.gitignore @@ -0,0 +1,192 @@ +### Archives template +# It's better to unpack these files and commit the raw source because +# git has its own built in compression methods. +*.7z +*.jar +*.rar +*.zip +*.gz +*.bzip +*.bz2 +*.xz +*.lzma +*.cab + +#packing-only formats +*.iso +*.tar + +#package management formats +*.dmg +*.xpi +*.gem +*.egg +*.deb +*.rpm +*.msi +*.msm +*.msp +### Windows template +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msm +*.msp + +# Windows shortcuts +*.lnk +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio + +*.iml + +## Directory-based project format: +.idea/ +# if you remove the above rule, at least ignore the following: + +# User-specific stuff: +# .idea/workspace.xml +# .idea/tasks.xml +# .idea/dictionaries + +# Sensitive or high-churn files: +# .idea/dataSources.ids +# .idea/dataSources.xml +# .idea/sqlDataSources.xml +# .idea/dynamic.xml +# .idea/uiDesigner.xml + +# Gradle: +# .idea/gradle.xml +# .idea/libraries + +# Mongo Explorer plugin: +# .idea/mongoSettings.xml + +## File-based project format: +*.ipr +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +### Xcode template +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## Build generated +build/ +DerivedData + +## Various settings +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata + +## Other +*.xccheckout +*.moved-aside +*.xcuserstate +### OSX template +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk +### Node template +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directory +# https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git +node_modules + +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp + +# dependencies +/node_modules +/bower_components + +# misc +/.sass-cache +/connect.lock +/coverage/* +/libpeerconnection.log +npm-debug.log +testem.log +/.cache +/.gradle diff --git a/.jscsrc b/.jscsrc new file mode 100644 index 0000000..acd4f65 --- /dev/null +++ b/.jscsrc @@ -0,0 +1,46 @@ +{ + "disallowKeywords": ["with"], + "disallowKeywordsOnNewLine": ["else"], + "disallowMixedSpacesAndTabs": true, + "disallowMultipleVarDecl": "exceptUndefined", + "disallowNewlineBeforeBlockStatements": true, + "disallowQuotedKeysInObjects": true, + "disallowSpaceAfterObjectKeys": true, + "disallowSpaceAfterPrefixUnaryOperators": true, + "disallowSpacesInFunction": { + "beforeOpeningRoundBrace": true + }, + "disallowSpacesInsideParentheses": true, + "disallowTrailingWhitespace": true, + "maximumLineLength": 120, + "requireCamelCaseOrUpperCaseIdentifiers": false, + "requireCapitalizedComments": true, + "requireCapitalizedConstructors": true, + "requireCurlyBraces": true, + "requireSpaceAfterKeywords": [ + "if", + "else", + "for", + "while", + "do", + "switch", + "case", + "return", + "try", + "catch", + "typeof" + ], + "requireSpaceAfterLineComment": true, + "requireSpaceAfterBinaryOperators": true, + "requireSpaceBeforeBinaryOperators": true, + "requireSpaceBeforeBlockStatements": true, + "requireSpaceBeforeObjectValues": true, + "requireSpacesInFunction": { + "beforeOpeningCurlyBrace": true + }, + "requireTrailingComma": false, + "requireEarlyReturn": true, + "validateIndentation": 2, + "validateLineBreaks": "LF", + "validateQuoteMarks": "'" +} diff --git a/.jshintrc b/.jshintrc new file mode 100644 index 0000000..2f30d16 --- /dev/null +++ b/.jshintrc @@ -0,0 +1,33 @@ +{ + "predef": [ + "server", + "document", + "window", + "-Promise" + ], + "browser": true, + "boss": true, + "curly": true, + "debug": false, + "devel": true, + "eqeqeq": true, + "evil": true, + "forin": false, + "immed": false, + "laxbreak": false, + "newcap": true, + "noarg": true, + "noempty": false, + "nonew": false, + "nomen": false, + "onevar": false, + "plusplus": false, + "regexp": false, + "undef": true, + "sub": true, + "strict": false, + "white": false, + "eqnull": true, + "esnext": true, + "unused": true +} diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..66dd107 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,23 @@ +--- +language: node_js +node_js: + - "0.12" + +sudo: false + +cache: + directories: + - node_modules + +before_install: + - export PATH=/usr/local/phantomjs-2.0.0/bin:$PATH + - "npm config set spin false" + - "npm install -g npm@^2" + +install: + - npm install -g bower + - npm install + - bower install + +script: + - npm test diff --git a/.watchmanconfig b/.watchmanconfig new file mode 100644 index 0000000..9b3c56d --- /dev/null +++ b/.watchmanconfig @@ -0,0 +1,3 @@ +{ + "ignore_dirs": ["tmp", "dist", "static"] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..4f1f52e --- /dev/null +++ b/README.md @@ -0,0 +1,58 @@ +# Obrand-admin + +This README outlines the details of collaborating on this Ember application. +A short introduction of this app could easily go here. + +## Prerequisites + +You will need the following things properly installed on your computer. + +* [Git](http://git-scm.com/) +* [Node.js](http://nodejs.org/) (with NPM) +* [Bower](http://bower.io/) +* [Ember CLI](http://www.ember-cli.com/) +* [PhantomJS](http://phantomjs.org/) + +## Installation + +* `git clone ` this repository +* change into the new directory +* `npm install` +* `bower install` + +## Running / Development + +* `ember server` +* Visit your app at [http://localhost:4200](http://localhost:4200). + +### Code Generators + +Make use of the many generators for code, try `ember help generate` for more details + +### Running Tests + +* `ember test` +* `ember test --server` + +### Building + +* `ember build` (development) +* `ember build --environment production` (production) + +### Deploying + +To build do the following: + +* `ember build --environtment production` +* copy the contents into the wwwroot folder of obrand-admin-server +* deploy obrand-admin-server + + +## Further Reading / Useful Links + +* [ember.js](http://emberjs.com/) +* [ember-cli](http://www.ember-cli.com/) +* Development Browser Extensions + * [ember inspector for chrome](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi) + * [ember inspector for firefox](https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/) + diff --git a/app/adapters/application.js b/app/adapters/application.js new file mode 100644 index 0000000..57608e0 --- /dev/null +++ b/app/adapters/application.js @@ -0,0 +1,6 @@ +import DS from 'ember-data'; +import DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin'; + +export default DS.JSONAPIAdapter.extend(DataAdapterMixin, { + authorizer: 'authorizer:application' +}); diff --git a/app/adapters/company.js b/app/adapters/company.js new file mode 100644 index 0000000..8b969b9 --- /dev/null +++ b/app/adapters/company.js @@ -0,0 +1,5 @@ +import ApplicationAdapter from './application'; + +export default ApplicationAdapter.extend({ + namespace: 'api' +}); diff --git a/app/adapters/newcompany.js b/app/adapters/newcompany.js new file mode 100644 index 0000000..8b969b9 --- /dev/null +++ b/app/adapters/newcompany.js @@ -0,0 +1,5 @@ +import ApplicationAdapter from './application'; + +export default ApplicationAdapter.extend({ + namespace: 'api' +}); diff --git a/app/adapters/page.js b/app/adapters/page.js new file mode 100644 index 0000000..8b969b9 --- /dev/null +++ b/app/adapters/page.js @@ -0,0 +1,5 @@ +import ApplicationAdapter from './application'; + +export default ApplicationAdapter.extend({ + namespace: 'api' +}); diff --git a/app/adapters/profile.js b/app/adapters/profile.js new file mode 100644 index 0000000..8b969b9 --- /dev/null +++ b/app/adapters/profile.js @@ -0,0 +1,5 @@ +import ApplicationAdapter from './application'; + +export default ApplicationAdapter.extend({ + namespace: 'api' +}); diff --git a/app/app.js b/app/app.js new file mode 100644 index 0000000..8c7dff6 --- /dev/null +++ b/app/app.js @@ -0,0 +1,20 @@ +import Ember from 'ember'; +import Resolver from './resolver'; +import loadInitializers from 'ember-load-initializers'; +import config from './config/environment'; + +let App; + +Ember.MODEL_FACTORY_INJECTIONS = true; +Ember.LOG_TRANSITIONS = true; +Ember.LOG_TRANSITIONS_INTERNAL = true; + +App = Ember.Application.extend({ + modulePrefix: config.modulePrefix, + podModulePrefix: config.podModulePrefix, + Resolver +}); + +loadInitializers(App, config.modulePrefix); + +export default App; diff --git a/app/authenticators/oauth2.js b/app/authenticators/oauth2.js new file mode 100644 index 0000000..842fe39 --- /dev/null +++ b/app/authenticators/oauth2.js @@ -0,0 +1,10 @@ +/** + * + * User: Martin Donnelly + * Date: 2016-03-04 + * Time: 14:23 + * + */ +import OAuth2PasswordGrant from 'ember-simple-auth/authenticators/oauth2-password-grant'; + +export default OAuth2PasswordGrant.extend(); diff --git a/app/authorizers/application.js b/app/authorizers/application.js new file mode 100644 index 0000000..3793c4f --- /dev/null +++ b/app/authorizers/application.js @@ -0,0 +1,13 @@ +/* +import Base from 'ember-simple-auth/authorizers/base'; + +export default Base.extend({ + authorize(/!*data, block*!/) { + } +}); +*/ + + +import OAuth2Bearer from 'ember-simple-auth/authorizers/oauth2-bearer'; + +export default OAuth2Bearer.extend(); diff --git a/app/components/.gitkeep b/app/components/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/components/nav-bar.js b/app/components/nav-bar.js new file mode 100644 index 0000000..4e6a404 --- /dev/null +++ b/app/components/nav-bar.js @@ -0,0 +1,17 @@ +import Ember from 'ember'; + +const { service } = Ember.inject; + +export default Ember.Component.extend({ + session: service('session'), sessionAccount: service('session-account'), + + actions: { + login() { + this.sendAction('onLogin'); + }, + + logout() { + this.get('session').invalidate(); + } + } +}); diff --git a/app/components/page-manager.js b/app/components/page-manager.js new file mode 100644 index 0000000..3ffcabb --- /dev/null +++ b/app/components/page-manager.js @@ -0,0 +1,7 @@ +import Ember from 'ember'; + +const { service } = Ember.inject; + +export default Ember.Component.extend({ + session: service('session'), sessionAccount: service('session-account') +}); diff --git a/app/components/side-bar.js b/app/components/side-bar.js new file mode 100644 index 0000000..926b613 --- /dev/null +++ b/app/components/side-bar.js @@ -0,0 +1,4 @@ +import Ember from 'ember'; + +export default Ember.Component.extend({ +}); diff --git a/app/controllers/.gitkeep b/app/controllers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/controllers/application.js b/app/controllers/application.js new file mode 100644 index 0000000..a4cd62e --- /dev/null +++ b/app/controllers/application.js @@ -0,0 +1,9 @@ +import Ember from 'ember'; + +export default Ember.Controller.extend({ + actions: { + transitionToLoginRoute() { + this.transitionToRoute('login'); + } + } +}); diff --git a/app/controllers/company.js b/app/controllers/company.js new file mode 100644 index 0000000..391a9e0 --- /dev/null +++ b/app/controllers/company.js @@ -0,0 +1,29 @@ +'use strict'; + +import Ember from 'ember'; +const {service} = Ember.inject; +export default Ember.Controller.extend({ + + session: service('session'), + sessionAccount: service('session-account'), + actions: { + editCompany: function() { + this.set('isEditing', true); + }, saveCompany: function() { + this.set('isEditing', false); + var model = this.get('model'); + + model.save() + .catch(function(err) { + console.error(err); + }); + + }, cancelEdit: function() { + var model = this.get('model'); + model.rollbackAttributes(); + this.set('isEditing', false); + + } + } + +}); diff --git a/app/controllers/login.js b/app/controllers/login.js new file mode 100644 index 0000000..cf092f5 --- /dev/null +++ b/app/controllers/login.js @@ -0,0 +1,20 @@ +import Ember from 'ember'; + +const { service } = Ember.inject; + +export default Ember.Controller.extend({ + session: service('session'), + + actions: { + authenticate() { + 'use strict'; + let {identification, password } = this.getProperties('identification', 'password'); + + this.get('session').authenticate('authenticator:oauth2', identification, password) + .catch((reason) => { + this.set('errorMessage', reason.error); + + }); + } + } +}); diff --git a/app/controllers/newcompany.js b/app/controllers/newcompany.js new file mode 100644 index 0000000..f0e0352 --- /dev/null +++ b/app/controllers/newcompany.js @@ -0,0 +1,24 @@ +'use strict'; +import Ember from 'ember'; +const { service } = Ember.inject; +export default Ember.Controller.extend({ + session: service('session'), + sessionAccount: service('session-account'), + actions: { + saveCompany: function() { + + var model = this.get('model'); + var account = this.get('sessionAccount.account'); + + model.set('uid', this.get('sessionAccount.account.uid')); + + model.save() + .then(function() { + account.set('memberof', model.get('cid')); + }) + .catch(function(err) { + console.error(err); + }); + } + } +}); diff --git a/app/controllers/pages.js b/app/controllers/pages.js new file mode 100644 index 0000000..c1b2184 --- /dev/null +++ b/app/controllers/pages.js @@ -0,0 +1,41 @@ +import Ember from 'ember'; +const { service , store } = Ember.inject; +export default Ember.Controller.extend({ + session: service('session'), + sessionAccount: service('session-account'), + + actions: { + savePage: function() { + + var model = this.get('model'); + + model.save() + .catch(function(err) { + console.error(err); + }); + + }, + + createNew: function() { + 'use strict'; + const cid = this.get('sessionAccount.account.memberof'); + + var store = this.get('store'); + + var newPage = store.createRecord('page',{cid: cid, + vid: 'JPnbDnRzwDSNLTCcS4miFq', content: 0, imageUrl: 'http://lorempixel.com/300/300'}); + + this.set('content',newPage); + + this.set('isEditing', true); + }, cancelEdit: function() { + var model = this.get('model'); + model.rollbackAttributes(); + + model = this.store.findAll('page'); + this.set('isEditing', false); + this.set('model', model); + + } + } +}); diff --git a/app/controllers/profile.js b/app/controllers/profile.js new file mode 100644 index 0000000..642a86e --- /dev/null +++ b/app/controllers/profile.js @@ -0,0 +1,24 @@ +'use strict'; +import Ember from 'ember'; +const { service } = Ember.inject; +export default Ember.Controller.extend({ + session: service('session'), + sessionAccount: service('session-account'), + genders: [{g: 'Male', id: 0}, {g: 'Female', id: 1}], + actions: { + editProfile: function() { + this.set('isEditing', true); + }, saveProfile: function() { + + var model = this.get('model'); + this.set('sessionAccount.account.forename', model.get('forename')); + + this.model.save() + .catch(function(err) { + console.error(err); + }); + this.set('isEditing', false); + + } + } +}); diff --git a/app/helpers/.gitkeep b/app/helpers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/helpers/eq.js b/app/helpers/eq.js new file mode 100644 index 0000000..e9c23d2 --- /dev/null +++ b/app/helpers/eq.js @@ -0,0 +1,9 @@ +import Ember from 'ember'; + +/*export function eq(params/!*, hash*!/) { + return params; +}*/ + +const eq = (params) => params[0] === params[1]; + +export default Ember.Helper.helper(eq); diff --git a/app/index.html b/app/index.html new file mode 100644 index 0000000..33f302b --- /dev/null +++ b/app/index.html @@ -0,0 +1,25 @@ + + + + + + ObrandAdmin + + + + {{content-for "head"}} + + + + + {{content-for "head-footer"}} + + + {{content-for "body"}} + + + + + {{content-for "body-footer"}} + + diff --git a/app/models/.gitkeep b/app/models/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/models/account.js b/app/models/account.js new file mode 100644 index 0000000..69a740f --- /dev/null +++ b/app/models/account.js @@ -0,0 +1,14 @@ +import DS from 'ember-data'; + +//const { attr } = DS; + +export default DS.Model.extend({ + uid: DS.attr('string'), + login: DS.attr('string'), + forename: DS.attr('string'), + surname: DS.attr('string'), + memberof: DS.attr('string'), + fullName: function() { + return '%@ %@'.fmt(this.get('forename'), this.get('surname')); + }.property('forename', 'surname') +}); diff --git a/app/models/application.js b/app/models/application.js new file mode 100644 index 0000000..af2db9b --- /dev/null +++ b/app/models/application.js @@ -0,0 +1,5 @@ +import DS from 'ember-data'; + +export default DS.Model.extend({ + +}); diff --git a/app/models/company.js b/app/models/company.js new file mode 100644 index 0000000..a3a1de2 --- /dev/null +++ b/app/models/company.js @@ -0,0 +1,20 @@ +import DS from 'ember-data'; + +export default DS.Model.extend({ + cid: DS.attr('string'), + company_name: DS.attr('string'), + address1: DS.attr('string'), + address2: DS.attr('string'), + address3: DS.attr('string'), + town: DS.attr('string'), + county: DS.attr('string'), + postcode: DS.attr('string'), + country: DS.attr('string'), + pcontact: DS.attr('string'), + ocontact: DS.attr('string'), + mobile: DS.attr('string'), + email: DS.attr('string'), + needCompany: function() { + return typeof this.get('cid') !== 'undefined'; + }.property('cid') +}); diff --git a/app/models/newcompany.js b/app/models/newcompany.js new file mode 100644 index 0000000..f96c089 --- /dev/null +++ b/app/models/newcompany.js @@ -0,0 +1,19 @@ +import DS from 'ember-data'; + +export default DS.Model.extend({ + uid: DS.attr(), + cid: DS.attr('string'), + company_name: DS.attr('string'), + address1: DS.attr('string'), + address2: DS.attr('string'), + address3: DS.attr('string'), + town: DS.attr('string'), + county: DS.attr('string'), + postcode: DS.attr('string'), + country: DS.attr('string'), + pcontact: DS.attr('string'), + ocontact: DS.attr('string'), + mobile: DS.attr('string'), + email: DS.attr('string') +}); + diff --git a/app/models/page-content.js b/app/models/page-content.js new file mode 100644 index 0000000..934f832 --- /dev/null +++ b/app/models/page-content.js @@ -0,0 +1,32 @@ +'use strict'; + +import DS from 'ember-data'; + +export default DS.Model.extend({ + page: DS.belongsTo('page'), + title: DS.attr('string'), + imageUrl: DS.attr('string'), + link1Text: DS.attr('string'), + link1Url: DS.attr('string'), + link2Text: DS.attr('string'), + link2Url: DS.attr('string'), + link3Text: DS.attr('string'), + link3Url: DS.attr('string'), + link4Text: DS.attr('string'), + link4Url: DS.attr('string'), + visibleLink1: function() { + return !((Ember.isBlank(this.get('link1Text'))) || (Ember.isBlank(this.get('link1Url')))); + }.property('link1Url','link1Text'), + visibleLink2: function() { + return !((Ember.isBlank(this.get('link2Text'))) && (Ember.isBlank(this.get('link2Url')))); + }.property('link2Url','link2Text'), + visibleLink3: function() { + return !((Ember.isBlank(this.get('link3Text'))) && (Ember.isBlank(this.get('link3Url')))); + }.property('link3Url','link3Text'), + visibleLink4: function() { + return !((Ember.isBlank(this.get('link4Text'))) && (Ember.isBlank(this.get('link4Url')))); + }.property('link4Url','link4Text'), + noImage: function() { + return Ember.isBlank(this.get('imageUrl')); + }.property('imageUrl') +}); diff --git a/app/models/page.js b/app/models/page.js new file mode 100644 index 0000000..ddbe61d --- /dev/null +++ b/app/models/page.js @@ -0,0 +1,38 @@ +import DS from 'ember-data'; + +export default DS.Model.extend({ + cid: DS.attr('string'), + vid: DS.attr('string'), + pid: DS.attr('string'), + category: DS.attr(), + title: DS.attr('string'), + content: DS.attr(), + imageUrl: DS.attr('string'), + link1Text: DS.attr('string'), + link1Url: DS.attr('string'), + link2Text: DS.attr('string'), + link2Url: DS.attr('string'), + link3Text: DS.attr('string'), + link3Url: DS.attr('string'), + link4Text: DS.attr('string'), + link4Url: DS.attr('string'), + visibleLink1: function() { + return !((Ember.isBlank(this.get('link1Text'))) || (Ember.isBlank(this.get('link1Url')))); + }.property('link1Url','link1Text'), + visibleLink2: function() { + return !((Ember.isBlank(this.get('link2Text'))) && (Ember.isBlank(this.get('link2Url')))); + }.property('link2Url','link2Text'), + visibleLink3: function() { + return !((Ember.isBlank(this.get('link3Text'))) && (Ember.isBlank(this.get('link3Url')))); + }.property('link3Url','link3Text'), + visibleLink4: function() { + return !((Ember.isBlank(this.get('link4Text'))) && (Ember.isBlank(this.get('link4Url')))); + }.property('link4Url','link4Text'), + noImage: function() { + return Ember.isBlank(this.get('imageUrl')); + }.property('imageUrl'), + pageMode: function() { + let modeArray = ['Basic Page', 'Other type 1', 'Other type 2', 'Other type 3']; + return modeArray[this.get('content')]; + }.property('content') +}); diff --git a/app/models/profile.js b/app/models/profile.js new file mode 100644 index 0000000..78733cc --- /dev/null +++ b/app/models/profile.js @@ -0,0 +1,19 @@ +import DS from 'ember-data'; + +export default DS.Model.extend({ + uid: DS.attr('string'), + forename: DS.attr('string'), + surname: DS.attr('string'), + gender: DS.attr('number'), + dob: DS.attr(), + bio: DS.attr('string'), + fullName: function() { + return '%@ %@'.fmt(this.get('forename'), this.get('surname')); + }.property('forename', 'surname'), + qualifiedGender: function() { + let genderArray = ['Male', 'Female']; + return genderArray[this.get('gender')]; + }.property('gender') +}); + + diff --git a/app/resolver.js b/app/resolver.js new file mode 100644 index 0000000..2fb563d --- /dev/null +++ b/app/resolver.js @@ -0,0 +1,3 @@ +import Resolver from 'ember-resolver'; + +export default Resolver; diff --git a/app/router.js b/app/router.js new file mode 100644 index 0000000..986eb2f --- /dev/null +++ b/app/router.js @@ -0,0 +1,21 @@ +import Ember from 'ember'; +import config from './config/environment'; + +const Router = Ember.Router.extend({ + location: config.locationType +}); + +Router.map(function() { + this.route('index', {path:'/'}); + this.route('login'); + this.route('auth-error'); + this.route('about'); + this.route('signup'); + this.route('profile'); + this.route('company'); + this.route('newcompany'); + this.route('venue'); + this.route('pages'); +}); + +export default Router; diff --git a/app/routes/.gitkeep b/app/routes/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/routes/about.js b/app/routes/about.js new file mode 100644 index 0000000..26d9f31 --- /dev/null +++ b/app/routes/about.js @@ -0,0 +1,4 @@ +import Ember from 'ember'; + +export default Ember.Route.extend({ +}); diff --git a/app/routes/application.js b/app/routes/application.js new file mode 100644 index 0000000..d319e41 --- /dev/null +++ b/app/routes/application.js @@ -0,0 +1,18 @@ +import Ember from 'ember'; +import ApplicationRouteMixin from 'ember-simple-auth/mixins/application-route-mixin'; + +const { service } = Ember.inject; + +export default Ember.Route.extend(ApplicationRouteMixin, { + sessionAccount: service('session-account'), + _loadCurrentUser() { + return this.get('sessionAccount').loadCurrentUser(); + }, + beforeModel() { + return this._loadCurrentUser(); + }, + sessionAuthenticated() { + this._super(...arguments); + this._loadCurrentUser().catch(() => this.get('session').invalidate()); + } +}); diff --git a/app/routes/auth-error.js b/app/routes/auth-error.js new file mode 100644 index 0000000..23ffd77 --- /dev/null +++ b/app/routes/auth-error.js @@ -0,0 +1,8 @@ +import Ember from 'ember'; +import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'; + +export default Ember.Route.extend(AuthenticatedRouteMixin, { + model() { + return this.get('store').find('post', 3); + } +}); diff --git a/app/routes/company.js b/app/routes/company.js new file mode 100644 index 0000000..b707860 --- /dev/null +++ b/app/routes/company.js @@ -0,0 +1,33 @@ +import Ember from 'ember'; + +const { inject: { service }, RSVP } = Ember; + +export default Ember.Route.extend({ + sessionAccount: service('session-account'), + beforeModel() { + const cid = this.get('sessionAccount.account.memberof'); + if (typeof cid === 'undefined' || cid === null) { + this.transitionTo('newcompany'); + } + }, + + model: function() { + 'use strict'; + const cid = this.get('sessionAccount.account.memberof'); + + if (typeof cid !== 'undefined' && cid !== null) { + return new RSVP.Promise((resolve, reject) => { + return this.get('store').find('company', cid) + .then(resolve, reject); + }); + + } else { + + return { + needNewCompany: true + }; + + } + + } +}); diff --git a/app/routes/index.js b/app/routes/index.js new file mode 100644 index 0000000..26d9f31 --- /dev/null +++ b/app/routes/index.js @@ -0,0 +1,4 @@ +import Ember from 'ember'; + +export default Ember.Route.extend({ +}); diff --git a/app/routes/login.js b/app/routes/login.js new file mode 100644 index 0000000..626b73f --- /dev/null +++ b/app/routes/login.js @@ -0,0 +1,6 @@ +import Ember from 'ember'; +import UnauthenticatedRouteMixin from 'ember-simple-auth/mixins/unauthenticated-route-mixin'; + +export default Ember.Route.extend(UnauthenticatedRouteMixin); + + diff --git a/app/routes/newcompany.js b/app/routes/newcompany.js new file mode 100644 index 0000000..880fa5d --- /dev/null +++ b/app/routes/newcompany.js @@ -0,0 +1,23 @@ +import Ember from 'ember'; + +const { inject: { service }, RSVP } = Ember; + +export default Ember.Route.extend({ + sessionAccount: service('session-account'), + + model: function() { + 'use strict'; + const cid = this.get('sessionAccount.account.memberOf'); + + if (typeof cid !== 'undefined') { + return new RSVP.Promise((resolve, reject) => { + return this.get('store').find('company', cid) + .then(resolve, reject); + }); + } else { + var newPage = this.store.createRecord('newcompany',{}); + newPage.set('cid', cid); + return newPage; + } + } +}); diff --git a/app/routes/pages.js b/app/routes/pages.js new file mode 100644 index 0000000..e34d725 --- /dev/null +++ b/app/routes/pages.js @@ -0,0 +1,17 @@ +import Ember from 'ember'; + +const { inject: { service } } = Ember; + +export default Ember.Route.extend({ + sessionAccount: service('session-account'), + beforeModel() { + 'use strict'; + const cid = this.get('sessionAccount.account.memberof'); + this.store.query('page', { filter: { cid: cid } }).then(function(d) { + return d; + }); + }, + model: function() { + return this.store.findAll('page'); + } +}); diff --git a/app/routes/profile.js b/app/routes/profile.js new file mode 100644 index 0000000..a8da9c9 --- /dev/null +++ b/app/routes/profile.js @@ -0,0 +1,18 @@ +import Ember from 'ember'; + +const { inject: { service }, RSVP } = Ember; + +export default Ember.Route.extend({ + + sessionAccount: service('session-account'), + model: function() { + 'use strict'; + const accountId = this.get('sessionAccount.account.id'); + + return new RSVP.Promise((resolve,reject) => { + return this.get('store').find('profile',accountId) + .then(resolve,reject); + }); + + } +}); diff --git a/app/routes/signup.js b/app/routes/signup.js new file mode 100644 index 0000000..26d9f31 --- /dev/null +++ b/app/routes/signup.js @@ -0,0 +1,4 @@ +import Ember from 'ember'; + +export default Ember.Route.extend({ +}); diff --git a/app/routes/venue.js b/app/routes/venue.js new file mode 100644 index 0000000..f4848bc --- /dev/null +++ b/app/routes/venue.js @@ -0,0 +1,12 @@ +import Ember from 'ember'; +const { inject: { service } } = Ember; + +export default Ember.Route.extend({ + sessionAccount: service('session-account'), + beforeModel() { + const cid = this.get('sessionAccount.account.memberof'); + if (typeof cid === 'undefined') { + this.transitionTo('newcompany'); + } + } +}); diff --git a/app/serializers/useful.js b/app/serializers/useful.js new file mode 100644 index 0000000..2775417 --- /dev/null +++ b/app/serializers/useful.js @@ -0,0 +1,37 @@ +import DS from 'ember-data'; + +export default DS.JSONAPISerializer.extend({ + serializeBelongsTo: function(record, json, relationship) { + var key = relationship.key, + belongsTo = Ember.get(record, key); + key = this.keyForRelationship ? this.keyForRelationship(key, "belongsTo") : key; + + if (relationship.options.embedded === 'always') { + json[key] = belongsTo.serialize(); + } + else { + return this._super(record, json, relationship); + } + }, + serializeHasMany: function(record, json, relationship) { + var key = relationship.key, + hasMany = Ember.get(record, key), + relationshipType = DS.RelationshipChange.determineRelationshipType(record.constructor, relationship); + + if (relationship.options.embedded === 'always') { + if (hasMany && relationshipType === 'manyToNone' || relationshipType === 'manyToMany' || + relationshipType === 'manyToOne') { + + json[key] = []; + hasMany.forEach(function(item, index){ + json[key].push(item.serialize()); + }); + } + + } + else { + return this._super(record, json, relationship); + } + } +}); + diff --git a/app/services/session-account.js b/app/services/session-account.js new file mode 100644 index 0000000..8d06e8a --- /dev/null +++ b/app/services/session-account.js @@ -0,0 +1,24 @@ +import Ember from 'ember'; + +const { inject: { service }, RSVP } = Ember; + +export default Ember.Service.extend({ + session: service('session'), + store: service(), + + loadCurrentUser() { + return new RSVP.Promise((resolve, reject) => { + const accountId = this.get('session.data.authenticated.account_id'); + + if (!Ember.isEmpty(accountId)) { + + return this.get('store').find('account', accountId).then((account) => { + this.set('account', account); + return resolve(); + }, reject); + } else { + return resolve(); + } + }); + } +}); diff --git a/app/styles/app.scss b/app/styles/app.scss new file mode 100644 index 0000000..15b01e3 --- /dev/null +++ b/app/styles/app.scss @@ -0,0 +1,59 @@ +@import 'bootstrap'; +/*@import 'signin';*/ +/*@import 'profile';*/ +@import 'side-bar'; + +$input-border-focus: #ff0000 !default; + +body { + padding-top:5em; + + } + +.app-top { + padding: 3rem 1.5rem; + + } + +.colour-bg { + + color: #fff; + /*background: linear-gradient(-226deg, rgba(142, 130, 236, 0.8) 0%, rgba(8, 81, 152, 0.92) 100%);*/ + position: relative; + display: block; + padding: 200px 40px; + height: 500px; + width: 100%; + } + + +.blue-tint { + background: linear-gradient(-226deg, rgba(142, 130, 236, 0.8) 0%, rgba(8, 81, 152, 0.92) 100%); + } + +.user-icon-nav { + margin-right:10px; + } + + +.dropdown-menu{ + padding:5px 0; + margin:2px 0 0; + + } + + +.fakeDevice{ + width: 375px; + height: 667px; + border:1px solid grey; + -webkit-box-shadow: 0px 4px 5px 0px rgba(0,0,0,0.43); + -moz-box-shadow: 0px 4px 5px 0px rgba(0,0,0,0.43); + box-shadow: 0px 4px 5px 0px rgba(0,0,0,0.43); + border-radius: 0.25rem; + } + +.image300 { + max-width: 300px; + max-height: 300px; + } diff --git a/app/styles/profile.scss b/app/styles/profile.scss new file mode 100644 index 0000000..dd31233 --- /dev/null +++ b/app/styles/profile.scss @@ -0,0 +1,22 @@ +/* CSS used here will be applied after bootstrap.css */ +body { + /*background-color: #eaeaea;*/ +} + +img.avatar { + border: 1px solid #eee; +} + +.only-bottom-margin { + margin-top: 0px; +} + +.activity-mini { + padding-right: 15px; + float: left; +} + +.profileCard { + box-shadow:0 1px 2px #aaa; + + } diff --git a/app/styles/side-bar.scss b/app/styles/side-bar.scss new file mode 100644 index 0000000..403f96f --- /dev/null +++ b/app/styles/side-bar.scss @@ -0,0 +1,341 @@ +h1.page-header { + margin-top: -5px; +} + +.sidebar { + padding-left: 0; +} + +.main-container { + background: #FFF; + padding-top: 15px; + margin-top: -20px; +} + +.footer { + width: 100%; +} + +:focus { + outline: none; +} + +.side-menu { + position: relative; + width: 100%; + height: 100%; + background-color: #f8f8f8; + border-right: 1px solid #e7e7e7; +} +.side-menu .navbar { + border: none; +} +.side-menu .navbar-header { + width: 100%; + border-bottom: 1px solid #e7e7e7; +} +.side-menu .navbar-nav .active a { + background-color: transparent; + margin-right: -1px; + border-right: 5px solid #e7e7e7; +} +.side-menu .navbar-nav li { + display: block; + width: 100%; + border-bottom: 1px solid #e7e7e7; +} +.side-menu .navbar-nav li a { + padding: 15px; +} +.side-menu .navbar-nav li a .glyphicon { + padding-right: 10px; +} +.side-menu #dropdown { + border: 0; + margin-bottom: 0; + border-radius: 0; + background-color: transparent; + box-shadow: none; +} +.side-menu #dropdown .caret { + float: right; + margin: 9px 5px 0; +} +.side-menu #dropdown .indicator { + float: right; +} +.side-menu #dropdown > a { + border-bottom: 1px solid #e7e7e7; +} +.side-menu #dropdown .panel-body { + padding: 0; + background-color: #f3f3f3; +} +.side-menu #dropdown .panel-body .navbar-nav { + width: 100%; +} +.side-menu #dropdown .panel-body .navbar-nav li { + padding-left: 15px; + border-bottom: 1px solid #e7e7e7; +} +.side-menu #dropdown .panel-body .navbar-nav li:last-child { + border-bottom: none; +} +.side-menu #dropdown .panel-body .panel > a { + margin-left: -20px; + padding-left: 35px; +} +.side-menu #dropdown .panel-body .panel-body { + margin-left: -15px; +} +.side-menu #dropdown .panel-body .panel-body li { + padding-left: 30px; +} +.side-menu #dropdown .panel-body .panel-body li:last-child { + border-bottom: 1px solid #e7e7e7; +} +.side-menu #search-trigger { + background-color: #f3f3f3; + border: 0; + border-radius: 0; + position: absolute; + top: 0; + right: 0; + padding: 15px 18px; +} +.side-menu .brand-name-wrapper { + min-height: 50px; +} +.side-menu .brand-name-wrapper .navbar-brand { + display: block; +} +.side-menu #search { + position: relative; + z-index: 1000; +} +.side-menu #search .panel-body { + padding: 0; +} +.side-menu #search .panel-body .navbar-form { + padding: 0; + padding-right: 50px; + width: 100%; + margin: 0; + position: relative; + border-top: 1px solid #e7e7e7; +} +.side-menu #search .panel-body .navbar-form .form-group { + width: 100%; + position: relative; +} +.side-menu #search .panel-body .navbar-form input { + border: 0; + border-radius: 0; + box-shadow: none; + width: 100%; + height: 50px; +} +.side-menu #search .panel-body .navbar-form .btn { + position: absolute; + right: 0; + top: 0; + border: 0; + border-radius: 0; + background-color: #f3f3f3; + padding: 15px 18px; +} +/* Main body section */ +.side-body { + margin-left: 310px; +} +/* small screen */ +@media (max-width: 768px) { + .side-menu { + position: relative; + width: 100%; + height: 0; + border-right: 0; + } + + .side-menu .navbar { + z-index: 999; + position: relative; + height: 0; + min-height: 0; + background-color:none !important; + border-color: none !important; + } + .side-menu .brand-name-wrapper .navbar-brand { + display: inline-block; + } + /* Slide in animation */ + @-moz-keyframes slidein { + 0% { + left: -300px; + } + 100% { + left: 10px; + } + } + @-webkit-keyframes slidein { + 0% { + left: -300px; + } + 100% { + left: 10px; + } + } + @keyframes slidein { + 0% { + left: -300px; + } + 100% { + left: 10px; + } + } + @-moz-keyframes slideout { + 0% { + left: 0; + } + 100% { + left: -300px; + } + } + @-webkit-keyframes slideout { + 0% { + left: 0; + } + 100% { + left: -300px; + } + } + @keyframes slideout { + 0% { + left: 0; + } + 100% { + left: -300px; + } + } + /* Slide side menu*/ + /* Add .absolute-wrapper.slide-in for scrollable menu -> see top comment */ + .side-menu-container > .navbar-nav.slide-in { + -moz-animation: slidein 300ms forwards; + -o-animation: slidein 300ms forwards; + -webkit-animation: slidein 300ms forwards; + animation: slidein 300ms forwards; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + } + .side-menu-container > .navbar-nav { + /* Add position:absolute for scrollable menu -> see top comment */ + position: fixed; + left: -300px; + width: 300px; + top: 43px; + height: 100%; + border-right: 1px solid #e7e7e7; + background-color: #f8f8f8; + overflow: auto; + -moz-animation: slideout 300ms forwards; + -o-animation: slideout 300ms forwards; + -webkit-animation: slideout 300ms forwards; + animation: slideout 300ms forwards; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + } + @-moz-keyframes bodyslidein { + 0% { + left: 0; + } + 100% { + left: 300px; + } + } + @-webkit-keyframes bodyslidein { + 0% { + left: 0; + } + 100% { + left: 300px; + } + } + @keyframes bodyslidein { + 0% { + left: 0; + } + 100% { + left: 300px; + } + } + @-moz-keyframes bodyslideout { + 0% { + left: 300px; + } + 100% { + left: 0; + } + } + @-webkit-keyframes bodyslideout { + 0% { + left: 300px; + } + 100% { + left: 0; + } + } + @keyframes bodyslideout { + 0% { + left: 300px; + } + 100% { + left: 0; + } + } + /* Slide side body*/ + .side-body { + margin-left: 5px; + margin-top: 70px; + position: relative; + -moz-animation: bodyslideout 300ms forwards; + -o-animation: bodyslideout 300ms forwards; + -webkit-animation: bodyslideout 300ms forwards; + animation: bodyslideout 300ms forwards; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + } + .body-slide-in { + -moz-animation: bodyslidein 300ms forwards; + -o-animation: bodyslidein 300ms forwards; + -webkit-animation: bodyslidein 300ms forwards; + animation: bodyslidein 300ms forwards; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + } + /* Hamburger */ + .navbar-toggle-sidebar { + border: 0; + float: left; + padding: 18px; + margin: 0; + border-radius: 0; + background-color: #f3f3f3; + } + /* Search */ + #search .panel-body .navbar-form { + border-bottom: 0; + } + #search .panel-body .navbar-form .form-group { + margin: 0; + } + .side-menu .navbar-header { + /* this is probably redundant */ + position: fixed; + z-index: 3; + background-color: #f8f8f8; + } + /* Dropdown tweek */ + #dropdown .panel-body .navbar-nav { + margin: 0; + } +} diff --git a/app/styles/signin.scss b/app/styles/signin.scss new file mode 100644 index 0000000..feb9f60 --- /dev/null +++ b/app/styles/signin.scss @@ -0,0 +1,42 @@ +.form-signin { + max-width:330px; + padding:15px; + margin:0 auto; + box-shadow:0 1px 2px #aaa; + border-radius:3px; + user-select:none; + } + +.form-signin .form-signin-heading, .form-signin .checkbox { + margin-bottom:10px; + } + +.form-signin .checkbox { + font-weight:normal; + } + +.form-signin .form-control { + position:relative; + height:auto; + -webkit-box-sizing:border-box; + box-sizing: border-box; + padding:10px; + font-size:16px; + } + +.form-signin .form-control:focus{ + z-index: 2; + + } + +.form-signin input[type="email"] { + margin-bottom:-1px; + border-bottom-right-radius:0; + border-bottom-left-radius:0; + } + +.form-signin input[type='password'] { + margin-bottom:10px; + border-top-left-radius: 0; + border-top-right-radius: 0; + } diff --git a/app/templates/about.hbs b/app/templates/about.hbs new file mode 100644 index 0000000..8ab7afb --- /dev/null +++ b/app/templates/about.hbs @@ -0,0 +1,6 @@ +
+
+

Welcome to OBrand

+

Warm and welcoming text about oBrand

+
+
\ No newline at end of file diff --git a/app/templates/application.hbs b/app/templates/application.hbs new file mode 100644 index 0000000..853a86e --- /dev/null +++ b/app/templates/application.hbs @@ -0,0 +1,14 @@ +{{nav-bar currentControllerBindings="controller"}} + +
+ + {{outlet}} + + +
+ diff --git a/app/templates/auth-error.hbs b/app/templates/auth-error.hbs new file mode 100644 index 0000000..c24cd68 --- /dev/null +++ b/app/templates/auth-error.hbs @@ -0,0 +1 @@ +{{outlet}} diff --git a/app/templates/company.hbs b/app/templates/company.hbs new file mode 100644 index 0000000..181b613 --- /dev/null +++ b/app/templates/company.hbs @@ -0,0 +1,156 @@ + +
+ {{#if isEditing}} +
+
+ +
+ {{input id='company_name' placeholder='Company name' value=model.company_name class="form-control" required="required"}} +
+
+
+
+ +
+ {{input id='address1' placeholder='Address' value=model.address1 class="form-control" required="required"}} + {{input id='address2' placeholder='Address' value=model.address2 class="form-control" }} + {{input id='address3' placeholder='Address' value=model.address3 class="form-control" }} +
+
+
+ +
+ +
+ {{input id='town' placeholder='Town' value=model.town class="form-control" required="required"}} +
+ + +
+ {{input id='county' placeholder='County' value=model.county class="form-control" }} +
+ + +
+ {{input id='postcode' placeholder='Postcode' value=model.postcode class="form-control" required="required"}} +
+
+
+
+ +
+ {{input id='pcontact' placeholder='Primary contact number' value=model.pcontact class="form-control" required="required"}} +
+ +
+ {{input id='ocontact' placeholder='Other contact phone number' value=model.ocontact class="form-control" }} +
+ +
+ {{input id='mobile' placeholder='Mobile phone' value=model.mobile class="form-control" }} +
+
+
+
+ +
+ {{input id='email' placeholder='Contact email address' value=model.email class="form-control" required="required"}} +
+
+
+
+
 
+
+ {{#if isEditing}} + + +   + + + {{/if}} + +
+
+ +
+
+ {{else}} + +

{{model.company_name}}

+
+
Address
+
+
{{model.address1}}
+
{{model.address2}}
+
{{model.address3}}
+
+
+
+
Town
+
+
{{model.town}}
+
+
+
+
County
+
+
{{model.county}}
+
+
+
+
Postcode
+
+
{{model.postcode}}
+
+
+
+
Primary contact
+
+
{{model.pcontact}}
+
+
+
+
Secondary contact
+
+
{{model.ocontact}}
+
+
+
+
Mobile
+
+
{{model.mobile}}
+
+
+
+
Email
+
+
{{model.email}}
+
+
+ + {{/if}} + +
+
+
+ {{#if isEditing}} + + {{else}} + +   + {{/if}} + +
+
+ +
+
diff --git a/app/templates/components/.gitkeep b/app/templates/components/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/templates/components/nav-bar.hbs b/app/templates/components/nav-bar.hbs new file mode 100644 index 0000000..e2a005a --- /dev/null +++ b/app/templates/components/nav-bar.hbs @@ -0,0 +1,52 @@ + + \ No newline at end of file diff --git a/app/templates/components/page-manager.hbs b/app/templates/components/page-manager.hbs new file mode 100644 index 0000000..d47035d --- /dev/null +++ b/app/templates/components/page-manager.hbs @@ -0,0 +1,29 @@ +
+
+
+
+ New Page +
+
+
+
+ Entered content +
+
+
+

OBrand Test

+ +
    +
  • List item 1
  • +
  • List item 2
  • +
  • List item 3
  • +
  • List item 4
  • +
+
+
+
+
+
+
+ +
\ No newline at end of file diff --git a/app/templates/components/side-bar.hbs b/app/templates/components/side-bar.hbs new file mode 100644 index 0000000..1e31f43 --- /dev/null +++ b/app/templates/components/side-bar.hbs @@ -0,0 +1,65 @@ + + + + + diff --git a/app/templates/index.hbs b/app/templates/index.hbs new file mode 100644 index 0000000..f36febb --- /dev/null +++ b/app/templates/index.hbs @@ -0,0 +1,15 @@ +{{#unless session.isAuthenticated}} +
+ You can {{#link-to 'login' classNames='alert-link'}}log in{{/link-to}} with login m@g.com and password password. +
+{{/unless}} + +
+
+ +

Welcome to OBrand

+

Warm and welcoming text about oBrand

+ +
+
+
\ No newline at end of file diff --git a/app/templates/login.hbs b/app/templates/login.hbs new file mode 100644 index 0000000..ebfe630 --- /dev/null +++ b/app/templates/login.hbs @@ -0,0 +1,40 @@ + + + diff --git a/app/templates/newcompany.hbs b/app/templates/newcompany.hbs new file mode 100644 index 0000000..8385928 --- /dev/null +++ b/app/templates/newcompany.hbs @@ -0,0 +1,62 @@ + +
+
+
+ +
+ {{input id='company_name' placeholder='Company name' value=model.company_name class="form-control" required="required"}} +
+
+
+
+ +
+ {{input id='address1' placeholder='Address' value=model.address1 class="form-control" required="required"}} + {{input id='address2' placeholder='Address' value=model.address2 class="form-control" }} + {{input id='address3' placeholder='Address' value=model.address3 class="form-control" }} +
+
+
+
+ +
+ {{input id='town' placeholder='Town' value=model.town class="form-control" required="required"}} +
+ +
+ {{input id='county' placeholder='County' value=model.county class="form-control" }} +
+ +
+ {{input id='postcode' placeholder='Postcode' value=model.postcode class="form-control" required="required"}} +
+
+
+
+ +
+ {{input id='pcontact' placeholder='Primary contact number' value=model.pcontact class="form-control" required="required"}} +
+ +
+ {{input id='ocontact' placeholder='Other contact phone number' value=model.ocontact class="form-control" }} +
+ +
+ {{input id='mobile' placeholder='Mobile phone' value=model.mobile class="form-control" }} +
+
+
+
+ +
+ {{input id='email' placeholder='Contact email address' value=model.email class="form-control" required="required"}} +
+
+
+
+ +
+
+
+
diff --git a/app/templates/pages.hbs b/app/templates/pages.hbs new file mode 100644 index 0000000..0d6b108 --- /dev/null +++ b/app/templates/pages.hbs @@ -0,0 +1,156 @@ +
+
+
+
+
+
+ +
+
+
+
+ + {{#unless isEditing}} + +
+
+ {{#each model as |item|}} +
+
+ {{item.title}} +
+
+ {{item.pageMode}} +
+
+ + +
+
+ {{/each}} +
+
+ {{/unless}} + + {{#if isEditing}} + +
+
+ New Page +
+
+
+
+
+
+ + {{input id='title' placeholder='title' value=model.title class="form-control" required="required"}} +
+
+ + {{input id='imageUrl' placeholder='URL to your image' value=model.imageUrl class="form-control" required="required"}} +
+
+
Link One
+ + {{input id='link1title' placeholder='Text' value=model.link1Text class="form-control"}} + + + {{input id='link1url' placeholder='http://something.com/link' value=model.link1Url class="form-control"}} +
+
+
Link Two
+ + {{input id='link2title' placeholder='Text' value=model.link2Text class="form-control"}} + + + {{input id='link2url' placeholder='http://something.com/link' value=model.link2Url class="form-control"}} +
+
+
Link Three
+ + {{input id='link3title' placeholder='Text' value=model.link3Text class="form-control"}} + + + {{input id='link3url' placeholder='http://something.com/link' value=model.link3Url class="form-control"}} +
+
+
Link Four
+ + {{input id='link4title' placeholder='Text' value=model.link4Text class="form-control"}} + + + {{input id='link4url' placeholder='http://something.com/link' value=model.link4Url class="form-control"}} +
+
+
+ + +
+
+
+
+
+
+
+

{{ model.title }}

+ {{#if model.noImage }} + + {{else}} + + {{/if}} + +
    + {{#if model.visibleLink1 }} +
  • {{model.link1Text}}
  • + {{else}} +
  • + Your link here
  • + {{/if}} + + + {{#if model.visibleLink2 }} +
  • {{model.link2Text}} +
  • + {{else}} +
  • + Your link here
  • + {{/if}} + + {{#if model.visibleLink3 }} +
  • {{model.link3Text}} +
  • + {{else}} +
  • + Your link here
  • + {{/if}} + + {{#if model.visibleLink4 }} +
  • {{model.link4Text}} +
  • + {{else}} +
  • + Your link here
  • + {{/if}} +
+
+
+
+
+
+ {{/if}} +
+
\ No newline at end of file diff --git a/app/templates/profile.hbs b/app/templates/profile.hbs new file mode 100644 index 0000000..f883527 --- /dev/null +++ b/app/templates/profile.hbs @@ -0,0 +1,143 @@ +
+
+
+
+
+
+
+
User profile +
+
+
+
+
+ + {{gravatar-image email=sessionAccount.account.login size=120 class="img-circle avatar avatar-original pull-right" defaultImage='identicon'}} +
+
+
+
+ {{#if isEditing}} + + {{input id='forename' placeholder='Forename' value=model.forename class="form-control" required="required"}} + + + {{input id='surname' placeholder='Surname' value=model.surname class="form-control" required="required"}} + + + {{else}} +

{{model.fullName}}

+ {{/if}} + + +
+
+
+
+
+ Email: {{sessionAccount.account.login}} +
+
+
+
+
+ + {{#if isEditing}} + +
+ + {{input id='dob' type='date' value=model.dob class="form-control" required="required"}} +
+ + {{else}} +
Birth date: + {{moment-format model.dob 'MMM Do \'YY'}} +
+ {{/if}} + +
+
+ +
+
+
+ {{#if isEditing}} +
+ +
+ + {{else}} +
Gender: {{model.qualifiedGender}} +
+ {{/if}} + +
+
+

+
+
+
+
+ {{#if isEditing}} +
+ + {{textarea id=bio value=model.bio class="form-control"}} +
+ + {{else}} +
+ {{model.bio}} +
+ {{/if}} + +
+
+
+
+ +
+
+
+
+
+
+ +   + {{#if isEditing}} + + {{/if}} +
+
+
+ {{#if isEditing}} +

EDITING MODE!!!

+ {{/if}} +
+
+
+
+
+
\ No newline at end of file diff --git a/app/templates/signup.hbs b/app/templates/signup.hbs new file mode 100644 index 0000000..c24cd68 --- /dev/null +++ b/app/templates/signup.hbs @@ -0,0 +1 @@ +{{outlet}} diff --git a/app/templates/venue.hbs b/app/templates/venue.hbs new file mode 100644 index 0000000..c24cd68 --- /dev/null +++ b/app/templates/venue.hbs @@ -0,0 +1 @@ +{{outlet}} diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..448a847 --- /dev/null +++ b/bower.json @@ -0,0 +1,13 @@ +{ + "name": "obrand-admin", + "dependencies": { + "ember": "~2.4.1", + "ember-cli-shims": "0.1.0", + "ember-cli-test-loader": "0.2.2", + "ember-qunit-notifications": "0.1.0", + "tether": "^1.2.0", + "lodash": "~3.7.0", + "JavaScript-MD5": "^2.3.0", + "blueimp-md5": "2.1.0" + } +} diff --git a/config/environment.js b/config/environment.js new file mode 100644 index 0000000..50853c0 --- /dev/null +++ b/config/environment.js @@ -0,0 +1,52 @@ +/* jshint node: true */ + +module.exports = function(environment) { + var ENV = { + modulePrefix: 'obrand-admin', + environment: environment, + baseURL: '/', + locationType: 'auto', + EmberENV: { + FEATURES: { + // Here you can enable experimental features on an ember canary build + // e.g. 'with-controller': true + } + }, + + APP: { + // Here you can pass flags/options to your application instance + // when it is created + }, + + contentSecurityPolicy: { + 'style-src': "'self' 'unsafe-inline'", + 'img-src':"'self' www.gravatar.com" + } + }; + + if (environment === 'development') { + // ENV.APP.LOG_RESOLVER = true; + ENV.APP.LOG_ACTIVE_GENERATION = true; + // ENV.APP.LOG_TRANSITIONS = true; + // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; + ENV.APP.LOG_VIEW_LOOKUPS = true; + } + + if (environment === 'test') { + // Testem prefers this... + ENV.baseURL = '/'; + ENV.locationType = 'none'; + + // keep test console output quieter + ENV.APP.LOG_ACTIVE_GENERATION = false; + ENV.APP.LOG_VIEW_LOOKUPS = false; + + ENV.APP.rootElement = '#ember-testing'; + } + + if (environment === 'production') { + + } + + return ENV; +}; diff --git a/ember-cli-build.js b/ember-cli-build.js new file mode 100644 index 0000000..d5734b3 --- /dev/null +++ b/ember-cli-build.js @@ -0,0 +1,25 @@ +/*jshint node:true*/ +/* global require, module */ +var EmberApp = require('ember-cli/lib/broccoli/ember-app'); + +module.exports = function(defaults) { + var app = new EmberApp(defaults, { + // Add options here + }); + + app.import('bower_components/blueimp-md5/js/md5.js'); + // Use `app.import` to add additional libraries to the generated + // output files. + // + // If you need to use different assets in different + // environments, specify an object as the first parameter. That + // object's keys should be the environment name and the values + // should be the asset to use in that environment. + // + // If the library that you are including contains AMD or ES6 + // modules that you would like to import into your application + // please specify an object with the list of modules as keys + // along with the exports of each module as its value. + + return app.toTree(); +}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..12d86ea --- /dev/null +++ b/package.json @@ -0,0 +1,67 @@ +{ + "name": "obrand-admin", + "version": "0.0.0", + "description": "Small description for obrand-admin goes here", + "private": true, + "directories": { + "doc": "doc", + "test": "tests" + }, + "scripts": { + "build": "ember build", + "start": "ember server", + "test": "ember test" + }, + "repository": "", + "engines": { + "node": ">= 0.10.0" + }, + "author": "", + "license": "MIT", + "devDependencies": { + "bcrypt-as-promised": "^1.1.0", + "body-parser": "^1.15.0", + "broccoli-asset-rev": "^2.2.0", + "ember-ajax": "0.7.1", + "ember-bootstrap-4": "0.1.0", + "ember-cli": "2.4.1", + "ember-cli-app-version": "^1.0.0", + "ember-cli-babel": "^5.1.5", + "ember-cli-dependency-checker": "^1.2.0", + "ember-cli-gravatar": "3.5.0", + "ember-cli-htmlbars": "^1.0.1", + "ember-cli-htmlbars-inline-precompile": "^0.3.1", + "ember-cli-inject-live-reload": "^1.3.1", + "ember-cli-md5": "^0.1.0", + "ember-cli-moment-shim": "1.1.0", + "ember-cli-qunit": "^1.2.1", + "ember-cli-release": "0.2.8", + "ember-cli-sass": "5.3.0", + "ember-cli-sri": "^2.1.0", + "ember-cli-uglify": "^1.2.0", + "ember-data": "^2.4.0", + "ember-disable-proxy-controllers": "^1.0.1", + "ember-export-application-global": "^1.0.4", + "ember-inflector": "^1.9.4", + "ember-load-initializers": "^0.5.0", + "ember-moment": "6.0.0", + "ember-resolver": "^2.0.3", + "ember-simple-auth": "1.1.0-beta.3", + "event": "^1.0.0", + "events": "^1.1.0", + "express": "^4.13.4", + "glob": "^4.5.3", + "jade": "^1.11.0", + "loader.js": "^4.0.0", + "md-utils": "git+http://gitlab.silvrtree.co.uk/martind2000/md-utils.git", + "morgan": "^1.7.0", + "node-validator": "git+http://gitlab.silvrtree.co.uk/martind2000/node-validator.git", + "oauth2-server": "^2.4.1", + "pg-promise": "^3.3.0", + "util": "^0.10.3" + }, + "dependencies": { + "bcrypt": "^0.8.5", + "pg": "^4.5.1" + } +} diff --git a/public/crossdomain.xml b/public/crossdomain.xml new file mode 100644 index 0000000..0c16a7a --- /dev/null +++ b/public/crossdomain.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + diff --git a/public/images/skyview.jpg b/public/images/skyview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bf044bc7004feab3b68e501dd2c6be129f6ebb57 GIT binary patch literal 272695 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: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�gqFCG$z7Ra;r4?&wyiJehR0J~*{vIt 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

-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 XI(!Htjx-zr@9KT%qKf8@$9ezR9xzf? literal 0 HcmV?d00001 diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..f591645 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +# http://www.robotstxt.org +User-agent: * +Disallow: diff --git a/server/.jshintrc b/server/.jshintrc new file mode 100644 index 0000000..c1f2978 --- /dev/null +++ b/server/.jshintrc @@ -0,0 +1,3 @@ +{ + "node": true +} diff --git a/server/index.js b/server/index.js new file mode 100644 index 0000000..28e6a9d --- /dev/null +++ b/server/index.js @@ -0,0 +1,37 @@ +/*jshint node:true*/ + +// To use it create some files under `mocks/` +// e.g. `server/mocks/ember-hamsters.js` +// +// Module.exports = function(app) { +// app.get('/ember-hamsters', function(req, res) { +// res.send('hello'); +// }); +// }; + +module.exports = function(app) { + var globSync = require('glob').sync; + var mocks = globSync('./mocks/**/*.js', { cwd: __dirname }).map(require); + var proxies = globSync('./proxies/**/*.js', { cwd: __dirname }).map(require); + + + // Log proxy requests + var morgan = require('morgan'); + app.use(morgan('dev')); + + function usingProxy() { + return !!process.argv.filter(function(arg) { + return arg.indexOf('--proxy') === 0; + }).length; + } + + /* ... */ + + if (usingProxy()) { return; } + + + + mocks.forEach(function(route) { route(app); }); + proxies.forEach(function(route) { route(app); }); + +}; diff --git a/server/mocks/accounts.js b/server/mocks/accounts.js new file mode 100644 index 0000000..63448ba --- /dev/null +++ b/server/mocks/accounts.js @@ -0,0 +1,35 @@ +'use strict'; +var db = require('../units/db-connector').dbConnection; +var dbAccounts = require('../units/db-accounts')(db); +module.exports = function(app) { + var express = require('express'); + var accountsRouter = express.Router(); + + accountsRouter.get('/:uid', function(req, res) { + + if (/Bearer .+/.test(req.headers.authorization)) { + + dbAccounts.sqlGetAccountDetails(req.params.uid) + .then(function(data) { + 'use strict'; + const response = { + data: { + type: 'accounts', id: data.uid, attributes: { + uid: data.uid, login: data.email, forename: data.forename, + surname: data.surname, memberof: data.member_of + } + } + }; + console.log(response); + res.status(200).send(response); + }) + .catch(function(err) { + console.error(err); + res.status(401).end(); + }); + } + }); + + app.use('/accounts', accountsRouter); +}; + diff --git a/server/mocks/companies.js b/server/mocks/companies.js new file mode 100644 index 0000000..09156ba --- /dev/null +++ b/server/mocks/companies.js @@ -0,0 +1,86 @@ +/*jshint node:true*/ +'use strict'; +var db = require('../units/db-connector').dbConnection; +var dbCompany = require('../units/db-company')(db); +var $U = require('md-utils'); + +module.exports = function(app) { + var express = require('express'); + var companiesRouter = express.Router(); + + companiesRouter.get('/:id', function(req, res) { + var id = req.params.id; + dbCompany.sqlGetSimpleCompany(id) + .then(function(data) { + + const response = { + data: { + type: 'company', id: id, attributes: $U.reDashObject(data) + } + }; + console.log(response); + res.status(200).send(response); + }) + .catch(function(err) { + console.error(err); + res.status(401).end(); + }); + }); + + + + companiesRouter.post('/', function(req, res) { + res.status(201).end(); + }); + + companiesRouter.get('/:id', function(req, res) { + res.send({ + companies: { + id: req.params.id + } + }); + }); + + companiesRouter.patch('/:id', function(req, res) { + + if (/Bearer .+/.test(req.headers.authorization)) { + console.log('Patching: ' + req.params.id); + console.log(req.body.data); + var updateData = $U.unDashObject(req.body.data.attributes); + dbCompany.addNewCompany(updateData) + .then(function(d) { + + let response = { + data: { + type: 'company', id: d.cid, attributes: d + } + + }; + res.status(200).send(response); + }) + .catch(function(e) { + console.error(e); + res.status(401).end(); + }); + + } + }); + + + companiesRouter.delete('/:id', function(req, res) { + res.status(204).end(); + }); + + // The POST and PUT call will not contain a request body + // because the body-parser is not included by default. + // To use req.body, run: + + // Npm install --save-dev body-parser + app.use('/api/companies', require('body-parser').json({type: 'application/vnd.api+json'})); + + // After installing, you need to `use` the body-parser for + // this mock uncommenting the following line: + // + //App.use('/api/companies', require('body-parser').json()); + app.use('/api/companies', companiesRouter); +}; diff --git a/server/mocks/jade/type0.jade b/server/mocks/jade/type0.jade new file mode 100644 index 0000000..90a3b28 --- /dev/null +++ b/server/mocks/jade/type0.jade @@ -0,0 +1,32 @@ +doctype html +html(lang="en") + head + meta(name='viewport', content='width=device-width, initial-scale=1.0') + link(rel='stylesheet', href='http://yui.yahooapis.com/pure/0.6.0/pure-min.css') + link(rel='stylesheet', href='css/obrand.css') + title= title + + body + .pure-g + .pure-u-1 + h1.textcenter= title + #image.pure-u-1 + if image_url + img.centerblock(src=image_url) + #links.pure-u-1.pure-menu + ul.pure-menu-list + if link1_text + li.pure-menu-item + a.pure-menu-link.textcenter(href=link1_url)=link1_text + + if link2_text + li.pure-menu-item + a.pure-menu-link.textcenter(href=link2_url)=link2_text + + if link3_text + li.pure-menu-item + a.pure-menu-link.textcenter(href=link3_url)=link3_text + + if link4_text + li.pure-menu-item + a.pure-menu-link.textcenter(href=link4_url)=link4_text diff --git a/server/mocks/newcompanies.js b/server/mocks/newcompanies.js new file mode 100644 index 0000000..a88f225 --- /dev/null +++ b/server/mocks/newcompanies.js @@ -0,0 +1,83 @@ +/*jshint node:true*/ +'use strict'; +var db = require('../units/db-connector').dbConnection; +var dbCompany = require('../units/db-company')(db); +var dbAccounts = require('../units/db-accounts')(db); +var $U = require('md-utils'); +var events = require('events'); +// Create an eventEmitter object +var eventEmitter = new events.EventEmitter(); + +module.exports = function(app) { + var express = require('express'); + var newcompaniesRouter = express.Router(); + + eventEmitter.on('makeMemberOf', (uid, cid) => { + console.log('Make ' + uid + ' a member of ' + cid); + dbAccounts.makeMemberOf(uid, cid) + .catch(function(err) { + console.error(err); + }); + }); + + newcompaniesRouter.get('/', function(req, res) { + res.send({ + newcompanies: [] + }); + }); + + newcompaniesRouter.post('/', function(req, res) { + var updateData = $U.unDashObject(req.body.data.attributes); + if (/Bearer .+/.test(req.headers.authorization)) { + dbCompany.addNewCompany(updateData) + .then(function(d) { + updateData.cid = d.cid; + let response = { + data: { + type: 'newcompany', id: d.cid, attributes: updateData + } + + }; + eventEmitter.emit('makeMemberOf', updateData.uid, d.cid); + res.status(200).send(response); + }) + .catch(function(e) { + console.error(e); + res.status(401).end(); + }); + + } + }); + + newcompaniesRouter.get('/:id', function(req, res) { + res.send({ + newcompanies: { + id: req.params.id + } + }); + }); + + newcompaniesRouter.put('/:id', function(req, res) { + res.send({ + newcompanies: { + id: req.params.id + } + }); + }); + + newcompaniesRouter.delete('/:id', function(req, res) { + res.status(204).end(); + }); + + // The POST and PUT call will not contain a request body + // because the body-parser is not included by default. + // To use req.body, run: + + // Npm install --save-dev body-parser + app.use('/api/newcompanies', require('body-parser').json({type: 'application/vnd.api+json'})); + + // After installing, you need to `use` the body-parser for + // this mock uncommenting the following line: + + app.use('/api/newcompanies', newcompaniesRouter); +}; diff --git a/server/mocks/pages.js b/server/mocks/pages.js new file mode 100644 index 0000000..4adaa35 --- /dev/null +++ b/server/mocks/pages.js @@ -0,0 +1,109 @@ +/*jshint node:true*/ +'use strict'; +var db = require('../units/db-connector').dbConnection; +var dbPages = require('../units/db-pages')(db); +var $U = require('md-utils'); +var Events = require('events'); +var jade = require('jade'); +var fs = require('fs'); + +var eventHandler = new Events(); + +var util = require('util'); + +var templates = { + basic: {path: __dirname + '/jade/type0.jade', compiled: null} +}; + +var eventRenderPage = (page) => { + console.log('+++ eventRenderPage'); + doRenderPage(page) +}; + +var doRenderPage = (page) => { + console.log('+ doRenderPage'); + + var compiledhtml, _page = $U.unDashObject(page); + var htmlfile = __dirname + '/static/' + _page.pid + '.html'; + + if (templates.basic.compiled === null) { + templates.basic.compiled = jade.compileFile(templates.basic.path); + } + + compiledhtml = templates.basic.compiled(_page); + + fs.writeFileSync(htmlfile, compiledhtml); + console.log('- doRenderPage'); +}; + + +eventHandler.on('renderPage', eventRenderPage); + + + +module.exports = function(app) { + var express = require('express'); + var pagesRouter = express.Router(); + + pagesRouter.get('/', function(req, res) { + res.send({ + pages: [] + }); + }); + + pagesRouter.post('/', function(req, res) { + console.log(util.inspect(req.body.data)); + + dbPages.addNewPage(req.body.data) + .then(function(data) { + + let response = { + data: data + }; + + eventHandler.emit('renderPage',data.attributes); + + console.log('Finalising...'); + console.log(response); + res.status(200).send(response); + + }) + .catch((err)=> { + console.error(err); + res.status(401).end(); + }); + }); + + pagesRouter.get('/:id', function(req, res) { + res.send({ + pages: { + id: req.params.id + } + }); + }); + + pagesRouter.put('/:id', function(req, res) { + res.send({ + pages: { + id: req.params.id + } + }); + }); + + pagesRouter.delete('/:id', function(req, res) { + res.status(204).end(); + }); + + // The POST and PUT call will not contain a request body + // because the body-parser is not included by default. + // To use req.body, run: + + // Npm install --save-dev body-parser + app.use('/api/pages', require('body-parser').json({type: 'application/vnd.api+json'})); + + // After installing, you need to `use` the body-parser for + // this mock uncommenting the following line: + // + //App.use('/api/pages', require('body-parser').json()); + app.use('/api/pages', pagesRouter); +}; diff --git a/server/mocks/profiles.js b/server/mocks/profiles.js new file mode 100644 index 0000000..f1fba02 --- /dev/null +++ b/server/mocks/profiles.js @@ -0,0 +1,113 @@ +/*jshint node:true*/ +'use strict'; +var db = require('../units/db-connector').dbConnection; +var dbAccounts = require('../units/db-accounts')(db); +module.exports = function(app) { + var express = require('express'); + var profilesRouter = express.Router(); + var moment = require('moment'); + + profilesRouter.get('/:uid', function(req, res) { + if (/Bearer .+/.test(req.headers.authorization)) { + + dbAccounts.sqlGetProfile(req.params.uid) + .then(function(data) { + let response = {data: {}}; + if (data === null) { + // No record yet, return an empty one. + response.data = { + type: 'profile', id: req.params.uid, attributes: { + forename: '', surname: '', gender: 0, dob: '', bio: '' + + }}; + } else { + response.data = { + type: 'profile', id: data.uid, attributes: { + forename: data.forename, + surname: data.surname, + gender: data.gender, + dob: moment(data.dob).format('YYYY-MM-DD'), + bio: data.bio + } + }; + + } + res.status(200).send(response); + }) + .catch(function(e) { + 'use strict'; + console.error(e); + res.status(401).end(); + }); + }; + }); + + profilesRouter.post('/', function(req, res) { + res.status(201).end(); + }); + + profilesRouter.get('/:id', function(req, res) { + res.send({ + profiles: { + id: req.params.id + } + }); + }); + + profilesRouter.put('/:id', function(req, res) { + res.send({ + profiles: { + id: req.params.id + } + }); + }); + + profilesRouter.patch('/:id', function(req, res) { + var data = req.body.data; + var attr = data.attributes; + var updateData = { + uid: data.id, + forename: attr.forename, + surname: attr.surname, + gender: attr.gender, + dob: attr.dob, + bio: attr.bio + }; + dbAccounts.addInsertProfile(updateData) + .then(function() { + let response = { + data: { + type: 'profile', id: req.params.id, attributes: data.attributes + } + }; + + res.status(200).send(response); + }) + .catch(function(err) { + 'use strict'; + console.error(err); + res.status(401).end(); + }); + + }); + + profilesRouter.delete('/:id', function(req, res) { + res.status(204).end(); + }); + + // The POST and PUT call will not contain a request body + // because the body-parser is not included by default. + // To use req.body, run: + + // Npm install --save-dev body-parser + + // After installing, you need to `use` the body-parser for + // this mock uncommenting the following line: + // + //App.use('/api/profiles', require('body-parser').json()); + app.use('/api/profiles', require('body-parser').json()); + app.use('/api/profiles', + require('body-parser').json({type: 'application/vnd.api+json'})); + + app.use('/api/profiles', profilesRouter); +}; diff --git a/server/mocks/static/css/obrand.css b/server/mocks/static/css/obrand.css new file mode 100644 index 0000000..de064e5 --- /dev/null +++ b/server/mocks/static/css/obrand.css @@ -0,0 +1,9 @@ +.textcenter { + text-align: center !important; +} + +.centerblock { + display: block; + margin-left: auto; + margin-right: auto; +} diff --git a/server/mocks/token.js b/server/mocks/token.js new file mode 100644 index 0000000..450a972 --- /dev/null +++ b/server/mocks/token.js @@ -0,0 +1,84 @@ +/*jshint node:true*/ +'use strict'; + +var db = require('../units/db-connector').dbConnection; +var dbAccounts = require('../units/db-accounts')(db); + +module.exports = function(app) { + var express = require('express'); + var tokenRouter = express.Router(); + + tokenRouter.get('/', function(req, res) { + res.send({ + token: [] + }); + }); + + tokenRouter.post('/', function(req, res) { + if (req.body.hasOwnProperty('grant_type')) { + if (req.body.grant_type === 'password') { + dbAccounts.findAccount({ + email: req.body.username, + password: req.body.password + }) + .then(function(d) { + let loginObj = { + access_token: 'secret token!', + account_id: d.uid, + username: d.username, + account: d.email + }; + // Res.status(200).send('{ "access_token": "secret token!", "account_id": d.id }'); + res.status(200).send(loginObj); + }) + .catch(function(err) { + res.status(400).send( + '{ "error": "No account could be found with those details" }'); + }); + } else { + res.status(400).send( + '{ "error": "No account could be found with those details" }'); + } + + } else { + res.status(400).send( + '{ "error": "No account could be found with those details" }'); + } + + }); + + tokenRouter.get('/:id', function(req, res) { + res.send({ + token: { + id: req.params.id + } + }); + }); + + tokenRouter.put('/:id', function(req, res) { + res.send({ + token: { + id: req.params.id + } + }); + }); + + tokenRouter.delete('/:id', function(req, res) { + res.status(204).end(); + }); + + // The POST and PUT call will not contain a request body + // because the body-parser is not included by default. + // To use req.body, run: + + // Npm install --save-dev body-parser + + // After installing, you need to `use` the body-parser for + // this mock uncommenting the following line: + // + app.use('/token', require('body-parser').json()); + app.use('/token', require('body-parser').text()); + app.use('/token', require('body-parser').urlencoded()); + + app.use('/token', tokenRouter); +}; diff --git a/server/units/db-accounts.js b/server/units/db-accounts.js new file mode 100644 index 0000000..0610fdb --- /dev/null +++ b/server/units/db-accounts.js @@ -0,0 +1,204 @@ +'use strict'; + +var mdValidator = require('node-validator'); +var mdErrors = require('./md-errors'); +var bcrypt = require('bcrypt-as-promised'); +var newId = require('uuid-pure').newId; + +module.exports = function(db) { + var module = {}; + + module.connectPGP = function() { + return new Promise(function(resolve, reject) { + db.query('select $1::int as number', [1]) + .then((data)=> { + resolve(data); + }) + .catch((error)=> { + reject(error); + }); + }); + }; + module.sqlInsertAccount = function(data) { + let _data = data; + _data.uid = newId(); + return new Promise(function(resolve, reject) { + db.func('insert_user', + [_data.username, _data.email, _data.hash, _data.uid]) + .then(()=> { + return resolve('ok'); + }) + .catch((err)=> { + return reject(err); + }); + }); + }; + module.sqlGetAccount = function(email) { + return new Promise(function(resolve, reject) { + db.oneOrNone('select * from logins where email=$1;', [email]) + .then(function(d) { + return resolve(d); + }) + .catch((err)=> { + return reject(err); + }); + }); + }; + module.sqlGetAccountDetails = function(uid) { + return new Promise(function(resolve, reject) { + db.one('select * from getAccountDetails($1);',[uid]) + .then(function(d) { + console.log('+ sqlGetAccountDetails'); + console.log(d); + return resolve(d); + }) + .catch((err)=> { + return reject(err); + }); + }); + }; + module.sqlUpsertProfile = function(data) { + var propArray = [ + data.uid, + data.forename, + data.surname, + data.gender, + data.dob, + data.bio + ]; + + return new Promise(function(resolve, reject) { + db.func('upsert_profile', propArray) + .then(()=> { + return resolve(true); + }) + .catch((err)=> { + return reject(err); + }); + }); + }; + + module.sqlMakeMemberOf = function(cid, uid) { + var propArray = [cid,uid]; + + return new Promise(function(resolve, reject) { + db.func('makeMemberOf', propArray) + .then(()=> { + return resolve(true); + }) + .catch((err)=> { + return reject(err); + }); + }); + }; + + module.sqlGetProfile = function(uid) { + return new Promise(function(resolve, reject) { + db.oneOrNone('select * from profile where uid=$1;', [uid]) + .then(function(d) { + return resolve(d); + }) + .catch((err)=> { + return reject(err); + }); + }); + }; + + module.addNewAccount = function(data) { + var self = this; + return new Promise((resolve, reject) => { + + let _data = {}; + _data.username = data.username.trim(); + _data.password = data.password.trim(); + _data.email = data.email.trim(); + + if (Object.keys(data).length === 3) { + + if (_data.username.length === 0 || _data.password.length === 0 || _data.email.length === 0) { + return reject(mdErrors.error(1000)); + } + + if (mdValidator.Email(data.email) === false) { + return reject(mdErrors.error(1001)); + } else { + // It should be possible to insert the user now. + bcrypt.hash(data.password,10).then((d) => { + _data.hash = d; + self.sqlInsertAccount(_data) + .then(()=> { + return resolve({reply: 'user added'}); + }) + .catch((err)=> { + return reject(err); + }); + }); + + } + } else { + // Error - required details missing + return reject(mdErrors.error(1002)); + + } + }); + }; + module.findAccount = function(data) { + + var _data = data; + return new Promise((resolve, reject) => { + this.sqlGetAccount(_data.email) + .then((row) => { + if (row === null) { + return reject(mdErrors.error(1004)); + } + // Check password against hash held in db + // noinspection JSUnresolvedVariable + bcrypt.compare(_data.password, row.password_hash) + .then(function() { + let loginDetails = { + id: row.id, + username: row.username, + email: row.email, + uid: row.uid + }; + return resolve(loginDetails); + }) + // Failure, reject + .catch(function() { + return reject(mdErrors.error(1004)); + }); + + }) + .catch(function(err) { + return reject(err); + }); + }); + }; + module.addInsertProfile = function(data) { + return new Promise((resolve, reject) => { + this.sqlUpsertProfile(data) + .then((d)=> { + return resolve(d); + }) + .catch((err)=> { + return reject(err); + }); + }); + }; + + //makeMemberOf(cid, uid) + module.makeMemberOf = function(cid, uid) { + return new Promise((resolve, reject) => { + this.sqlMakeMemberOf(cid, uid) + .then((d)=> { + return resolve(d); + }) + .catch((err)=> { + return reject(err); + }); + }); + }; + + return module; +}; + diff --git a/server/units/db-company.js b/server/units/db-company.js new file mode 100644 index 0000000..b8c3baf --- /dev/null +++ b/server/units/db-company.js @@ -0,0 +1,115 @@ +/** + * + * User: Martin Donnelly + * Date: 2016-03-15 + * Time: 14:04 + * + */ +'use strict'; +var $V = require('node-validator'); +var mdErrors = require('./md-errors'); +var newId = require('uuid-pure').newId; +var $U = require('md-utils'); + +module.exports = function(db) { + var module = {}; + + module.sqlInsertCompany = function(data) { + return new Promise(function(resolve, reject) { + db.proc('upsert_company',data) + .then(()=> { + console.log('+sqlInsertCompany OK'); + return resolve('ok'); + }) + .catch((err)=> { + console.log('+sqlInsertCompany failed'); + console.log(err); + return reject(err); + }); + }); + }; + module.sqlGetSimpleCompany = function(id) { + return new Promise(function(resolve, reject) { + //db.oneOrNone('select *, company_name company-name from company where cid=$1;', [id]) + + db.oneOrNone('select company.* from company where cid=$1;', [id]) + + .then(function(d) { + console.log(d); + return resolve(d); + }) + .catch((err)=> { + console.log(err); + return reject(err); + }); + }); + }; + + module.addNewCompany = function(data) { + return new Promise((resolve, reject) => { + let _data; + _data = $U.cloneTrim(data); + + _data = $U.sanitiseObj(_data, + {company_name: true, address1: true, address2: true, address3: true, + town: false, county: false, pcontact: true, ocontact: true,mobile: true}); + + if (_data.hasOwnProperty('company_name') && (_data.company_name.length === 0)) { + return reject(mdErrors.error(1100)); + } + + if ([ + _data.address1, _data.address2, _data.address3 + ].join('').trim().length === 0) { + return reject(mdErrors.error(1101)); + } + + if ([_data.town, _data.county].join('').trim().length === 0) { + return reject(mdErrors.error(1102)); + } + + var pcv = $V.checkPostCode(_data.postcode); + + if (pcv === '') { + return reject(mdErrors.error(1103)); + } else { + _data.postcode = pcv; + } + + _data.pcontact = $V.validatePhone(_data.pcontact); + _data.ocontact = $V.validatePhone(_data.ocontact); + _data.mobile = $V.validatePhone(_data.mobile); + + if ([ + _data.pcontact, _data.ocontact, _data.mobile + ].join('').trim().length === 0) { + return reject(mdErrors.error(1104)); + } + + if (_data.email.length === 0 || !$V.Email(_data.email)) { + return reject(mdErrors.error(1105)); + } + + if (typeof _data.cid === 'undefined' || _data.cid === null) { + _data.cid = newId(); + } + + const sqlData = [_data.cid, _data.company_name, _data.address1, _data.address2, + _data.address3, _data.town, _data.county, _data.postcode, _data.country, _data.pcontact, + _data.ocontact, _data.mobile, _data.email]; + + this.sqlInsertCompany(sqlData) + .then(function(d) { + console.log('Inserted'); + console.log(d); + return resolve({cid: _data.cid}); + }) + .catch(function(err) { + console.log('Failed to insert'); + return reject(err); + }); + }); + }; + + return module; +}; diff --git a/server/units/db-connector.js b/server/units/db-connector.js new file mode 100644 index 0000000..3afd4f5 --- /dev/null +++ b/server/units/db-connector.js @@ -0,0 +1,21 @@ +'uses strict'; +/** + * + * User: Martin Donnelly + * Date: 2016-03-11 + * Time: 10:22 + * + */ + +var pgp = require('pg-promise')(); + +var cn = { + host: 'localhost', + port: 5432, + database: 'oBrand', + user: 'obrand', + password: 'obrand' +}; + +exports.dbConnection = pgp(cn); + diff --git a/server/units/db-pages.js b/server/units/db-pages.js new file mode 100644 index 0000000..2cbed92 --- /dev/null +++ b/server/units/db-pages.js @@ -0,0 +1,72 @@ +'use strict'; + +var mdErrors = require('./md-errors'); +var newId = require('uuid-pure').newId; +var $U = require('md-utils'); +/** + * + * User: Martin Donnelly + * Date: 2016-03-24 + * Time: 11:10 + * + */ + + +module.exports = function(db) { + + var module = {}; + + module.sqlInsertPage = function(data) { + return new Promise(function(resolve, reject) { + db.func('upsert_page',data) + .then((d)=> { + console.log(d); + console.log('+sqlInsertPage OK'); + return resolve('ok'); + }) + .catch((err)=> { + console.log('+sqlInsertPage failed'); + console.log(err); + return reject(err); + }); + }); + + + }; + + + + module.addNewPage = function(data) { + return new Promise((resolve, reject) => { + let _data, _jsonData; + + console.log(data); + _data = $U.cloneTrim(data.attributes); + + if (typeof _data.pid === 'undefined' || _data.pid === null) { + _data.pid = newId(); + } + + _jsonData = $U.newObjectFrom(_data, ['title','image-url','link1-text','link1-url','link2-text','link2-url','link3-text','link3-url','link4-text','link4-url']); + + const sqlData = [_data.cid, _data.vid, _data.pid, _data.content, _data.title, JSON.stringify(_jsonData)]; + + console.log(sqlData); + this.sqlInsertPage(sqlData) + .then(function(d) { + console.log('Inserted'); + console.log(d); + data.attributes = _data; + return resolve(data); + }) + .catch(function(err) { + console.log('Failed to insert'); + return reject(err); + }); + + }); + }; + + return module; + +}; diff --git a/server/units/md-errors.js b/server/units/md-errors.js new file mode 100644 index 0000000..c66a017 --- /dev/null +++ b/server/units/md-errors.js @@ -0,0 +1,38 @@ +/** + * + * User: Martin Donnelly + * Date: 2016-03-10 + * Time: 11:31 + * + */ +var logger = require('log4js').getLogger(); + +var MDERRORS = new function() { + 'use strict'; + + var errors = { + 1000: {name: 'Account error', title: 'Signup data missing'}, + 1001: {name: 'Account error', title: 'Email address is not in the correct format'}, + 1002: {name: 'Account error', title: 'Required details missing'}, + 1003: {name: 'Account error', title: 'Email does not exist in login table'}, + 1004: {name: 'Account error', title: 'Email address or password are incorrect'}, + 1100: {name: 'Company Error', title: 'Company name is missing'}, + 1101: {name: 'Company Error', title: 'Address details are missing'}, + 1102: {name: 'Company Error', title: 'Town/County details are missing'}, + 1103: {name: 'Company Error', title: 'Postcode is missing / incorrect'}, + 1104: {name: 'Company Error', title: 'Contact phone number is missing'}, + 1105: {name: 'Company Error', title: 'Email is missing / invalid'} + + }; + + this.error = function(code) { + var estring = ''; + estring = errors[code].name + ': ' + errors[code].title + '\nCode: ' + code + '\n'; + + logger.error(estring); + + return ({code: code, name: errors[code].name, title: errors[code].title, string: estring}); + }; +}(); + +module.exports = MDERRORS; diff --git a/testem.js b/testem.js new file mode 100644 index 0000000..26044b2 --- /dev/null +++ b/testem.js @@ -0,0 +1,13 @@ +/*jshint node:true*/ +module.exports = { + "framework": "qunit", + "test_page": "tests/index.html?hidepassed", + "disable_watching": true, + "launch_in_ci": [ + "PhantomJS" + ], + "launch_in_dev": [ + "PhantomJS", + "Chrome" + ] +}; diff --git a/tests/.jshintrc b/tests/.jshintrc new file mode 100644 index 0000000..4f9f51d --- /dev/null +++ b/tests/.jshintrc @@ -0,0 +1,53 @@ +{ + "predef": [ + "server", + "document", + "window", + "location", + "setTimeout", + "$", + "-Promise", + "define", + "console", + "visit", + "exists", + "fillIn", + "click", + "keyEvent", + "triggerEvent", + "find", + "findWithAssert", + "wait", + "DS", + "andThen", + "currentURL", + "currentPath", + "currentRouteName" + ], + "node": false, + "browser": false, + "boss": true, + "curly": true, + "debug": false, + "devel": false, + "eqeqeq": true, + "evil": true, + "forin": false, + "immed": false, + "laxbreak": false, + "newcap": true, + "noarg": true, + "noempty": false, + "nonew": false, + "nomen": false, + "onevar": false, + "plusplus": false, + "regexp": false, + "undef": true, + "sub": true, + "strict": false, + "white": false, + "eqnull": true, + "esnext": true, + "unused": true +} diff --git a/tests/helpers/destroy-app.js b/tests/helpers/destroy-app.js new file mode 100644 index 0000000..c3d4d1a --- /dev/null +++ b/tests/helpers/destroy-app.js @@ -0,0 +1,5 @@ +import Ember from 'ember'; + +export default function destroyApp(application) { + Ember.run(application, 'destroy'); +} diff --git a/tests/helpers/module-for-acceptance.js b/tests/helpers/module-for-acceptance.js new file mode 100644 index 0000000..8c8b74e --- /dev/null +++ b/tests/helpers/module-for-acceptance.js @@ -0,0 +1,23 @@ +import { module } from 'qunit'; +import startApp from '../helpers/start-app'; +import destroyApp from '../helpers/destroy-app'; + +export default function(name, options = {}) { + module(name, { + beforeEach() { + this.application = startApp(); + + if (options.beforeEach) { + options.beforeEach.apply(this, arguments); + } + }, + + afterEach() { + if (options.afterEach) { + options.afterEach.apply(this, arguments); + } + + destroyApp(this.application); + } + }); +} diff --git a/tests/helpers/resolver.js b/tests/helpers/resolver.js new file mode 100644 index 0000000..b208d38 --- /dev/null +++ b/tests/helpers/resolver.js @@ -0,0 +1,11 @@ +import Resolver from '../../resolver'; +import config from '../../config/environment'; + +const resolver = Resolver.create(); + +resolver.namespace = { + modulePrefix: config.modulePrefix, + podModulePrefix: config.podModulePrefix +}; + +export default resolver; diff --git a/tests/helpers/start-app.js b/tests/helpers/start-app.js new file mode 100644 index 0000000..e098f1d --- /dev/null +++ b/tests/helpers/start-app.js @@ -0,0 +1,18 @@ +import Ember from 'ember'; +import Application from '../../app'; +import config from '../../config/environment'; + +export default function startApp(attrs) { + let application; + + let attributes = Ember.merge({}, config.APP); + attributes = Ember.merge(attributes, attrs); // use defaults, but you can override; + + Ember.run(() => { + application = Application.create(attributes); + application.setupForTesting(); + application.injectTestHelpers(); + }); + + return application; +} diff --git a/tests/index.html b/tests/index.html new file mode 100644 index 0000000..120e3f1 --- /dev/null +++ b/tests/index.html @@ -0,0 +1,34 @@ + + + + + + ObrandAdmin Tests + + + + {{content-for "head"}} + {{content-for "test-head"}} + + + + + + {{content-for "head-footer"}} + {{content-for "test-head-footer"}} + + + {{content-for "body"}} + {{content-for "test-body"}} + + + + + + + + + {{content-for "body-footer"}} + {{content-for "test-body-footer"}} + + diff --git a/tests/integration/.gitkeep b/tests/integration/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/integration/components/nav-bar-test.js b/tests/integration/components/nav-bar-test.js new file mode 100644 index 0000000..1f5b981 --- /dev/null +++ b/tests/integration/components/nav-bar-test.js @@ -0,0 +1,24 @@ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('nav-bar', 'Integration | Component | nav bar', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... }); + + this.render(hbs`{{nav-bar}}`); + + assert.notEqual(this.$().text().trim(), ''); + + // Template block usage: + /* this.render(hbs` + {{#nav-bar}} + template block text + {{/nav-bar}} + `); + + assert.equal(this.$().text().trim(), 'template block text');*/ +}); diff --git a/tests/integration/components/page-manager-test.js b/tests/integration/components/page-manager-test.js new file mode 100644 index 0000000..ab99eef --- /dev/null +++ b/tests/integration/components/page-manager-test.js @@ -0,0 +1,24 @@ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('page-manager', 'Integration | Component | page manager', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... }); + + this.render(hbs`{{page-manager}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage: + this.render(hbs` + {{#page-manager}} + template block text + {{/page-manager}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); diff --git a/tests/integration/components/side-bar-test.js b/tests/integration/components/side-bar-test.js new file mode 100644 index 0000000..f5fe8b0 --- /dev/null +++ b/tests/integration/components/side-bar-test.js @@ -0,0 +1,24 @@ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('side-bar', 'Integration | Component | side bar', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... }); + + this.render(hbs`{{side-bar}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage: + this.render(hbs` + {{#side-bar}} + template block text + {{/side-bar}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); diff --git a/tests/test-helper.js b/tests/test-helper.js new file mode 100644 index 0000000..e6cfb70 --- /dev/null +++ b/tests/test-helper.js @@ -0,0 +1,6 @@ +import resolver from './helpers/resolver'; +import { + setResolver +} from 'ember-qunit'; + +setResolver(resolver); diff --git a/tests/unit/.gitkeep b/tests/unit/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/unit/adapters/application-test.js b/tests/unit/adapters/application-test.js new file mode 100644 index 0000000..f0a2101 --- /dev/null +++ b/tests/unit/adapters/application-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('adapter:application', 'Unit | Adapter | application', { + // Specify the other units that are required for this test. + // needs: ['serializer:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + let adapter = this.subject(); + assert.ok(adapter); +}); diff --git a/tests/unit/adapters/company-test.js b/tests/unit/adapters/company-test.js new file mode 100644 index 0000000..b7e5ec6 --- /dev/null +++ b/tests/unit/adapters/company-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('adapter:company', 'Unit | Adapter | company', { + // Specify the other units that are required for this test. + // needs: ['serializer:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + let adapter = this.subject(); + assert.ok(adapter); +}); diff --git a/tests/unit/adapters/newcompany-test.js b/tests/unit/adapters/newcompany-test.js new file mode 100644 index 0000000..5ad4cf5 --- /dev/null +++ b/tests/unit/adapters/newcompany-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('adapter:newcompany', 'Unit | Adapter | newcompany', { + // Specify the other units that are required for this test. + // needs: ['serializer:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + let adapter = this.subject(); + assert.ok(adapter); +}); diff --git a/tests/unit/adapters/page-test.js b/tests/unit/adapters/page-test.js new file mode 100644 index 0000000..b95b9b6 --- /dev/null +++ b/tests/unit/adapters/page-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('adapter:page', 'Unit | Adapter | page', { + // Specify the other units that are required for this test. + // needs: ['serializer:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + let adapter = this.subject(); + assert.ok(adapter); +}); diff --git a/tests/unit/adapters/profile-test.js b/tests/unit/adapters/profile-test.js new file mode 100644 index 0000000..6c3bb9d --- /dev/null +++ b/tests/unit/adapters/profile-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('adapter:profile', 'Unit | Adapter | profile', { + // Specify the other units that are required for this test. + // needs: ['serializer:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + let adapter = this.subject(); + assert.ok(adapter); +}); diff --git a/tests/unit/controllers/application-test.js b/tests/unit/controllers/application-test.js new file mode 100644 index 0000000..b71b4a5 --- /dev/null +++ b/tests/unit/controllers/application-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('controller:application', 'Unit | Controller | application', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + let controller = this.subject(); + assert.ok(controller); +}); diff --git a/tests/unit/controllers/company-test.js b/tests/unit/controllers/company-test.js new file mode 100644 index 0000000..569eaf3 --- /dev/null +++ b/tests/unit/controllers/company-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('controller:company', 'Unit | Controller | company', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + let controller = this.subject(); + assert.ok(controller); +}); diff --git a/tests/unit/controllers/login-test.js b/tests/unit/controllers/login-test.js new file mode 100644 index 0000000..b68f797 --- /dev/null +++ b/tests/unit/controllers/login-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('controller:login', 'Unit | Controller | login', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + let controller = this.subject(); + assert.ok(controller); +}); diff --git a/tests/unit/controllers/newcompany-test.js b/tests/unit/controllers/newcompany-test.js new file mode 100644 index 0000000..71a9fbc --- /dev/null +++ b/tests/unit/controllers/newcompany-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('controller:newcompany', 'Unit | Controller | newcompany', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + let controller = this.subject(); + assert.ok(controller); +}); diff --git a/tests/unit/controllers/pages-test.js b/tests/unit/controllers/pages-test.js new file mode 100644 index 0000000..7b4bd35 --- /dev/null +++ b/tests/unit/controllers/pages-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('controller:pages', 'Unit | Controller | pages', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + let controller = this.subject(); + assert.ok(controller); +}); diff --git a/tests/unit/controllers/profile-test.js b/tests/unit/controllers/profile-test.js new file mode 100644 index 0000000..ca1869a --- /dev/null +++ b/tests/unit/controllers/profile-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('controller:profile', 'Unit | Controller | profile', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + let controller = this.subject(); + assert.ok(controller); +}); diff --git a/tests/unit/helpers/eq-test.js b/tests/unit/helpers/eq-test.js new file mode 100644 index 0000000..aed80c9 --- /dev/null +++ b/tests/unit/helpers/eq-test.js @@ -0,0 +1,10 @@ +import { eq } from 'obrand-admin/helpers/eq'; +import { module, test } from 'qunit'; + +module('Unit | Helper | eq'); + +// Replace this with your real tests. +test('it works', function(assert) { + let result = eq([42]); + assert.ok(result); +}); diff --git a/tests/unit/models/account-test.js b/tests/unit/models/account-test.js new file mode 100644 index 0000000..34ddca4 --- /dev/null +++ b/tests/unit/models/account-test.js @@ -0,0 +1,12 @@ +import { moduleForModel, test } from 'ember-qunit'; + +moduleForModel('account', 'Unit | Model | account', { + // Specify the other units that are required for this test. + needs: [] +}); + +test('it exists', function(assert) { + let model = this.subject(); + // let store = this.store(); + assert.ok(!!model); +}); diff --git a/tests/unit/models/application-test.js b/tests/unit/models/application-test.js new file mode 100644 index 0000000..81f8253 --- /dev/null +++ b/tests/unit/models/application-test.js @@ -0,0 +1,12 @@ +import { moduleForModel, test } from 'ember-qunit'; + +moduleForModel('application', 'Unit | Model | application', { + // Specify the other units that are required for this test. + needs: [] +}); + +test('it exists', function(assert) { + let model = this.subject(); + // let store = this.store(); + assert.ok(!!model); +}); diff --git a/tests/unit/models/company-test.js b/tests/unit/models/company-test.js new file mode 100644 index 0000000..f621549 --- /dev/null +++ b/tests/unit/models/company-test.js @@ -0,0 +1,12 @@ +import { moduleForModel, test } from 'ember-qunit'; + +moduleForModel('company', 'Unit | Model | company', { + // Specify the other units that are required for this test. + needs: [] +}); + +test('it exists', function(assert) { + let model = this.subject(); + // let store = this.store(); + assert.ok(!!model); +}); diff --git a/tests/unit/models/newcompany-test.js b/tests/unit/models/newcompany-test.js new file mode 100644 index 0000000..5a91c4d --- /dev/null +++ b/tests/unit/models/newcompany-test.js @@ -0,0 +1,12 @@ +import { moduleForModel, test } from 'ember-qunit'; + +moduleForModel('newcompany', 'Unit | Model | newcompany', { + // Specify the other units that are required for this test. + needs: [] +}); + +test('it exists', function(assert) { + let model = this.subject(); + // let store = this.store(); + assert.ok(!!model); +}); diff --git a/tests/unit/models/page-content-test.js b/tests/unit/models/page-content-test.js new file mode 100644 index 0000000..b99ea33 --- /dev/null +++ b/tests/unit/models/page-content-test.js @@ -0,0 +1,12 @@ +import { moduleForModel, test } from 'ember-qunit'; + +moduleForModel('page-content', 'Unit | Model | page content', { + // Specify the other units that are required for this test. + needs: [] +}); + +test('it exists', function(assert) { + let model = this.subject(); + // let store = this.store(); + assert.ok(!!model); +}); diff --git a/tests/unit/models/page-test.js b/tests/unit/models/page-test.js new file mode 100644 index 0000000..2e05112 --- /dev/null +++ b/tests/unit/models/page-test.js @@ -0,0 +1,12 @@ +import { moduleForModel, test } from 'ember-qunit'; + +moduleForModel('page', 'Unit | Model | page', { + // Specify the other units that are required for this test. + needs: [] +}); + +test('it exists', function(assert) { + let model = this.subject(); + // let store = this.store(); + assert.ok(!!model); +}); diff --git a/tests/unit/models/profile-test.js b/tests/unit/models/profile-test.js new file mode 100644 index 0000000..d6a83f4 --- /dev/null +++ b/tests/unit/models/profile-test.js @@ -0,0 +1,12 @@ +import { moduleForModel, test } from 'ember-qunit'; + +moduleForModel('profile', 'Unit | Model | profile', { + // Specify the other units that are required for this test. + needs: [] +}); + +test('it exists', function(assert) { + let model = this.subject(); + // let store = this.store(); + assert.ok(!!model); +}); diff --git a/tests/unit/routes/about-test.js b/tests/unit/routes/about-test.js new file mode 100644 index 0000000..e4e647c --- /dev/null +++ b/tests/unit/routes/about-test.js @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:about', 'Unit | Route | about', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + let route = this.subject(); + assert.ok(route); +}); diff --git a/tests/unit/routes/application-test.js b/tests/unit/routes/application-test.js new file mode 100644 index 0000000..a6ccea9 --- /dev/null +++ b/tests/unit/routes/application-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:application', 'Unit | Route | application', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] + needs:['service:session-account'] +}); + +test('it exists', function(assert) { + let route = this.subject(); + assert.ok(route); +}); diff --git a/tests/unit/routes/auth-error-test.js b/tests/unit/routes/auth-error-test.js new file mode 100644 index 0000000..2ed6f3d --- /dev/null +++ b/tests/unit/routes/auth-error-test.js @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:auth-error', 'Unit | Route | auth error', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + let route = this.subject(); + assert.ok(route); +}); diff --git a/tests/unit/routes/company-test.js b/tests/unit/routes/company-test.js new file mode 100644 index 0000000..c1b9320 --- /dev/null +++ b/tests/unit/routes/company-test.js @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:company', 'Unit | Route | company', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + let route = this.subject(); + assert.ok(route); +}); diff --git a/tests/unit/routes/index-test.js b/tests/unit/routes/index-test.js new file mode 100644 index 0000000..5d0f50d --- /dev/null +++ b/tests/unit/routes/index-test.js @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:index', 'Unit | Route | index', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + let route = this.subject(); + assert.ok(route); +}); diff --git a/tests/unit/routes/login-test.js b/tests/unit/routes/login-test.js new file mode 100644 index 0000000..e78ebad --- /dev/null +++ b/tests/unit/routes/login-test.js @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:login', 'Unit | Route | login', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + let route = this.subject(); + assert.ok(route); +}); diff --git a/tests/unit/routes/newcompany-test.js b/tests/unit/routes/newcompany-test.js new file mode 100644 index 0000000..77568a3 --- /dev/null +++ b/tests/unit/routes/newcompany-test.js @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:newcompany', 'Unit | Route | newcompany', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + let route = this.subject(); + assert.ok(route); +}); diff --git a/tests/unit/routes/pages-test.js b/tests/unit/routes/pages-test.js new file mode 100644 index 0000000..e6659ab --- /dev/null +++ b/tests/unit/routes/pages-test.js @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:pages', 'Unit | Route | pages', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + let route = this.subject(); + assert.ok(route); +}); diff --git a/tests/unit/routes/profile-test.js b/tests/unit/routes/profile-test.js new file mode 100644 index 0000000..dd2746c --- /dev/null +++ b/tests/unit/routes/profile-test.js @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:profile', 'Unit | Route | profile', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + let route = this.subject(); + assert.ok(route); +}); diff --git a/tests/unit/routes/signup-test.js b/tests/unit/routes/signup-test.js new file mode 100644 index 0000000..cfe4a3f --- /dev/null +++ b/tests/unit/routes/signup-test.js @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:signup', 'Unit | Route | signup', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + let route = this.subject(); + assert.ok(route); +}); diff --git a/tests/unit/routes/venue-test.js b/tests/unit/routes/venue-test.js new file mode 100644 index 0000000..d1d7b60 --- /dev/null +++ b/tests/unit/routes/venue-test.js @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:venue', 'Unit | Route | venue', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + let route = this.subject(); + assert.ok(route); +}); diff --git a/tests/unit/serializers/useful-test.js b/tests/unit/serializers/useful-test.js new file mode 100644 index 0000000..4c70377 --- /dev/null +++ b/tests/unit/serializers/useful-test.js @@ -0,0 +1,15 @@ +import { moduleForModel, test } from 'ember-qunit'; + +moduleForModel('useful', 'Unit | Serializer | useful', { + // Specify the other units that are required for this test. + needs: ['serializer:useful'] +}); + +// Replace this with your real tests. +test('it serializes records', function(assert) { + let record = this.subject(); + + let serializedRecord = record.serialize(); + + assert.ok(serializedRecord); +}); diff --git a/tests/unit/services/session-account-test.js b/tests/unit/services/session-account-test.js new file mode 100644 index 0000000..8259daa --- /dev/null +++ b/tests/unit/services/session-account-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('service:session-account', 'Unit | Service | session account', { + // Specify the other units that are required for this test. + // needs: ['service:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + let service = this.subject(); + assert.ok(service); +}); diff --git a/vendor/.gitkeep b/vendor/.gitkeep new file mode 100644 index 0000000..e69de29

Ro6l8audUgpUD{Ssei{}FF<)VP+ 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