Newer
Older
gitbucket_jkp / src / main / twirl / issues / milestones.scala.html
@takezoe takezoe on 23 Jun 2013 4 KB Milestone deletion is available.
@(state: String, milestones: List[model.Milestone], repository: service.RepositoryService.RepositoryInfo, isWritable: Boolean)(implicit context: app.Context)
@import context._
@import view.helpers
@html.main("Milestones - " + repository.owner + "/" + repository.name){
  @html.header("milestones", repository)
  @issuestab("milestones", repository)
  <div class="row-fluid">
    <div class="span3">
      <ul class="nav nav-pills nav-stacked">
        <li@if(state == "open"){ class="active"}>
          <a href="?state=open">
            <span style="float: right; font-weight: bold;">@milestones.filter(_.closedDate.isEmpty).size</span>
            Open Milestones
          </a>
        </li>
        <li@if(state == "closed"){ class="active"}>
          <a href="?state=closed">
            <span style="float: right; font-weight: bold;">@milestones.filter(_.closedDate.isDefined).size</span>
            Closed Milestones
          </a>
        </li>
      </ul>
      @if(isWritable){
        <hr>
        <a href="@path/@repository.owner/@repository.name/issues/milestones/new" class="btn" style="display: block;">Create a new milestone</a>
      }
    </div>
    <div class="span9">
      <table class="table table-bordered table-hover">
        @defining(milestones.filter(m => if(state == "open") m.closedDate.isEmpty else m.closedDate.isDefined)){ milestones =>
          @milestones.map { milestone =>
          <tr>
            <td>
              <div class="milestone row-fluid">
                <div class="span4">
                  <a href="#" class="milestone-title">@milestone.title</a><br>
                  @if(milestone.closedDate.isDefined){
                    <span class="description">Closed @helpers.datetime(milestone.closedDate.get)</span>
                  } else {
                    @if(milestone.dueDate.isDefined){
                      <span class="description">Due in @helpers.date(milestone.dueDate.get)</span>
                    } else {
                      <span class="description">No due date</span>
                    }
                  }
                </div>
                <div class="span8">
                  <div class="milestone-menu">
                    <div class="pull-right">
                      @if(isWritable){
                        <a href="@path/@repository.owner/@repository.name/issues/milestones/@milestone.milestoneId/edit">Edit
                        @if(milestone.closedDate.isDefined){
                          <a href="@path/@repository.owner/@repository.name/issues/milestones/@milestone.milestoneId/open">Open</a>
                        } else {
                          <a href="@path/@repository.owner/@repository.name/issues/milestones/@milestone.milestoneId/close">Close</a>
                        }
                        <a href="@path/@repository.owner/@repository.name/issues/milestones/@milestone.milestoneId/delete" class="delete">Delete</a>
                      }
                      <a href="">Browse issues</a>
                    </div>
                    <span class="description">0 closed - 0 open</span>
                  </div>
                  <div class="milestone-progress">10%</div>
                </div>
              </div>
              @if(milestone.description.isDefined){
                <div class="milestone-description">
                  @helpers.markdown(milestone.description.get, repository, false, false, false)
                </div>
              }
            </td>
          </tr>
          }
          @if(milestones.isEmpty){
          <tr>
            <td style="padding: 20px; background-color: #eee; text-align: center;">
              No milestones to show.
              @if(isWritable){
                <a href="@path/@repository.owner/@repository.name/issues/milestones/new">Create a new milestone.</a>
              }
            </td>
          </tr>
          }
        }
      </table>
    </div>
  </div>
}
<script>
$(function(){
  $('a.delete').click(function(){
    return confirm('Once you delete this milestone, there is no going back.\nAre you sure?');
  });
});
</script>
<style type="text/css">
a.milestone-title {
  font-size: 120%;
  font-weight: bold;
}
div.milestone-description {
  border-top: 1px solid #eee;
  color: #666;
}

div.milestone-menu {
  font-size: 80%;
}

div.milestone-menu a {
  margin-left: 8px;
  font-weight: bold;
}

div.milestone-menu a.delete {
  color: #b00;
}

div.milestone-progress {
  color: white;
  padding-left: 4px;
  margin-bottom: 4px;
  font-weight: bold;
  font-size: 12px;
  text-shadow: 0px 0px 5px #444;
  background-color: silver;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
</style>