Add customer portal and license dispenser to fleetdm.com (#3546)
* Add images for customer portal, dashboard, and email templates * updated email layout and reset password template, new email template * update ajax-button component to have an optional spinner * updated cloud-error & stripe-card-element component styles * updates to user model, add quote and subscription * Login, signup, forgot password, update profile * link to customer portal from pricing * new-license page, bootstrap updates * create quote action, dashboard page, update routes * Add new page styles to importer, update component styles * updates to js-timestamp * update modal styles and layout * using @submitted on ajax form, controller updates * Update create-quote.js * updates to quote model, action updates, truncate license key on dashboard * update email layout, subscribe action, user model * Update importer.less * style updates, order confirmation * use correct font * style updates * create license key * new-license page changes * signup page changes * add billing format to js-timestamp component, dashboard updates, change password * swap get started link for customers * order -> subscription * Update login.ejs * Lint fixes, page updates, mobile styles * remove edit-profile route, update layout, bootstrap, forms * change customer-layout name to match other layout names, update copyright year in layouts * changes requested from code review and #3570 * submit button width, contact font-size * Update dashboard.less * Update bootstrap-overrides.less * slack logo update, login text
This commit is contained in:
Vendored
+63
@@ -0,0 +1,63 @@
|
||||
/**
|
||||
* Subscription.js
|
||||
*
|
||||
* @description :: A model definition represents a database table/collection.
|
||||
* @docs :: https://sailsjs.com/docs/concepts/models-and-orm/models
|
||||
*/
|
||||
|
||||
module.exports = {
|
||||
|
||||
attributes: {
|
||||
|
||||
// ╔═╗╦═╗╦╔╦╗╦╔╦╗╦╦ ╦╔═╗╔═╗
|
||||
// ╠═╝╠╦╝║║║║║ ║ ║╚╗╔╝║╣ ╚═╗
|
||||
// ╩ ╩╚═╩╩ ╩╩ ╩ ╩ ╚╝ ╚═╝╚═╝
|
||||
|
||||
nextBillingAt: {
|
||||
type: 'number',
|
||||
description: 'A JS Timestamp representing the next billing date for this subscription',
|
||||
required: true,
|
||||
},
|
||||
|
||||
numberOfHosts: {
|
||||
type: 'number',
|
||||
description: 'The number of hosts this subscription is valid for',
|
||||
required: true,
|
||||
},
|
||||
|
||||
subscriptionPrice: {
|
||||
type: 'number',
|
||||
description: 'The price of this Fleet Premium subscription',
|
||||
required: true,
|
||||
},
|
||||
|
||||
stripeSubscriptionId: {
|
||||
type: 'string',
|
||||
description: 'The stripe id for this subscription',
|
||||
required: true,
|
||||
},
|
||||
|
||||
fleetLicenseKey: {
|
||||
type: 'string',
|
||||
example:'1234 1234 1234 1234 1234',
|
||||
description: 'The user\'s Fleet Premium license key'
|
||||
},
|
||||
|
||||
// ╔═╗╔╦╗╔╗ ╔═╗╔╦╗╔═╗
|
||||
// ║╣ ║║║╠╩╗║╣ ║║╚═╗
|
||||
// ╚═╝╩ ╩╚═╝╚═╝═╩╝╚═╝
|
||||
|
||||
|
||||
// ╔═╗╔═╗╔═╗╔═╗╔═╗╦╔═╗╔╦╗╦╔═╗╔╗╔╔═╗
|
||||
// ╠═╣╚═╗╚═╗║ ║║ ║╠═╣ ║ ║║ ║║║║╚═╗
|
||||
// ╩ ╩╚═╝╚═╝╚═╝╚═╝╩╩ ╩ ╩ ╩╚═╝╝╚╝╚═╝
|
||||
user: {
|
||||
model: 'User',
|
||||
description: 'The user who started this subscription.',
|
||||
required: true
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user