project.html 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. {% extends project_specific|yesno:"baseprojectspecificpage.html,baseprojectpage.html" %}
  2. {% load projecttags %}
  3. {% load humanize %}
  4. {% load static %}
  5. {% block title %} Configuration - {{project.name}} - Toaster {% endblock %}
  6. {% block projectinfomain %}
  7. <script src="{% static 'js/layerDepsModal.js' %}"></script>
  8. <script src="{% static 'js/projectpage.js' %}"></script>
  9. <script>
  10. $(document).ready(function (){
  11. var ctx = {
  12. testReleaseChangeUrl: "{% url 'xhr_testreleasechange' project.id %}",
  13. };
  14. try {
  15. projectPageInit(ctx);
  16. } catch (e) {
  17. document.write("Sorry, An error has occurred loading this page (project):"+e);
  18. console.warn(e);
  19. }
  20. });
  21. </script>
  22. <div id="delete-project-modal" class="modal fade" tabindex="-1" role="dialog" data-backdrop="static" data-keyboard="false">
  23. <div class="modal-dialog">
  24. <div class="modal-content">
  25. <div class="modal-header">
  26. <h4>Are you sure you want to delete this project?</h4>
  27. </div>
  28. <div class="modal-body">
  29. <p>Deleting the <strong class="project-name"></strong> project
  30. will:</p>
  31. <ul>
  32. <li>Cancel its builds currently in progress</li>
  33. <li>Remove its configuration information</li>
  34. <li>Remove its imported layers</li>
  35. <li>Remove its custom images</li>
  36. <li>Remove all its build information</li>
  37. </ul>
  38. </div>
  39. <div class="modal-footer">
  40. <button type="button" class="btn btn-primary" id="delete-project-confirmed">
  41. <span data-role="submit-state">Delete project</span>
  42. <span data-role="loading-state" style="display:none">
  43. <span class="fa-pulse">
  44. <i class="fa-pulse icon-spinner"></i>
  45. </span>
  46. &nbsp;Deleting project...
  47. </span>
  48. </button>
  49. <button type="button" class="btn btn-link" data-dismiss="modal">Cancel</button>
  50. </div>
  51. </div><!-- /.modal-content -->
  52. </div><!-- /.modal-dialog -->
  53. </div>
  54. <div class="row" id="project-page" style="display:none">
  55. <div class="col-md-6">
  56. <div class="well well-transparent" id="machine-section">
  57. <h3>Machine</h3>
  58. <p class="lead"><span id="project-machine-name"></span> <span class="glyphicon glyphicon-edit" id="change-machine-toggle"></span></p>
  59. <form id="select-machine-form" style="display:none;" class="form-inline">
  60. <span class="help-block">Machine suggestions come from the list of layers added to your project. If you don't see the machine you are looking for, <a href="{% url 'projectmachines' project.id %}">check the full list of machines</a></span>
  61. <div class="form-group" id="machine-input-form">
  62. <input class="form-control" id="machine-change-input" autocomplete="off" value="" data-provide="typeahead" data-minlength="1" data-autocomplete="off" type="text">
  63. </div>
  64. <button id="machine-change-btn" class="btn btn-default" type="button">Save</button>
  65. <a href="#" id="cancel-machine-change" class="btn btn-link">Cancel</a>
  66. <span class="help-block text-danger" id="invalid-machine-name-help" style="display:none">A valid machine name cannot include spaces.</span>
  67. <p class="form-link"><a href="{% url 'projectmachines' project.id %}">View compatible machines</a></p>
  68. </form>
  69. </div>
  70. <div class="well well-transparent" id="distro-section">
  71. <h3>Distro</h3>
  72. <p class="lead"><span id="project-distro-name"></span> <span class="glyphicon glyphicon-edit" id="change-distro-toggle"></span></p>
  73. <form id="select-distro-form" style="display:none;" class="form-inline">
  74. <span class="help-block">Distro suggestions come from the Layer Index</a></span>
  75. <div class="form-group">
  76. <input class="form-control" id="distro-change-input" autocomplete="off" value="" data-provide="typeahead" data-minlength="1" data-autocomplete="off" type="text">
  77. </div>
  78. <button id="distro-change-btn" class="btn btn-default" type="button">Save</button>
  79. <a href="#" id="cancel-distro-change" class="btn btn-link">Cancel</a>
  80. <p class="form-link"><a href="{% url 'projectdistros' project.id %}">View compatible distros</a></p>
  81. </form>
  82. </div>
  83. {% if not project_specific %}
  84. <div class="well well-transparent">
  85. <h3>Most built recipes</h3>
  86. <div class="alert alert-info" style="display:none" id="no-most-built">
  87. <h4>You haven't built any recipes yet</h4>
  88. <p class="form-link"><a href="{% url 'projectimagerecipes' project.id %}">Choose a recipe to build</a></p>
  89. </div>
  90. <ul class="list-unstyled lead" id="freq-build-list">
  91. </ul>
  92. <button class="btn btn-primary" id="freq-build-btn" disabled="disabled">Build selected recipes</button>
  93. </div>
  94. {% endif %}
  95. <div class="well well-transparent">
  96. <h3>Project release</h3>
  97. <p class="lead"><span id="project-release-title"></span>
  98. <!-- Comment out the ability to change the project release, until we decide what to do with this functionality -->
  99. <!--i title="" data-original-title="" id="release-change-toggle" class="icon-pencil"></i-->
  100. </p>
  101. <!-- Comment out the ability to change the project release, until we decide what to do with this functionality -->
  102. <!--form class="form-inline" id="change-release-form" style="display:none;">
  103. <select></select>
  104. <button class="btn" style="margin-left:5px;" id="change-release-btn">Change</button> <a href="#" id="cancel-release-change" class="btn btn-link">Cancel</a>
  105. </form-->
  106. </div>
  107. </div>
  108. <div class="col-md-6">
  109. <div class="well well-transparent" id="layer-container">
  110. <h3>Layers <span class="counter">(<span id="project-layers-count"></span>)</span>
  111. <span title="OpenEmbedded organises recipes and machines into thematic groups called <strong>layers</strong>. Click on a layer name to see the recipes and machines it includes." class="glyphicon glyphicon-question-sign get-help"></span>
  112. </h3>
  113. <div class="alert alert-warning" id="no-layers-in-project" style="display:none">
  114. <h4>This project has no layers</h4>
  115. In order to build this project you need to add some layers first. For that you can:
  116. <ul>
  117. <li><a href="{% url 'projectlayers' project.id %}">Choose from the layers compatible with this project</a></li>
  118. <li><a href="{% url 'importlayer' project.id %}">Import a layer</a></li>
  119. <li><a href="https://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#understanding-and-creating-layers" target="_blank">Read about layers in the documentation</a></li>
  120. <li>Or type a layer name below</li>
  121. </ul>
  122. </div>
  123. <form class="form-inline">
  124. <div class="form-group">
  125. <input id="layer-add-input" class="form-control" autocomplete="off" placeholder="Type a layer name" data-minlength="1" data-autocomplete="off" data-provide="typeahead" data-source="" type="text">
  126. </div>
  127. <button id="add-layer-btn" class="btn btn-default" disabled>Add layer</button>
  128. <p class="form-link">
  129. <a href="{% url 'projectlayers' project.id %}" id="view-compatible-layers">View compatible layers</a>
  130. <span class="text-muted">|</span>
  131. <a href="{% url 'importlayer' project.id %}">Import layer</a>
  132. </p>
  133. </form>
  134. <ul class="list-unstyled lead" id="layers-in-project-list">
  135. </ul>
  136. </div>
  137. </div>
  138. {% endblock %}