Browse Source

Some additions and refactorings in the package listing and detail views

Jordi Boggiano 14 years ago
parent
commit
f1003d1ac0

+ 6 - 5
src/Packagist/WebBundle/Resources/views/Web/index.html.twig

@@ -5,7 +5,7 @@
     {% for package in packages %}
         <section class="package">
             <h2><a href="{{ url('view', { 'id' : package.id }) }}">{{ package.name }}</a></h2>
-            {% if package.versions[0] is defined %}
+            {% if package.versions|length %}
                 <p class="description">{{ package.versions[0].description }}</p>
                 <p class="license">License: {{ package.versions[0].license|default("Unknown") }}</p>
                 <p class="links">
@@ -14,15 +14,16 @@
                     {% endif %}
                     Tags: {% for tag in package.versions[0].tags %}{{ tag.name }}{{ loop.last ? '' : ', ' }}{% endfor %}
                 </p>
-                <p class="author">Maintainer{{ package.maintainers|length > 1 ? 's' : '' }}:
-                {% for maintainer in package.maintainers %}
-                    {{ maintainer.username }}{{ loop.last ? '' : ', ' }}
-                {% endfor %}</p>
             {% elseif package.crawledAt is null %}
                 This package has not been crawled yet, some information is missing.
             {% else %}
                 This package has no released version yet, and little information is available yet.
             {% endif %}
+
+            <p class="author">Maintainer{{ package.maintainers|length > 1 ? 's' : '' }}:
+            {% for maintainer in package.maintainers %}
+                {{ maintainer.username }}{{ loop.last ? '' : ', ' }}
+            {% endfor %}</p>
         </section>
     {% endfor %}
 {% endblock %}

+ 26 - 14
src/Packagist/WebBundle/Resources/views/Web/view.html.twig

@@ -1,23 +1,35 @@
 {% extends "PackagistWebBundle::layout.html.twig" %}
 
 {% block content %}
-    <h1>Viewing package {{ package.name }}</h1>
-    {% if package.versions[0] is defined %}
+    <h1>{{ package.name }}</h1>
+    <p class="maintainers">Maintainer{{ package.maintainers|length > 1 ? 's' : '' }}:
+    {% for maintainer in package.maintainers %}
+        {{ maintainer.username }}{{ loop.last ? '' : ', ' }}
+    {% endfor %}</p>
+    {% if package.versions|length %}
         {% for version in package.versions %}
             <h2>Version {{ version.version }}</h2>
-	        <p class="description">{{ version.description }}</p>
-	        <p class="license">License: {{ version.license|default("Unknown") }}</p>
-	        <p class="links">
-	            {% if version.homepage %}
-	                Homepage: <a href="{{ package.versions[0].homepage }}">{{ version.homepage|replace({'http://': ''}) }}</a><br />
-	            {% endif %}
-	            Tags: {% for tag in version.tags %}{{ tag.name }}{{ loop.last ? '' : ', ' }}{% endfor %}
-	        </p>
+            <p class="description">{{ version.description }}</p>
+            <p class="license">License: {{ version.license|default("Unknown") }}</p>
+            <p class="release-date">Date: {{ version.releasedAt|date("Y-m-d") }}</p>
+            <p class="links">
+                {% if version.homepage %}
+                    Homepage: <a href="{{ version.homepage }}">{{ version.homepage|replace({'http://': ''}) }}</a><br />
+                {% endif %}
+                Tags: {% for tag in version.tags %}{{ tag.name }}{{ loop.last ? '' : ', ' }}{% endfor %}
+            </p>
+            <p class="authors">Author{{ version.authors|length > 1 ? 's' : '' }}:
+            {% for author in version.authors %}
+                {{ author.name }}
+                {% if author.email %}&lt;<a href="mailto:{{ author.email }}">{{ author.email }}</a>&gt;{% endif %}
+                {% if author.homepage %}<a href="{{ author.homepage }}">{{ author.homepage }}</a>{% endif %}
+                <br />
+            {% endfor %}</p>
+            <p class="requires">Requirement{{ version.requirements|length > 1 ? 's' : '' }}:
+            {% for req in version.requirements %}
+                {{ req.packageName }} ({{ req.packageVersion }})<br />
+            {% endfor %}</p>
         {% endfor %}
-        <p class="author">Maintainer{{ package.maintainers|length > 1 ? 's' : '' }}:
-        {% for maintainer in package.maintainers %}
-            {{ maintainer.username }}{{ loop.last ? '' : ', ' }}
-        {% endfor %}</p>
     {% elseif package.crawledAt is null %}
         This package has not been crawled yet, some information is missing.
     {% else %}