UNPKG

strider

Version:

Brilliant continuous deployment platform

197 lines (178 loc) 9.04 kB
{% extends "base.html" %} {% block preTitle %} Account - {% endblock %} {% block extra_head %} <link rel="stylesheet" href="/styles/account-plugins-compiled.css"> {% endblock %} {% block bodyContent %} <script> var user = {{ user | scriptjson | raw }}; var providers = {{ providers | scriptjson | raw }}; </script> <div class="row-fluid" ng-app="Account" ng-controller="AlertsController"> <div class="span12"> <h3>Account Management</h3> </div> <div class="notify-wrapper pull-right"> <div id="notify" ng-class="{ visible: message.showing }" class="alert alert-[[ message.type ]]"> <a type="button" class="close" ng-click="clearMessage()">&times;</a> <div class="message" ng-bind-html="message.text"></div> </div> </div> <div class="row-fluid"> <div class="span12"> <div class="tabbable tabs-left" ng-controller="AccountController"> <ul class="nav nav-tabs"> <li class="active"><a href="#email" data-toggle="tab">Email Address</a></li> <li><a href="#password" data-toggle="tab">Password</a></li> {% if jobsQuantityOnPage.enabled %} <li><a href="#jobsQuantityOnPage" data-toggle="tab">Job Settings</a></li> {% endif %} {% for provider in providers %} <li> <a href="#provider-{{ loop.key }}" data-toggle="tab">{{ provider.title }}</a> </li> {% endfor %} {% for job in userConfigs.job %} <li> <a href="#job-{{ loop.key }}" data-toggle="tab">{{ job.title }}</a> </li> {% endfor %} </ul> <div class="tab-content"> {# To configure what shows up here, change the "accountConfig" option in the strider.json definition for the provider plugin. This only shows up if "hosted" is true #} {% for message in flash %} <div class="alert alert-info">{{ message|raw }}</div> {% endfor %} {% for provider in providers %} <div id="provider-{{loop.key}}" class="tab-pane provider-tab"> <h3>{{ provider.title }} Accounts</h3> <div class="well clearfix" ng-repeat="account in accounts['{{loop.key}}']"> {% if provider.html %} <button class="btn pull-right btn-danger" ng-click="deleteAccount(account)">Delete Account</button> <div class="control-group"> <label class="control-label">Account Name</label> <div class="controls"> <input ng-model="account.title" type="text"> </div> </div> <div id="provider-account-{{ loop.key }}" ng-controller="{{provider.controller}}"> {% autoescape false %} {{ provider.html }} {% endautoescape %} </div> {% else %} <h3 ng-switch="!!account.display_url" class="clearfix"> <span ng-switch-when="false">[[ account.title ]]</span> <a target="_blank" href="[[ account.display_url ]]" ng-switch-default>[[ account.title ]]</a> <button class="btn btn-danger pull-right" ng-click="deleteAccount(account)">Delete Account</button> </h3> {% endif %} </div> <div ng-switch="!providers['{{ loop.key }}'].template"> <div ng-switch-when="true"> <a class="btn btn-success" href="[[ providers['{{ loop.key }}'].setupLink ]]">Add Account</a> <span ng-show="accounts['{{ loop.key }}'].length"> <strong>Note:</strong> You may need to sign out of {{ loop.key }} if you want to add a different account </span> </div> <button ng-switch-default class="btn btn-success" ng-click="addAccount('{{ loop.key }}')">Add Account</button> </div> </div> {% endfor %} {% for job in userConfigs.job %} <div id="job-{{loop.key}}" class="tab-pane job-tab" ng-controller="{{job.controller}}"> {% autoescape false %} {{ job.html | raw }} {% endautoescape %} </div> {% endfor %} <div id="email" class="tab-pane active"> <div id="account_email"> <div class="email-message"> <div class="well"> <fieldset> <legend>Change Email</legend> <div class="control-group email"> <label class="control-label"for="email">Account Email Address</label> </div> <div class="controls"> <input class="xlarge" type="text" name="email" ng-model="user.email" ng-disabled="user.isAdUser" /> <span class="help-inline email"></span> </div> <div class="actions"> <button class="btn" ng-click="changeEmail()" ng-disabled="user.isAdUser">Change Email</button> </div> </fieldset> </div> </div> </div> </div> <div id="password" class="tab-pane"> <div id="change_password"> <form class="password-message" name="passwordForm"> <div class="well"> <fieldset> <legend>Change Password</legend> <div class="control-group password"> <label class="control-label" for="password">New Password</label> </div> <div class="controls"> <input class="xlarge" type="password" ng-minlength="8" name="password" ng-model="password" ng-disabled="user.isAdUser"> <span class="help-inline password"></span> <span ng-show="passwordForm.password.$dirty && passwordForm.password.$error.minlength">Password must be longer than 8 characters</span> </div> <div class="control-group password-confirm"> <label class="control-label" for="password_confirm">Confirm Password</label> </div> <div class="controls"> <input class="xlarge" type="password" name="confirm_password" ng-model="confirm_password" ng-disabled="user.isAdUser"> <span class="help-inline password-confirm"></span> <span ng-show="passwordForm.password.$valid && confirm_password !== password">Passwords must match</span> </div> <div class="actions"> <button class="btn" ng-click="changePassword()" ng-disabled="!passwordForm.$valid || confirm_password !== password" ng-disabled="user.isAdUser">Change Password</button> </div> </fieldset> </div> </form> </div> </div> {% if jobsQuantityOnPage.enabled %} <div id="jobsQuantityOnPage" class="tab-pane"> <div id="change_jobsQuantityOnPage"> <form class="jobsQuantityOnPage-message" name="jobsQuantityOnPageForm"> <div class="well"> <fieldset> <legend>Job Settings</legend> <div class="control-group quantity"> <label class="control-label" for="quantity"> Number of Jobs On Build Page ({{ jobsQuantityOnPage.min }}-{{ jobsQuantityOnPage.max }}) </label> </div> <div class="controls"> <input class="xlarge" type="number" name="quantity" min="{{ jobsQuantityOnPage.min }}" max="{{ jobsQuantityOnPage.max }}" ng-model="user.jobsQuantityOnPage"> <span class="help-inline jobsQuantityOnPage"></span> </div> <div class="actions"> <button class="btn" ng-click="changeJobsQuantityOnPage()" ng-disabled="!jobsQuantityOnPageForm.$valid">Change Quantity</button> </div> </fieldset> </div> </form> </div> </div> {% endif %} </div> </div> </div> </div> </div> {% endblock %} {% block pageScripts %} {% endblock %}