Skip to content

Commit

Permalink
modularize solutions and developer_goals boxes. style tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
corytheboyd committed Nov 20, 2013
1 parent a6d5c71 commit 80cd00c
Show file tree
Hide file tree
Showing 26 changed files with 659 additions and 1,070 deletions.
5 changes: 3 additions & 2 deletions app/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -115,12 +115,13 @@
<script src="pages/issues/controllers/bounty.js" type="text/javascript"></script>
<script src="pages/issues/controllers/bounty_box.js" type="text/javascript"></script>
<script src="pages/issues/controllers/bounty_claims.js" type="text/javascript"></script>
<script src="pages/issues/controllers/developer_goal_notification.js" type="text/javascript"></script>
<script src="pages/issues/controllers/developer_goals_base.js" type="text/javascript"></script>
<script src="pages/issues/controllers/issues_base.js" type="text/javascript"></script>
<script src="pages/issues/controllers/nav_tabs.js" type="text/javascript"></script>
<script src="pages/issues/controllers/new.js" type="text/javascript"></script>
<script src="pages/issues/controllers/receipts.js" type="text/javascript"></script>
<script src="pages/issues/controllers/show.js" type="text/javascript"></script>
<script src="pages/issues/controllers/solutions.js" type="text/javascript"></script>
<script src="pages/issues/controllers/solutions_base.js" type="text/javascript"></script>
<script src="pages/issues/directives.js" type="text/javascript"></script>
<script src="pages/layout/navbar.js" type="text/javascript"></script>
<script src="pages/legacy_route.js" type="text/javascript"></script>
Expand Down
10 changes: 5 additions & 5 deletions app/pages/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -625,19 +625,19 @@ angular.module('api.bountysource',[]).
return this.call("/issues/"+issue_id+"/solution/complete_work", "POST");
};

this.solution_status = function(issue_id) {
this.solution_get = function(issue_id) {
return this.call("/issues/"+issue_id+"/solution", "GET");
};

this.create_developer_goal = function(data) {
return this.call("/issues/"+data.issue_id+"/developer_goals", "POST", data, function (response) {
this.create_developer_goal = function(issue_id, data) {
return this.call("/issues/"+issue_id+"/developer_goals", "POST", data, function (response) {
$api.require_signin();
return response.data;
});
};

this.update_developer_goal = function(data) {
return this.call("/issues/"+data.issue_id+"/developer_goal", "PUT", data);
this.update_developer_goal = function(issue_id, data) {
return this.call("/issues/"+issue_id+"/developer_goal", "PUT", data);
};

this.get_developer_goal = function(issue_id) {
Expand Down
7 changes: 5 additions & 2 deletions app/pages/issues/bounties.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<div>
<div ng-controller="IssueBountiesController">
<ul class="breadcrumb">
<li><a href="/">Home</a><span class="divider">»</span></li>
<li><a href="/trackers">Projects</a><span class="divider">»</span></li>
Expand All @@ -9,6 +9,7 @@
<div class="row-fluid" ng-show="issue">
<div class="span9">
<div ng-include="'pages/issues/partials/header.html'"></div>
<div ng-include="'pages/issues/partials/developer_goals_notification.html'"></div>
<div ng-include="'pages/issues/partials/nav_tabs.html'"></div>

<div class="alert alert-info" ng-hide="issue.bounties.length > 0">
Expand Down Expand Up @@ -51,7 +52,9 @@

<div class="span3">
<div ng-include="'pages/issues/partials/bounty_box.html'"></div>
<div ng-include="'pages/issues/partials/claim_info_box.html'"></div>
<div ng-include="'pages/issues/partials/developer_goal_box.html'" ng-show="issue.can_add_bounty"></div>
<div ng-include="'pages/issues/partials/solution_box.html'" ng-show="issue.can_add_bounty"></div>
<div ng-include="'pages/issues/partials/claim_info_box.html'" ng-show="!issue.can_add_bounty"></div>
</div>
</div>
</div>
192 changes: 97 additions & 95 deletions app/pages/issues/bounty.html
Original file line number Diff line number Diff line change
@@ -1,137 +1,139 @@
<ul class="breadcrumb">
<li><a href="/">Home</a><span class="divider">»</span></li>
<li><a href="/trackers">Projects</a><span class="divider">»</span></li>
<li><a ng-href="/trackers/{{issue.tracker.slug}}">{{issue.tracker.name || 'Loading...'}}</a><span class="divider">»</span></li>
<li><a ng-href="/issues/{{issue.slug}}">{{issue.title ||'Loading...'}}</a></li>
</ul>
<div ng-controller="CreateBountyController">
<ul class="breadcrumb">
<li><a href="/">Home</a><span class="divider">»</span></li>
<li><a href="/trackers">Projects</a><span class="divider">»</span></li>
<li><a ng-href="/trackers/{{issue.tracker.slug}}">{{issue.tracker.name || 'Loading...'}}</a><span class="divider">»</span></li>
<li><a ng-href="/issues/{{issue.slug}}">{{issue.title ||'Loading...'}}</a></li>
</ul>

<div class="row-fluid" ng-show="issue" ng-controller="CreateBountyController">
<div class="span12">
<div ng-include="'pages/issues/partials/header.html'"></div>
<div ng-include="'pages/issues/partials/nav_tabs.html'"></div>
<div class="row-fluid" ng-show="issue" ng-controller="CreateBountyController">
<div class="span12">
<div ng-include="'pages/issues/partials/header.html'"></div>
<div ng-include="'pages/issues/partials/nav_tabs.html'"></div>

<div ng-show="error">
<alert type="'error'" close="error = null">{{error}}</alert>
</div>

<form name="form" class="form-horizontal" ng-submit="create_payment()">
<div class="control-group">
<label class="control-label">Payment Method:</label>
<div class="controls">
<!-- Google Wallet -->
<label class="radio">
<input type="radio" ng-model="bounty.payment_method" value="google" />
<favicon style="width: 16px; height: 16px;" domain="http://www.google.com/wallet/"></favicon>
<span>Google Wallet</span>
</label>
<div ng-show="error">
<alert type="'error'" close="error = null">{{error}}</alert>
</div>

<!-- PayPal -->
<label class="radio">
<input type="radio" ng-model="bounty.payment_method" value="paypal" />
<favicon style="width: 16px; height: 16px;" domain="https://www.paypal.com/"></favicon>
<span>PayPal</span>
</label>
<form name="form" class="form-horizontal" ng-submit="create_payment()">
<div class="control-group">
<label class="control-label">Payment Method:</label>
<div class="controls">
<!-- Google Wallet -->
<label class="radio">
<input type="radio" ng-model="bounty.payment_method" value="google" />
<favicon style="width: 16px; height: 16px;" domain="http://www.google.com/wallet/"></favicon>
<span>Google Wallet</span>
</label>

<!-- Personal account -->
<div ng-show="current_person && current_person.account.balance > 0">
<!-- PayPal -->
<label class="radio">
<input type="radio" ng-model="bounty.payment_method" value="personal" />
<img style="width: 16px; height: 16px;" ng-src="{{current_person.image_url}}">
<span>{{current_person.display_name}} <strong>{{ current_person.account.balance | currency }}</strong></span>
<input type="radio" ng-model="bounty.payment_method" value="paypal" />
<favicon style="width: 16px; height: 16px;" domain="https://www.paypal.com/"></favicon>
<span>PayPal</span>
</label>
</div>

<!-- Team accounts -->
<div ng-show="teams.length > 0">
<label ng-repeat="team in teams | orderBy:['-is_developer', '-account_balance']" class="radio">
<input type="radio" ng-model="bounty.payment_method" value="team/{{team.id}}" ng-disabled="!team.is_developer || team.account_balance <= 0" ng-change="select_team(team)" />
<img style="width: 16px; height: 16px;" ng-src="{{team.image_url}}">
<!-- Personal account -->
<div ng-show="current_person && current_person.account.balance > 0">
<label class="radio">
<input type="radio" ng-model="bounty.payment_method" value="personal" />
<img style="width: 16px; height: 16px;" ng-src="{{current_person.image_url}}">
<span>{{current_person.display_name}} <strong>{{ current_person.account.balance | currency }}</strong></span>
</label>
</div>

<!-- Team accounts -->
<div ng-show="teams.length > 0">
<label ng-repeat="team in teams | orderBy:['-is_developer', '-account_balance']" class="radio">
<input type="radio" ng-model="bounty.payment_method" value="team/{{team.id}}" ng-disabled="!team.is_developer || team.account_balance <= 0" ng-change="select_team(team)" />
<img style="width: 16px; height: 16px;" ng-src="{{team.image_url}}">
<span ng-class="{ 'muted': (!team.is_developer || team.account_balance <= 0) }">
{{team.name}}
<strong ng-show="team.is_developer">{{ team.account_balance | dollars }}</strong>
<strong ng-hide="team.is_developer">$0</strong>
<span ng-show="team.is_admin && team.account_balance < 100 && team.type != 'Team::Enterprise'">(<a ng-href="/teams/{{team.slug}}/account">add funds</a>)</span>
</span>
</label>
</label>
</div>
</div>
</div>
</div>

<div class="control-group">
<label for="amount" class="control-label">Bounty Amount:</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on">$</span>
<input id="amount" type="number" step="0.01" ng-change="update_bounty_total()" ng-model="bounty.amount" placeholder="Bounty amount" />
<div class="control-group">
<label for="amount" class="control-label">Bounty Amount:</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on">$</span>
<input id="amount" type="number" step="0.01" ng-change="update_bounty_total()" ng-model="bounty.amount" placeholder="Bounty amount" />
</div>
</div>
</div>
</div>

<div>
<div class="control-group">
<label class="control-label">
<div>Bounty Expiration:</div>
<div><small class="muted"><em>Optional</em></small></div>
</label>
<div>
<div class="control-group">
<label class="control-label">
<div>Bounty Expiration:</div>
<div><small class="muted"><em>Optional</em></small></div>
</label>
<span ng-switch="expiration">
<div class="controls" ng-switch-when="0" ng-include="'pages/issues/partials/options/expiration_up.html'"></div>
<div class="controls" ng-switch-when="1" ng-include="'pages/issues/partials/options/expiration_down.html'"></div>
</span>
</div>

<div collapse="!bounty.bounty_expiration || bounty.bounty_expiration == 'never'">
<div class="control-group">
<div class="controls">
<h5>When the bounty expires...</h5>
<div ab-randomize ng-include="'pages/issues/partials/options/upon_expiration.html'" onload="broadcastLoad()"></div>
</div>
</div>
</div>


<div class="control-group">
<label class="control-label">
<div>Promotion:</div>
<div><small class="muted"><em>Optional</em></small></div>
</label>
<div ab-randomize class="controls" ng-include="'pages/issues/partials/options/promotion.html'" onload="broadcastLoad()"></div>
</div>
</div>

<div collapse="!bounty.bounty_expiration || bounty.bounty_expiration == 'never'">
<div collapse="!show_fee">
<div class="control-group">
<label class="control-label">Bountysource Fee:</label>
<div class="controls">
<h5>When the bounty expires...</h5>
<div ab-randomize ng-include="'pages/issues/partials/options/upon_expiration.html'" onload="broadcastLoad()"></div>
<div style="line-height: 30px;"><strong>{{bounty.fee | currency}}</strong></div>
</div>
</div>
</div>


<div class="control-group">
<label class="control-label">
<div>Promotion:</div>
<div><small class="muted"><em>Optional</em></small></div>
</label>
<div ab-randomize class="controls" ng-include="'pages/issues/partials/options/promotion.html'" onload="broadcastLoad()"></div>
<div class="control-group">
<label class="control-label">Total:</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on">$</span>
<input id="total" type="number" step="0.01" ng-change="update_bounty_amount()" ng-model="bounty.total" placeholder="Bounty total" />
</div>
</div>
</div>
</div>
</div>

<div collapse="!show_fee">
<div class="control-group">
<label class="control-label">Bountysource Fee:</label>
<div class="controls">
<div style="line-height: 30px;"><strong>{{bounty.fee | currency}}</strong></div>
<label class="checkbox">
<input type="checkbox" ng-model="bounty.anonymous" ng-disabled="!can_make_anonymous" ng-checked="can_make_anonymous && bounty.anonymous" />
<span ng-class="{ muted: !can_make_anonymous }">Post anonymously</span>
<small class="text-info" ng-show="!can_make_anonymous">* Team bounties cannot be anonymous</small>
</label>
</div>
</div>

<div class="control-group">
<label class="control-label">Total:</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on">$</span>
<input id="total" type="number" step="0.01" ng-change="update_bounty_amount()" ng-model="bounty.total" placeholder="Bounty total" />
</div>
<button type="submit" class="btn btn-large btn-primary" ng-disabled="form.$invalid">Create {{bounty.amount || 0 | dollars}} Bounty</button>
</div>
</div>
</div>

<div class="control-group">
<div class="controls">
<label class="checkbox">
<input type="checkbox" ng-model="bounty.anonymous" ng-disabled="!can_make_anonymous" ng-checked="can_make_anonymous && bounty.anonymous" />
<span ng-class="{ muted: !can_make_anonymous }">Post anonymously</span>
<small class="text-info" ng-show="!can_make_anonymous">* Team bounties cannot be anonymous</small>
</label>
</div>
</div>

<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-large btn-primary" ng-disabled="form.$invalid">Create {{bounty.amount || 0 | dollars}} Bounty</button>
</div>
</div>
</form>
</form>
</div>
</div>
</div>
</div>
Loading

0 comments on commit 80cd00c

Please sign in to comment.