Package com.gitblit.tickets

Examples of com.gitblit.tickets.TicketMilestone


        }
      }
      if (milestoneModel.getObject() == null && !StringUtils.isEmpty(ticket.milestone)) {
        // ensure that this unrecognized milestone is listed
        // so that we get the <nil> selection.
        TicketMilestone tms = new TicketMilestone(ticket.milestone);
        milestones.add(tms);
        milestoneModel.setObject(tms);
      }
      if (!milestones.isEmpty()) {
        milestones.add(new TicketMilestone(NIL));
      }

      Fragment milestone = new Fragment("milestone", "milestoneFragment", this);

      milestone.add(new DropDownChoice<TicketMilestone>("milestone", milestoneModel, milestones));
      form.add(milestone.setVisible(!milestones.isEmpty()));

      // mergeTo (integration branch)
      List<String> branches = new ArrayList<String>();
      for (String branch : getRepositoryModel().getLocalBranches()) {
        // exclude ticket branches
        if (!branch.startsWith(Constants.R_TICKET)) {
          branches.add(Repository.shortenRefName(branch));
        }
      }
      branches.remove(Repository.shortenRefName(getRepositoryModel().mergeTo));
      branches.add(0, Repository.shortenRefName(getRepositoryModel().mergeTo));

      Fragment mergeto = new Fragment("mergeto", "mergeToFragment", this);
      mergeto.add(new DropDownChoice<String>("mergeto", mergeToModel, branches));
      form.add(mergeto.setVisible(!branches.isEmpty()));
    } else {
      // user can not admin this ticket
      form.add(new Label("responsible").setVisible(false));
      form.add(new Label("milestone").setVisible(false));
      form.add(new Label("mergeto").setVisible(false));
    }

    form.add(new AjaxButton("update") {

      private static final long serialVersionUID = 1L;

      @Override
      protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
        long ticketId = 0L;
        try {
          String h = WicketUtils.getObject(getPageParameters());
          ticketId = Long.parseLong(h);
        } catch (Exception e) {
          setResponsePage(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
        }

        TicketModel ticket = app().tickets().getTicket(getRepositoryModel(), ticketId);

        String createdBy = GitBlitWebSession.get().getUsername();
        Change change = new Change(createdBy);

        String title = titleModel.getObject();
        if (StringUtils.isEmpty(title)) {
          return;
        }

        if (!ticket.title.equals(title)) {
          // title change
          change.setField(Field.title, title);
        }

        String description = Optional.fromNullable(descriptionEditor.getText()).or("");
        if ((StringUtils.isEmpty(ticket.body) && !StringUtils.isEmpty(description))
            || (!StringUtils.isEmpty(ticket.body) && !ticket.body.equals(description))) {
          // description change
          change.setField(Field.body, description);
        }

        Status status = statusModel.getObject();
        if (!ticket.status.equals(status)) {
          // status change
          change.setField(Field.status, status);
        }

        Type type = typeModel.getObject();
        if (!ticket.type.equals(type)) {
          // type change
          change.setField(Field.type, type);
        }

        String topic = Optional.fromNullable(topicModel.getObject()).or("");
        if ((StringUtils.isEmpty(ticket.topic) && !StringUtils.isEmpty(topic))
          || (!StringUtils.isEmpty(ticket.topic) && !ticket.topic.equals(topic))) {
          // topic change
          change.setField(Field.topic, topic);
        }

        TicketResponsible responsible = responsibleModel == null ? null : responsibleModel.getObject();
        if (responsible != null && !responsible.username.equals(ticket.responsible)) {
          // responsible change
          change.setField(Field.responsible, responsible.username);
          if (!StringUtils.isEmpty(responsible.username)) {
            if (!ticket.isWatching(responsible.username)) {
              change.watch(responsible.username);
            }
          }
        }

        TicketMilestone milestone = milestoneModel == null ? null : milestoneModel.getObject();
        if (milestone != null && !milestone.name.equals(ticket.milestone)) {
          // milestone change
          if (NIL.equals(milestone.name)) {
            change.setField(Field.milestone, "");
          } else {
View Full Code Here


        if (responsible != null) {
          change.setField(Field.responsible, responsible.username);
        }

        // milestone
        TicketMilestone milestone = milestoneModel == null ? null : milestoneModel.getObject();
        if (milestone != null) {
          change.setField(Field.milestone, milestone.name);
        }

        // integration branch
View Full Code Here

        }

        // milestone verification
        String milestone = PatchsetCommand.getSingleOption(cmd, PatchsetCommand.MILESTONE);
        if (!StringUtils.isEmpty(milestone)) {
          TicketMilestone milestoneModel = ticketService.getMilestone(repository, milestone);
          if (milestoneModel == null) {
            // milestone does not exist
            sendRejection(cmd, "Sorry, \"{0}\" is not a valid milestone!", milestone);
            continue;
          }
View Full Code Here

TOP

Related Classes of com.gitblit.tickets.TicketMilestone

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.