mirror of
https://git.yoctoproject.org/poky
synced 2026-05-05 07:39:49 +02:00
bitbake: toastergui: new project page
Patch that brings in to new project page according to specifications. [YOCTO #6596] (Bitbake rev: be357d147d525ac3d6b7bd33ca0aa594728ffedd) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
5790337cec
commit
126bca43b7
@@ -60,7 +60,7 @@
|
||||
</a>
|
||||
{%if MANAGED %}
|
||||
<div class="btn-group pull-right">
|
||||
<a class="btn" href="{% url 'newproject' %}">New project</a>
|
||||
<a class="btn" id="new-project-button" href="{% url 'newproject' %}">New project</a>
|
||||
</div>
|
||||
<!-- New build popover -->
|
||||
<div class="btn-group pull-right" id="new-build-button">
|
||||
|
||||
@@ -3,35 +3,91 @@
|
||||
{% load humanize %}
|
||||
{% block pagecontent %}
|
||||
<div class="row-fluid">
|
||||
<div class="span6">
|
||||
<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>
|
||||
<form method="POST">{% csrf_token %}
|
||||
<fieldset>
|
||||
<label>Project name <span class="muted">(required)</span></label>
|
||||
<input type="text" class="input-xlarge" required name="projectname" value="{{projectname}}">
|
||||
<label class="project-form">
|
||||
Yocto Project version
|
||||
<i class="icon-question-sign get-help" title="This sets the branch for the Yocto Project core layers (meta, meta-yocto and meta-yocto-bsp), and for the layers you use from the OpenEmbedded Metadata Index"></i>
|
||||
</label>
|
||||
<select name="projectversion" id="projectversion">
|
||||
{% for release in releases %}
|
||||
<option value="{{release.id}}"{%if projectversion == release.id %} selected{%endif%}>{{release.name}} ({{release.description}})</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</fieldset>
|
||||
<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>
|
||||
{% if releases.count > 0 %}
|
||||
<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">
|
||||
{% if releases.count > 1 %}
|
||||
<label class="project-form">
|
||||
Release version
|
||||
<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 projectversion == release.id %} selected{%endif%}>{{release.description}} ({{release.name}})</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>
|
||||
|
||||
<div class="form-actions">
|
||||
<input type="submit" class="btn btn-primary btn-large" value="Create project"/>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-actions">
|
||||
<input type="submit" class="btn btn-primary btn-large" value="Create project"></input>
|
||||
<span class="help-inline" style="vertical-align:middle;">To create a project, you need to enter a project name</span>
|
||||
</div>
|
||||
</form>
|
||||
{% else %}
|
||||
<br/>
|
||||
<div class="alert alert-warning row-fluid span6">
|
||||
<h3>No releases configured</h3>
|
||||
<p>
|
||||
It looks like Toaster releases have not been configured properly. Contact the person who set up Toaster, and tell them about it.
|
||||
</p>
|
||||
<p>
|
||||
If you are the Toaster administrator, we are sorry: setting up Toaster is not easy.
|
||||
<ul>
|
||||
<li><a href="{% url 'admin:orm_release_changelist' %}">Log in to the Django administration interface</a> and check the "Releases" section.</li>
|
||||
<li>Check out the <a href="https://wiki.yoctoproject.org/wiki/Setting_up_a_hosted_managed_mode_for_Toaster#Releases">documentation about configuring releases</a></li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</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").keyup(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();
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@@ -1894,9 +1894,12 @@ if toastermain.settings.MANAGED:
|
||||
'email': request.user.email if request.user.is_authenticated() else '',
|
||||
'username': request.user.username if request.user.is_authenticated() else '',
|
||||
'releases': Release.objects.order_by("id"),
|
||||
'defaultbranch': ToasterSetting.objects.get(name = "DEFAULT_RELEASE").value,
|
||||
}
|
||||
|
||||
try:
|
||||
context['defaultbranch'] = ToasterSetting.objects.get(name = "DEFAULT_RELEASE").value
|
||||
except ToasterSetting.DoesNotExist:
|
||||
pass
|
||||
|
||||
if request.method == "GET":
|
||||
# render new project page
|
||||
@@ -2156,7 +2159,7 @@ if toastermain.settings.MANAGED:
|
||||
|
||||
|
||||
def _lv_to_dict(x):
|
||||
return {"id": x.pk, "name": x.layer.name,
|
||||
return {"id": x.pk, "name": x.layer.name,
|
||||
"detail": "(" + x.layer.vcs_url + (")" if x.up_branch == None else " | "+x.up_branch.name+")"),
|
||||
"giturl": x.layer.vcs_url, "layerdetailurl" : reverse('layerdetails', args=(x.pk,))}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user