summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/templates/newproject.html
blob: 1159d717aeb5de66f90fa7701302e83af7ed6088 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
{% extends "base.html" %}
{% load projecttags %}
{% load humanize %}
{% block pagecontent %}
<div class="row-fluid">
    <div class="page-header">
          <h1>Create a new project</h1>
        </div>
        <div class="container-fluid">
    {% if alert %}
      <div class="alert alert-error row-fluid" role="alert">{{alert}}</div>
    {% endif %}
        </div>

      <div class="row-fluid">
        <div class="span6">
        <form method="POST">{% csrf_token %}

            <fieldset>
              <label>Project name <span class="muted">(required)</span></label>
              <input type="text" class="input-xlarge" required id="new-project-name" name="projectname">
            </fieldset>

            <fieldset>
                <label class="project-form">Project type</label>
                    <label class="project-form radio"><input type="radio" name="ptype" value="analysis" checked/> Analysis Project</label>

                {% if releases.count > 0 %}
                    <label class="project-form radio"><input type="radio" name="ptype" value="build" checked /> Build Project</label>
                {% endif %}
            </fieldset>

        {% if releases.count > 0 %}
            <fieldset class="release">
            {% if releases.count > 1 %}
              <label class="project-form">
                Release
                <i class="icon-question-sign get-help" title="The version of the build system you want to use"></i>
              </label>
              <select name="projectversion" id="projectversion">
                {% for release in releases %}
                    <option value="{{release.id}}"
                        {%if defaultbranch == release.name %}
                            selected
                        {%endif%}
                     >{{release.description}}</option>
                {% endfor %}
              </select>
                {% for release in releases %}
              <div class="row-fluid helptext" id="description-{{release.id}}" style="display: none">
                <span class="help-block span5">{{release.helptext|safe}}</span>
              </div>
                {% endfor %}
            {% else %}
              <input type="hidden" name="projectversion" value="{{releases.0.id}}"/>
            {% endif %}
            </fieldset>
        {% endif %}

            <div class="form-actions">
              <input type="submit" class="btn btn-primary btn-large" value="Create project"/>
              <span class="help-inline" style="vertical-align:middle;">To create a project, you need to enter a project name</span>
            </div>
        </form>
        </div>

        <div class="span5 well">
                <span class="help-block">
                 <h4>Toaster project types</h4>
                 <p>With a <strong>build project</strong> you configure and run your builds from Toaster.</p>
                 <p>With an <strong>analysis project</strong>, the builds are configured and run by another tool
                 (something like Buildbot or Jenkins), and the project only collects the information about the
                 builds (packages, recipes, dependencies, logs, etc). </p>
                 <p>You can read more on <a href="#">how to set up an analysis project</a>
                 in the Toaster manual.</p>
                 <h4>Release</h4>
                 <p>If you create a <strong>build project</strong>, you will need to select a <strong>release</strong>,
                 which is the version of the build system you want to use to run your builds.</p>
               </div>
        </div>
    </div>

    <script type="text/javascript">
        $(document).ready(function () {
            // hide the new project button
            $("#new-project-button").hide();
            $('.btn-primary').attr('disabled', 'disabled');

            // enable submit button when all required fields are populated
            $("input#new-project-name").on('input', function() {
                if ($("input#new-project-name").val().length > 0 ){
                    $('.btn-primary').removeAttr('disabled');
                    $(".help-inline").css('visibility','hidden');
                }
                else {
                    $('.btn-primary').attr('disabled', 'disabled');
                    $(".help-inline").css('visibility','visible');
                }
            });

            // show relevant help text for the selected release
            var selected_release = $('select').val();
            $("#description-" + selected_release).show();


            $('select').change(function(){
                var new_release = $('select').val();
                $(".helptext").hide();
                $('#description-' + new_release).fadeIn();
            });

			// Hide the project release when you select an analysis project
			function projectType() {
				if ($("input[type='radio']:checked").val() == 'build') {
					$('.release').fadeIn();
				}
				else {
					$('.release').fadeOut();
				}
			}
			projectType();

			$('input:radio').change(function(){
				projectType();
			});
        })
    </script>

{% endblock %}