'quality-gate/views/quality-gate-edit-view',
'quality-gate/router',
'quality-gate/layout'
-], (
- QualityGates,
+], (QualityGates,
QualityGateSidebarListItemView,
QualityGateActionsView,
QualityGateEditView,
QualityGateRouter,
- QualityGateLayout
-) ->
+ QualityGateLayout) ->
# Create a Quality Gate Application
App = new Marionette.Application
App.openFirstQualityGate = ->
- if @qualityGates.length > 0
- @router.navigate "show/#{@qualityGates.models[0].get('id')}", trigger: true
- else
- App.layout.detailsRegion.reset()
+ App.layout.detailsRegion.reset()
App.deleteQualityGate = (id) ->
# Start router
App.addInitializer ->
@router = new QualityGateRouter app: @
- Backbone.history.start()
+
+ QUALITY_GATES = '/quality_gates'
+ path = window.location.pathname
+ pos = path.indexOf QUALITY_GATES
+ root = path.substr(0, pos + QUALITY_GATES.length)
+ Backbone.history.start pushState: true, root: root
# Open first quality gate when come to the page
appXHR = jQuery.ajax
url: "#{baseUrl}/api/qualitygates/app"
.done (r) =>
- App.canEdit = r.edit
- App.periods = r.periods
- App.metrics = r.metrics
+ App.canEdit = r.edit
+ App.periods = r.periods
+ App.metrics = r.metrics
qualityGatesXHR = App.qualityGates.fetch()
l10nXHR = window.requestMessages()
jQuery.when(qualityGatesXHR, appXHR, l10nXHR)
- .done ->
- # Start the application
- App.start()
+ .done ->
+ # Start the application
+ App.start()
+
--- /dev/null
+<div class="alert alert-info">
+ <p class="spacer-bottom">Quality Gates are collections of simple boolean thresholds set on project measures. A project
+ must pass each of the thresholds in order to pass the Quality Gate as a whole.</p>
+
+ <p>It is possible to set a default Quality Gate, which will be applied to all projects not explicitly assigned to some
+ other gate.</p>
+</div>
map.connect 'rules_configuration/:action/:language/:name/:plugin.:format', :controller => 'rules_configuration'
map.connect 'api_documentation/*other', :controller => 'api_documentation', :action => 'index'
+ map.connect 'quality_gates/*other', :controller => 'quality_gates', :action => 'index'
# Install the default route as the lowest priority.
map.connect ':controller/:action/:id', :requirements => { :id => /.*/ }