diff options
Diffstat (limited to 'views/staff/plans')
| -rw-r--r-- | views/staff/plans/_form.ejs | 154 | ||||
| -rw-r--r-- | views/staff/plans/edit.ejs | 13 | ||||
| -rw-r--r-- | views/staff/plans/index.ejs | 65 | ||||
| -rw-r--r-- | views/staff/plans/new.ejs | 13 |
4 files changed, 245 insertions, 0 deletions
diff --git a/views/staff/plans/_form.ejs b/views/staff/plans/_form.ejs new file mode 100644 index 0000000..85375fa --- /dev/null +++ b/views/staff/plans/_form.ejs @@ -0,0 +1,154 @@ +<input type="hidden" id="_csrf" name="_csrf" value="[[- token ]]"> + +<ul> + +<li class="section_break"> + <h3>New Plan</h3> +</li> + +<li> + <label for="plan_name">Name</label> + <div><input id="plan_name" name="name" type="text" value="[[- plan.name ]]"></div> +</li> + +<li> + <label for="plan_slug">Slug</label> + <div><input id="plan_slug" name="slug" type="text" value="[[- plan.slug ]]"></div> +</li> + +<li> + <label for="plan_level">Level</label> + <div><input id="plan_level" name="level" type="number" min="0" value="[[- plan.level ]]"></div> +</li> + +<!-- - - - - --> + +<li class="section_break"> + <h3>Plan Pricing</h3> +</li> + +<li> + <label for="plan_monthly_price">Monthly Price</label> + <div><input id="plan_monthly_price" name="monthly_price" type="number" min="0" value="[[- plan.monthly_price ]]"></div> +</li> + +<li> + <label for="plan_yearly_price">Yearly Price</label> + <div><input id="plan_yearly_price" name="yearly_price" type="number" min="0" value="[[- plan.yearly_price ]]"></div> +</li> + +<p> + <i>Note:</i> Pricing should be in cents, i.e. a price of $10.00 should be entered as 1000. +</p> + +<!-- - - - - --> + +<li class="section_break"> + <h3>Additional Template Pricing</h3> +</li> + +<li> + <label for="plan_basic_layout_monthly_price">Basic Template Price (Monthly)</label> + <div><input id="plan_basic_layout_monthly_price" name="basic_layout_monthly_price" type="number" min="0" value="[[- plan.basic_layout_monthly_price ]]"></div> +</li> + +<li> + <label for="plan_basic_layout_yearly_price">Basic Template Price (Yearly)</label> + <div><input id="plan_basic_layout_yearly_price" name="basic_layout_yearly_price" type="number" min="0" value="[[- plan.basic_layout_yearly_price ]]"></div> +</li> + +<li> + <label for="plan_pro_layout_monthly_price">Pro Template Price (Monthly)</label> + <div><input id="plan_pro_layout_monthly_price" name="pro_layout_monthly_price" type="number" min="0" value="[[- plan.pro_layout_monthly_price ]]"></div> +</li> + +<li> + <label for="plan_pro_layout_yearly_price">Pro Template Price (Yearly)</label> + <div><input id="plan_pro_layout_yearly_price" name="pro_layout_yearly_price" type="number" min="0" value="[[- plan.pro_layout_yearly_price ]]"></div> +</li> + +<!-- - - - - --> + +<li class="section_break"> + <h3>Per-Plan Template Limits</h3> +</li> + +<li> + <label for="plan_basic_layout_limit">Basic Template Limit</label> + <div><input id="plan_basic_layout_limit" name="basic_layout_limit" type="number" min="0" value="[[- plan.basic_layout_limit ]]"></div> +</li> + +<li> + <label for="plan_pro_layout_limit">Pro Template Limit</label> + <div><input id="plan_pro_layout_limit" name="pro_layout_limit" type="number" min="0" value="[[- plan.pro_layout_limit ]]"></div> +</li> + +<!-- - - - - --> + +<li class="section_break"> + <h3>Per-Plan Project Limits</h3> +</li> + +<li> + <label for="plan_stock_project_limit">Stock Project Limit</label> + <div><input id="plan_stock_project_limit" name="stock_project_limit" type="number" min="0" value="[[- plan.stock_project_limit ]]"></div> +</li> + +<li> + <label for="plan_basic_project_limit">Basic Project Limit</label> + <div><input id="plan_basic_project_limit" name="basic_project_limit" type="number" min="0" value="[[- plan.basic_project_limit ]]"></div> +</li> + +<li> + <label for="plan_pro_project_limit">Pro Project Limit</label> + <div><input id="plan_pro_project_limit" name="pro_project_limit" type="number" min="0" value="[[- plan.pro_project_limit ]]"></div> +</li> + +<!-- - - - - --> + +<li class="section_break"> + <h3>Permissions</h3> +</li> + +<div> +<li> + <input name="permissions_basic_editor" type="hidden" value="0"> + <input id="plan_permissions_basic_editor" name="permissions_basic_editor" type="checkbox" value="1" [[ if (plan.permissions.basic_editor) { ]]checked[[ } ]]> + <label for="plan_permissions_basic_editor">Basic Editor</label> +</li> + +<li> + <input name="permissions_pro_editor" type="hidden" value="0"> + <input id="plan_permissions_pro_editor" name="permissions_pro_editor" type="checkbox" value="1" [[ if (plan.permissions.pro_editor) { ]]checked[[ } ]]> + <label for="plan_permissions_pro_editor">Pro Editor</label> +</li> + +<li> + <input name="permissions_sculpture" type="hidden" value="0"> + <input id="plan_permissions_sculpture" name="permissions_sculpture" type="checkbox" value="1" [[ if (plan.permissions.sculpture) { ]]checked[[ } ]]> + <label for="plan_permissions_sculpture">3D Objects</label> +</li> + +<li> + <input name="permissions_collaborators" type="hidden" value="0"> + <input id="plan_permissions_collaborators" name="permissions_collaborators" type="checkbox" value="1" [[ if (plan.permissions.collaborators) { ]]checked[[ } ]]> + <label for="plan_permissions_collaborators">Collaborators</label> +</li> + +<li> + <input name="permissions_no_logo" type="hidden" value="0"> + <input id="plan_permissions_no_logo" name="permissions_no_logo" type="checkbox" value="1" [[ if (plan.permissions.no_logo) { ]]checked[[ } ]]> + <label for="plan_permissions_no_logo">No Logo</label> +</li> + +<p> + These permissions should harmonize with the restrictions on layouts set above. +</p> + +</div> + +<li> + <input type="submit" value="Save Changes"> +</li> + +</ul> diff --git a/views/staff/plans/edit.ejs b/views/staff/plans/edit.ejs new file mode 100644 index 0000000..9848873 --- /dev/null +++ b/views/staff/plans/edit.ejs @@ -0,0 +1,13 @@ +[[ include ../_header ]] + + <h1>Edit Plan</h1> + +[[ include ../_nav ]] + + <hr> + +<form action="" method="post"> +[[- include _form ]] +</form> + +[[ include ../_footer ]] diff --git a/views/staff/plans/index.ejs b/views/staff/plans/index.ejs new file mode 100644 index 0000000..16fcf14 --- /dev/null +++ b/views/staff/plans/index.ejs @@ -0,0 +1,65 @@ +[[ include ../_header ]] + + <h1>Plans</h1> + +[[ include ../_nav ]] + + <hr> + +<table> + <tr> + <td> + </td> + [[ plans.forEach(function(plan){ ]] + <td style="text-align:right; min-width: 100px;"> + <b style="text-transform:uppercase">[[- plan.name ]]</b> + </td> + [[ }) ]] + </tr> + + <tr class="editLinks"> + <td> + <a href="/staff/plans/new">New Plan</a> + </td> + [[ plans.forEach(function(plan){ ]] + <td style="text-align:right"> + [<a href="/staff/plans/[[- plan.slug ]]">edit</a>] + </td> + [[ }) ]] + </tr> + + [[ fields.forEach(function(field){ ]] + <tr> + <td style="text-transform:capitalize">[[- field.replace(/_/g," ") ]]</td> + [[ plans.forEach(function(plan){ ]] + <td style="text-align:right"> + [[ if (field.indexOf("_price") != -1) { ]] + [[- plan[field] == 0 ? "" : "$" + (plan[field]/100).toFixed(2) ]] + [[ } else { ]] + [[- plan[field] ]] + [[ } ]] + </td> + [[ }) ]] + </tr> + [[ }) ]] + + <tr> + <td style="border-bottom: 1px dotted #888;" colspan='10'></td> + </tr> + + [[ permissions.forEach(function(permission){ ]] + <tr> + <td style="text-transform:capitalize">[[- permission.replace(/_/g," ") ]]</td> + [[ plans.forEach(function(plan){ ]] + <td style="text-align:right"> + [[- plan.permissions[permission] ? "<b>x</b>" : " " ]] + </td> + [[ }) ]] + </tr> + [[ }) ]] +</table> +<br clear="all"> + + <hr> + +[[ include ../_footer ]] diff --git a/views/staff/plans/new.ejs b/views/staff/plans/new.ejs new file mode 100644 index 0000000..297d3d6 --- /dev/null +++ b/views/staff/plans/new.ejs @@ -0,0 +1,13 @@ +[[ include ../_header ]] + + <h1>New Plan</h1> + +[[ include ../_nav ]] + + <hr> + +<form action="" method="post"> +[[- include _form ]] +</form> + +[[ include ../_footer ]] |
