Browse Source

Fix alias version display

Jordi Boggiano 13 years ago
parent
commit
7fa86cefab

+ 25 - 0
src/Packagist/WebBundle/Entity/Version.php

@@ -13,6 +13,7 @@
 namespace Packagist\WebBundle\Entity;
 
 use Doctrine\ORM\Mapping as ORM;
+use Composer\Package\Version\VersionParser;
 use Symfony\Component\Validator\Constraints as Assert;
 
 /**
@@ -777,6 +778,30 @@ class Version
         return $this->suggest;
     }
 
+    /**
+     * @return Boolean
+     */
+    public function hasVersionAlias()
+    {
+        return $this->getDevelopment() && $this->getVersionAlias();
+    }
+
+    /**
+     * @return string
+     */
+    public function getVersionAlias()
+    {
+        $extra = $this->getExtra();
+
+        if (isset($extra['branch-alias'][$this->getVersion()])) {
+            $parser = new VersionParser;
+            $version = $parser->normalizeBranch(str_replace('-dev', '', $extra['branch-alias'][$this->getVersion()]));
+            return preg_replace('{(\.9{7})+}', '.x', $version);
+        }
+    }
+
+
+
     public function __toString()
     {
         return $this->name.' '.$this->version.' ('.$this->normalizedVersion.')';

+ 2 - 2
src/Packagist/WebBundle/Resources/views/Web/viewPackage.html.twig

@@ -66,8 +66,8 @@
                             <section>
                                 <h1>
                                     {{ version.version }}
-                                    {% if version.development and version.extra['branch-alias'][version.version] is defined %}
-                                        / {{ version.extra['branch-alias'][version.version] }}
+                                    {% if version.hasVersionAlias() %}
+                                        / {{ version.versionAlias }}
                                     {% endif %}
                                     <span class="release-date">{{ version.releasedAt|date("Y-m-d H:i") }} UTC</span>
                                     <span class="license">{{ version.license ? version.license|join(', ') : '' }}</span>