2013-11-16 00:25:09 +00:00
|
|
|
script(id='partials/options.settings.html', type="text/ng-template")
|
2014-04-15 22:40:21 +00:00
|
|
|
ul.options-menu
|
2013-11-16 00:25:09 +00:00
|
|
|
li(ng-class="{ active: $state.includes('options.settings.settings') }")
|
|
|
|
|
a(ui-sref='options.settings.settings')
|
2014-01-19 20:03:01 +00:00
|
|
|
=env.t('settings')
|
2013-11-16 00:25:09 +00:00
|
|
|
li(ng-class="{ active: $state.includes('options.settings.api') }")
|
|
|
|
|
a(ui-sref='options.settings.api')
|
2014-01-19 20:03:01 +00:00
|
|
|
=env.t('API')
|
2013-11-16 00:25:09 +00:00
|
|
|
li(ng-class="{ active: $state.includes('options.settings.export') }")
|
|
|
|
|
a(ui-sref='options.settings.export')
|
2014-01-30 20:25:25 +00:00
|
|
|
=env.t('dataExport')
|
2014-04-16 17:33:03 +00:00
|
|
|
li(ng-class="{ active: $state.includes('options.settings.coupon') }")
|
|
|
|
|
a(ui-sref='options.settings.coupon')
|
|
|
|
|
| Coupon
|
2014-01-28 00:34:22 +00:00
|
|
|
li(ng-class="{ active: $state.includes('options.settings.subscription') }")
|
2014-01-29 00:30:05 +00:00
|
|
|
a(ui-sref='options.settings.subscription')=env.t('subscription')
|
2013-11-16 00:25:09 +00:00
|
|
|
|
|
|
|
|
.tab-content
|
|
|
|
|
.tab-pane.active
|
|
|
|
|
div(ui-view)
|
|
|
|
|
|
|
|
|
|
script(type='text/ng-template', id='partials/options.settings.settings.html')
|
2014-04-27 12:02:23 +00:00
|
|
|
.container-fluid
|
2014-02-05 18:54:50 +00:00
|
|
|
.row
|
|
|
|
|
.personal-options.col-md-6
|
2014-04-16 19:31:13 +00:00
|
|
|
.panel.panel-default
|
|
|
|
|
.panel-heading
|
|
|
|
|
=env.t('settings')
|
|
|
|
|
.panel-body
|
|
|
|
|
|
|
|
|
|
.form-horizontal
|
|
|
|
|
h5=env.t('language')
|
|
|
|
|
select.form-control(ng-model='language.code', ng-options='lang.code as lang.name for lang in avalaibleLanguages', ng-change='changeLanguage()')
|
2014-07-13 16:00:35 +00:00
|
|
|
small
|
|
|
|
|
!=env.t('americanEnglishGovern')
|
|
|
|
|
br
|
|
|
|
|
strong
|
|
|
|
|
!=env.t('helpWithTranslation')
|
2014-04-16 19:31:13 +00:00
|
|
|
.checkbox
|
|
|
|
|
label
|
2014-06-22 16:45:27 +00:00
|
|
|
input(type='checkbox', ng-click='hideHeader() ', ng-checked='user.preferences.hideHeader!==true')
|
2014-04-16 19:31:13 +00:00
|
|
|
span.hint(popover-trigger='mouseenter', popover-placement='right', popover=env.t('showHeaderPop'))=env.t('showHeader')
|
|
|
|
|
.checkbox
|
|
|
|
|
label
|
2014-06-18 03:02:35 +00:00
|
|
|
input(type='checkbox', ng-click='toggleStickyHeader()', ng-checked='user.preferences.stickyHeader!==false', ng-disabled="user.preferences.hideHeader!==false")
|
2014-04-16 19:31:13 +00:00
|
|
|
span.hint(popover-trigger='mouseenter', popover-placement='right', popover=env.t('stickyHeaderPop'))=env.t('stickyHeader')
|
|
|
|
|
.checkbox
|
|
|
|
|
label
|
|
|
|
|
input(type='checkbox', ng-model='user.preferences.newTaskEdit', ng-change='set({"preferences.newTaskEdit": user.preferences.newTaskEdit?true: false})')
|
|
|
|
|
span.hint(popover-trigger='mouseenter', popover-placement='right', popover=env.t('newTaskEditPop'))=env.t('newTaskEdit')
|
|
|
|
|
.checkbox
|
|
|
|
|
label
|
|
|
|
|
input(type='checkbox', ng-model='user.preferences.tagsCollapsed', ng-change='set({"preferences.tagsCollapsed": user.preferences.tagsCollapsed?true: false})')
|
|
|
|
|
span.hint(popover-trigger='mouseenter', popover-placement='right', popover=env.t('startCollapsedPop'))=env.t('startCollapsed')
|
|
|
|
|
.checkbox
|
|
|
|
|
label
|
|
|
|
|
input(type='checkbox', ng-model='user.preferences.advancedCollapsed', ng-change='set({"preferences.advancedCollapsed": user.preferences.advancedCollapsed?true: false})')
|
|
|
|
|
span.hint(popover-trigger='mouseenter', popover-placement='right', popover=env.t('startAdvCollapsedPop'))=env.t('startAdvCollapsed')
|
2014-10-19 19:49:50 +00:00
|
|
|
.checkbox
|
|
|
|
|
label
|
|
|
|
|
input(type='checkbox', ng-model='user.preferences.dailyDueDefaultView', ng-change='set({"preferences.dailyDueDefaultView": user.preferences.dailyDueDefaultView?true: false})')
|
|
|
|
|
span.hint(popover-trigger='mouseenter', popover-placement='right', popover=env.t('dailyDueDefaultViewPop'))=env.t('dailyDueDefaultView')
|
2014-04-16 19:31:13 +00:00
|
|
|
button.btn.btn-default(ng-click='showTour()', popover-placement='right', popover-trigger='mouseenter', popover=env.t('restartTour'))= env.t('showTour')
|
|
|
|
|
button.btn.btn-default(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showBaileyPop'))= env.t('showBailey')
|
|
|
|
|
button.btn.btn-default(ng-click='openRestoreModal()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('fixValPop'))= env.t('fixVal')
|
2014-11-27 10:32:57 +00:00
|
|
|
button.btn.btn-default(ng-click="openModal('invite-friends', {controller:'GroupsCtrl'})") Invite Friends
|
2014-04-16 19:31:13 +00:00
|
|
|
button.btn.btn-default(ng-if='user.preferences.disableClasses==true', ng-click='user.ops.changeClass({})', popover-trigger='mouseenter', popover-placement='right', popover=env.t('enableClassPop'))= env.t('enableClass')
|
|
|
|
|
button.btn.btn-default(ng-if='!user.preferences.disableClasses && user.flags.classSelected', ng-click='showClassesTour()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('classTourPop'))= env.t('showClass')
|
|
|
|
|
|
|
|
|
|
div.alert.alert-warning(style='padding:2px;margin-top:7px')
|
|
|
|
|
h5.hint(popover=env.t('clockInfo'), popover-trigger='mouseenter')=env.t('customDayStart')
|
|
|
|
|
.form-group
|
|
|
|
|
.input-group
|
|
|
|
|
input.form-control(type='number', min='0', max='24', ng-model='user.preferences.dayStart', ng-change='saveDayStart()')
|
|
|
|
|
span.input-group-addon= ':00 (' + env.t('24HrClock') + ')'
|
|
|
|
|
small
|
|
|
|
|
=env.t('subWarning1')
|
|
|
|
|
|
|
|
|
|
|
a(href='https://github.com/HabitRPG/habitrpg/issues/1057' target='_blank')=env.t('subWarning2')
|
|
|
|
|
|
|
|
|
|
|
=env.t('subWarning3')
|
2013-09-06 13:55:24 +00:00
|
|
|
|
2014-08-25 23:59:57 +00:00
|
|
|
.panel.panel-default
|
2014-04-16 17:33:03 +00:00
|
|
|
.panel-heading
|
2014-08-25 23:59:57 +00:00
|
|
|
span Registration
|
2014-04-16 17:33:03 +00:00
|
|
|
.panel-body
|
2014-08-25 23:59:57 +00:00
|
|
|
p(ng-if='user.auth.facebook.id') Registered with Facebook
|
|
|
|
|
div(ng-if='user.auth.local.username')
|
|
|
|
|
p Username: {{user.auth.local.username}}
|
|
|
|
|
p Email: {{user.auth.local.email}}
|
|
|
|
|
hr
|
|
|
|
|
h5=env.t('changeUsername')
|
2014-06-12 14:34:10 +00:00
|
|
|
form(ng-submit='changeUsername(changeUser)', ng-show='user.auth.local')
|
|
|
|
|
.form-group
|
|
|
|
|
input.form-control(type='text', placeholder=env.t('newUsername'), ng-model='changeUser.newUsername', required)
|
|
|
|
|
.form-group
|
|
|
|
|
input.form-control(type='password', placeholder=env.t('password'), ng-model='changeUser.password', required)
|
|
|
|
|
input.btn.btn-default(type='submit', value=env.t('submit'))
|
2014-08-25 23:59:57 +00:00
|
|
|
h5=env.t('changePass')
|
2014-04-16 19:31:13 +00:00
|
|
|
form(ng-submit='changePassword(changePass)', ng-show='user.auth.local')
|
|
|
|
|
.form-group
|
|
|
|
|
input.form-control(type='password', placeholder=env.t('oldPass'), ng-model='changePass.oldPassword', required)
|
|
|
|
|
.form-group
|
|
|
|
|
input.form-control(type='password', placeholder=env.t('newPass'), ng-model='changePass.newPassword', required)
|
|
|
|
|
.form-group
|
|
|
|
|
input.form-control(type='password', placeholder=env.t('confirmPass'), ng-model='changePass.confirmNewPassword', required)
|
|
|
|
|
input.btn.btn-default(type='submit', value=env.t('submit'))
|
|
|
|
|
|
2014-02-05 18:54:50 +00:00
|
|
|
|
2014-04-16 19:31:13 +00:00
|
|
|
.panel.panel-default
|
|
|
|
|
.panel-heading
|
|
|
|
|
span=env.t('dangerZone')
|
|
|
|
|
.panel-body
|
|
|
|
|
a.btn.btn-danger(ng-click='openModal("reset", {controller:"SettingsCtrl"})', popover-trigger='mouseenter', popover-placement='right', popover=env.t('resetAccPop'))= env.t('resetAccount')
|
|
|
|
|
a.btn.btn-danger(ng-click='openModal("delete", {controller:"SettingsCtrl"})', popover-trigger='mouseenter', popover=env.t('deleteAccPop'))= env.t('deleteAccount')
|
2013-11-16 00:25:09 +00:00
|
|
|
|
2014-04-16 17:33:03 +00:00
|
|
|
script(type='text/ng-template', id='partials/options.settings.coupon.html')
|
2014-04-27 12:02:23 +00:00
|
|
|
.container-fluid
|
2014-04-16 17:33:03 +00:00
|
|
|
.row
|
|
|
|
|
.col-md-6
|
|
|
|
|
h2 Coupon
|
|
|
|
|
form.form-inline(role='form',ng-submit='enterCoupon(_couponCode)')
|
|
|
|
|
input.form-control(type='text', ng-model='_couponCode', placeholder='Enter Coupon Code')
|
|
|
|
|
button.btn.btn-primary(type='submit') Submit
|
|
|
|
|
div
|
|
|
|
|
small We sometimes have events and give out coupon codes for special gear. (eg, those who stop by our Wondercon booth)
|
|
|
|
|
div(ng-if='user.contributor.sudo')
|
|
|
|
|
hr
|
|
|
|
|
h4 Generate Codes
|
|
|
|
|
form.form(role='form',ng-submit='generateCodes(_codes)',ng-init='_codes={}')
|
|
|
|
|
.form-group
|
|
|
|
|
input.form-control(type='text',ng-model='_codes.event',placeholder="Event code (eg, 'wondercon')")
|
|
|
|
|
.form-group
|
|
|
|
|
input.form-control(type='number',ng-model='_codes.count',placeholder="Number of codes to generate (eg, 250)")
|
|
|
|
|
.form-group
|
|
|
|
|
button.btn.btn-primary(type='submit') Generate
|
|
|
|
|
a.btn.btn-default(href='/api/v2/coupons?_id={{user._id}}&apiToken={{user.apiToken}}') Get Codes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-16 00:25:09 +00:00
|
|
|
script(type='text/ng-template', id='partials/options.settings.api.html')
|
2014-04-27 12:02:23 +00:00
|
|
|
.container-fluid
|
2014-02-05 18:54:50 +00:00
|
|
|
.row
|
|
|
|
|
.col-md-6
|
|
|
|
|
h2=env.t('API')
|
|
|
|
|
small=env.t('APIText')
|
|
|
|
|
h6=env.t('userId')
|
|
|
|
|
pre.prettyprint {{user.id}}
|
|
|
|
|
h6=env.t('APIToken')
|
|
|
|
|
pre.prettyprint {{user.apiToken}}
|
|
|
|
|
h6=env.t('qrCode')
|
|
|
|
|
img(src='https://chart.googleapis.com/chart?cht=qr&chs=200x200&chl=%7B%22address%22%3A%22https%3A%2F%2Fhabitrpg.com%22%2C%22user%22%3A%22{{user.id}}%22%2C%22key%22%3A%22{{user.apiToken}}%22%7D&choe=UTF-8&chld=L', alt='qrcode')
|
2013-11-16 00:25:09 +00:00
|
|
|
|
2014-11-27 10:32:57 +00:00
|
|
|
hr
|
|
|
|
|
|
|
|
|
|
h2 Webhooks
|
|
|
|
|
table.table.table-striped
|
|
|
|
|
thead(ng-if='hasWebhooks')
|
|
|
|
|
tr
|
|
|
|
|
th Enabled
|
|
|
|
|
th Webhook URL
|
|
|
|
|
th
|
|
|
|
|
tbody
|
|
|
|
|
tr(ng-repeat="webhook in user.preferences.webhooks | toArray:true | orderBy:'sort'")
|
|
|
|
|
td
|
|
|
|
|
input(type='checkbox', ng-model='webhook.enabled', ng-change='saveWebhook(webhook.$key,webhook)')
|
|
|
|
|
td
|
|
|
|
|
input.form-control(type='url', ng-model='webhook.url', ng-change='webhook._editing=true', ui-keyup="{13:'saveWebhook(webhook.$key,webhook)'}")
|
|
|
|
|
td
|
|
|
|
|
span.pull-left(ng-show='webhook._editing') *
|
|
|
|
|
a.checklist-icons(ng-click='deleteWebhook(webhook.$key)')
|
|
|
|
|
span.glyphicon.glyphicon-trash(tooltip=env.t('delete'))
|
|
|
|
|
tr
|
|
|
|
|
td(colspan=2)
|
|
|
|
|
form.form-horizontal(ng-submit='addWebhook(_newWebhook.url)')
|
|
|
|
|
.form-group.col-sm-10
|
|
|
|
|
input.form-control(type='url', ng-model='_newWebhook.url', placeholder='Webhook URL')
|
|
|
|
|
.col-sm-2
|
|
|
|
|
button.btn.btn-sm.btn-primary(type='submit') Add
|
|
|
|
|
|
2013-11-16 00:25:09 +00:00
|
|
|
script(id='partials/options.settings.export.html', type="text/ng-template")
|
2014-04-27 12:02:23 +00:00
|
|
|
.container-fluid
|
2014-02-05 18:54:50 +00:00
|
|
|
.row
|
|
|
|
|
.col-md-6
|
|
|
|
|
h2=env.t('dataExport')
|
|
|
|
|
small=env.t('saveData')
|
|
|
|
|
h4=env.t('habitHistory')
|
|
|
|
|
=env.t('exportHistory')
|
|
|
|
|
a(href="/export/history.csv")= ' ' + env.t('csv')
|
|
|
|
|
h4=env.t('userData')
|
|
|
|
|
=env.t('exportUserData')
|
|
|
|
|
a(href="/export/userdata.xml")= ' ' + env.t('xml') + ' '
|
|
|
|
|
a(href="/export/userdata.json")= env.t('json')
|
2014-01-28 00:34:22 +00:00
|
|
|
|
|
|
|
|
script(id='partials/options.settings.subscription.perks.html',type='text/ng-template')
|
|
|
|
|
table.table.table-striped
|
|
|
|
|
tr
|
|
|
|
|
td
|
2014-02-06 23:58:40 +00:00
|
|
|
span.hint(popover=env.t('disableAdsText'),popover-trigger='mouseenter',popover-placement='right')=env.t('disableAds')
|
2014-01-28 00:34:22 +00:00
|
|
|
tr
|
|
|
|
|
td
|
2014-02-06 23:58:40 +00:00
|
|
|
span.hint(popover=env.t('buyGemsGoldText', {gemCost: "{{Shared.planGemLimits.convRate}}", gemLimit: "{{Shared.planGemLimits.convCap}}"}),popover-trigger='mouseenter',popover-placement='right')=env.t('buyGemsGold')
|
2014-01-28 00:34:22 +00:00
|
|
|
tr
|
|
|
|
|
td
|
2014-02-06 23:58:40 +00:00
|
|
|
span.hint(popover=env.t('retainHistoryText'),popover-trigger='mouseenter',popover-placement='right')=env.t('retainHistory')
|
2014-01-28 00:34:22 +00:00
|
|
|
tr
|
|
|
|
|
td
|
2014-02-06 23:58:40 +00:00
|
|
|
span.hint(popover=env.t('doubleDropsText'),popover-trigger='mouseenter',popover-placement='right')=env.t('doubleDrops')
|
2014-02-20 16:18:40 +00:00
|
|
|
tr
|
|
|
|
|
td
|
2014-02-21 00:28:31 +00:00
|
|
|
span.hint(popover=env.t('mysteryItemText'),popover-trigger='mouseenter',popover-placement='right')=env.t('mysteryItem')
|
2014-01-28 00:34:22 +00:00
|
|
|
tr
|
|
|
|
|
td
|
2014-02-06 23:58:40 +00:00
|
|
|
span.hint(popover=env.t('supportDevsText'),popover-trigger='mouseenter',popover-placement='right')=env.t('supportDevs')
|
2014-01-28 00:34:22 +00:00
|
|
|
tr
|
2014-01-29 00:30:05 +00:00
|
|
|
td.alert.alert-info $5
|
|
|
|
|
=env.t('monthUSD')
|
2014-01-28 00:34:22 +00:00
|
|
|
|
|
|
|
|
script(id='partials/feature-matrix-check.html',type='text/ng-template')
|
|
|
|
|
span.task-checker.action-yesno
|
|
|
|
|
input.focusable(type='checkbox', checked)
|
|
|
|
|
label
|
|
|
|
|
|
|
|
|
|
script(id='partials/options.settings.subscription.html',type='text/ng-template')
|
2014-11-27 10:32:57 +00:00
|
|
|
.well(ng-init="p = user.purchased.plan")
|
|
|
|
|
div(ng-if='p.customerId')
|
|
|
|
|
p.alert.alert-warning(ng-if='p.dateTerminated')
|
|
|
|
|
i.glyphicon.glyphicon-time
|
|
|
|
|
| #{env.t('subCanceled')} <strong>{{moment(p.dateTerminated).format('MM/DD/YYYY')}}</strong>
|
|
|
|
|
p.alert.alert-success(ng-if='!p.dateTerminated')=env.t('subscribed')
|
2014-11-26 19:39:30 +00:00
|
|
|
p.alert.alert-success(ng-if='p.extraMonths')
|
|
|
|
|
span.glyphicon.glyphicon-credit-card
|
|
|
|
|
| You have {{p.extraMonths | number:2}} months of subscription credit.
|
2014-11-27 10:32:57 +00:00
|
|
|
|
|
|
|
|
h2=env.t('individualSub')
|
|
|
|
|
div(ng-include="'partials/options.settings.subscription.perks.html'")
|
|
|
|
|
|
|
|
|
|
div(ng-if='!p.customerId || (p.customerId && p.dateTerminated)')
|
|
|
|
|
h3(ng-if='(p.customerId && p.dateTerminated)') Resubscribe
|
2014-11-26 22:14:23 +00:00
|
|
|
a.btn.btn-primary(ng-click='showStripe({subscription:true})') Card
|
2014-11-27 10:32:57 +00:00
|
|
|
//a.btn.btn-warning(ng-click='paypalSubscribe()') PayPal
|
|
|
|
|
a.btn.btn-warning(href='/paypal/subscribe?_id={{user._id}}&apiToken={{user.apiToken}}') PayPal
|
|
|
|
|
div(ng-if='p.customerId')
|
|
|
|
|
.btn.btn-primary(ng-if='!p.dateTerminated && p.paymentMethod=="Stripe"', ng-click='showStripeEdit()') Update Card
|
|
|
|
|
.btn.btn-sm.btn-danger(ng-if='!p.dateTerminated', ng-click='cancelSubscription()')=env.t('cancelSub')
|