Bladeren bron

:construction: 完善扩展管理页面

jqh 4 jaren geleden
bovenliggende
commit
8dd447fd5c
3 gewijzigde bestanden met toevoegingen van 19 en 7 verwijderingen
  1. 3 1
      src/Extend/ServiceProvider.php
  2. 3 1
      src/Http/Actions/Extensions/Update.php
  3. 13 5
      src/Http/Repositories/Extension.php

+ 3 - 1
src/Extend/ServiceProvider.php

@@ -178,7 +178,9 @@ abstract class ServiceProvider extends LaravelServiceProvider
      */
     final public function getLocalLatestVersion()
     {
-        return Admin::extension()->versionManager()->getFileVersions($this);
+        return last(
+            array_keys(Admin::extension()->versionManager()->getFileVersions($this))
+        );
     }
 
     /**

+ 3 - 1
src/Http/Actions/Extensions/Update.php

@@ -9,7 +9,9 @@ class Update extends RowAction
 {
     public function title()
     {
-        return sprintf('<b>%s</b>', trans('admin.upgrade_to_version', ['version' => $this->row->new_version]));
+        $replace = ['version' => $this->row->extension->getLocalLatestVersion()];
+
+        return sprintf('<b>%s</b>', trans('admin.upgrade_to_version', $replace));
     }
 
     public function handle()

+ 13 - 5
src/Http/Repositories/Extension.php

@@ -19,6 +19,9 @@ class Extension extends Repository
         }
 
         return $data;
+        //return collect($data)->sort(function ($row) {
+        //    return ! empty($row['version']) && empty($row['new_version']);
+        //})->toArray();
     }
 
     /**
@@ -30,17 +33,22 @@ class Extension extends Repository
     {
         $property = $extension->composerProperty;
 
+        $name = $extension->getName();
+        $current = $extension->getVersion();
+        $latest = $extension->getLocalLatestVersion();
+
         return [
-            'id'           => $extension->getName(),
-            'alias'        => $extension->getName(),
-            'name'         => $extension->getName(),
-            'version'      => $extension->getVersion(),
+            'id'           => $name,
+            'alias'        => $name,
+            'name'         => $name,
+            'version'      => $current,
             'type'         => $extension->getType(),
             'description'  => $property->description,
             'authors'      => $property->authors,
             'homepage'     => $property->homepage,
             'enabled'      => $extension->enabled(),
-            'new_version'  => key($extension->getLocalLatestVersion()),
+            'new_version'  => $latest === $current || ! $current ? '' : $latest,
+            'extension'    => $extension,
         ];
     }