From d0c4e1f6732a42f8fa8e8ddeba8fdc6a88070eaa Mon Sep 17 00:00:00 2001
From: davidg73 <david.gunnarsson@univie.ac.at>
Date: Tue, 27 May 2025 14:51:47 +0200
Subject: [PATCH] Configure sortable for fabric description models

---
 app/avo/resources/form.rb       | 1 -
 app/avo/resources/frequency.rb  | 4 ++--
 app/avo/resources/hardness.rb   | 3 +--
 app/avo/resources/sorting.rb    | 2 +-
 app/avo/resources/sphericity.rb | 2 +-
 app/avo/resources/surface.rb    | 3 ++-
 app/avo/resources/text.rb       | 5 +++--
 app/avo/resources/texture.rb    | 3 ++-
 app/avo/resources/voids_form.rb | 3 ++-
 9 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/app/avo/resources/form.rb b/app/avo/resources/form.rb
index d840dd4..d14637b 100644
--- a/app/avo/resources/form.rb
+++ b/app/avo/resources/form.rb
@@ -1,6 +1,5 @@
 class Avo::Resources::Form < Avo::BaseResource
   self.title = :form
-  self.index_query = -> { query.order(form: :asc) }
 
   # self.includes = []
   # self.attachments = []
diff --git a/app/avo/resources/frequency.rb b/app/avo/resources/frequency.rb
index d348b8f..2703f36 100644
--- a/app/avo/resources/frequency.rb
+++ b/app/avo/resources/frequency.rb
@@ -8,7 +8,7 @@ class Avo::Resources::Frequency < Avo::BaseResource
   # }
 
   def fields
-    field :frequency, as: :text
-    field :code, as: :text
+    field :frequency, as: :text, sortable: true
+    field :code, as: :text, sortable: true # TODO: remove this field and check beta.facem.at if it still works
   end
 end
diff --git a/app/avo/resources/hardness.rb b/app/avo/resources/hardness.rb
index 4c3d8f3..04ad845 100644
--- a/app/avo/resources/hardness.rb
+++ b/app/avo/resources/hardness.rb
@@ -8,7 +8,6 @@ class Avo::Resources::Hardness < Avo::BaseResource
   # }
 
   def fields
-    field :id, as: :id
-    field :hardness, as: :text
+    field :hardness, as: :text, sortable: true
   end
 end
diff --git a/app/avo/resources/sorting.rb b/app/avo/resources/sorting.rb
index b9ed282..6d4f2da 100644
--- a/app/avo/resources/sorting.rb
+++ b/app/avo/resources/sorting.rb
@@ -8,6 +8,6 @@ class Avo::Resources::Sorting < Avo::BaseResource
   # }
 
   def fields
-    field :sorting, as: :text
+    field :sorting, as: :text, sortable: true
   end
 end
diff --git a/app/avo/resources/sphericity.rb b/app/avo/resources/sphericity.rb
index 0deaa20..1ffd97c 100644
--- a/app/avo/resources/sphericity.rb
+++ b/app/avo/resources/sphericity.rb
@@ -8,6 +8,6 @@ class Avo::Resources::Sphericity < Avo::BaseResource
   # }
 
   def fields
-    field :sphericity, as: :text
+    field :sphericity, as: :text, sortable: true
   end
 end
diff --git a/app/avo/resources/surface.rb b/app/avo/resources/surface.rb
index 0c709e6..7469326 100644
--- a/app/avo/resources/surface.rb
+++ b/app/avo/resources/surface.rb
@@ -1,5 +1,6 @@
 class Avo::Resources::Surface < Avo::BaseResource
   self.title = :surface
+  self.index_query = -> { query.order(surface: :asc) }
 
   # self.includes = []
   # self.attachments = []
@@ -8,6 +9,6 @@ class Avo::Resources::Surface < Avo::BaseResource
   # }
 
   def fields
-    field :surface, as: :text
+    field :surface, as: :text, sortable: true
   end
 end
diff --git a/app/avo/resources/text.rb b/app/avo/resources/text.rb
index 8e33852..82ed343 100644
--- a/app/avo/resources/text.rb
+++ b/app/avo/resources/text.rb
@@ -1,5 +1,6 @@
 class Avo::Resources::Text < Avo::BaseResource
   self.title = :pdf_title
+  self.index_query = -> { query.order(pdf_title: :asc) }
 
   # self.includes = []
   # self.attachments = []
@@ -8,9 +9,9 @@ class Avo::Resources::Text < Avo::BaseResource
   # }
 
   def fields
-    field :pdf_title, as: :text
+    field :pdf_title, as: :text, sortable: true
+    field :fabric_codes, as: :short_text, sortable: true
     field :pdf_filename, as: :text
     field :pdf_excerpt, as: :short_text
-    field :fabric_codes, as: :short_text
   end
 end
diff --git a/app/avo/resources/texture.rb b/app/avo/resources/texture.rb
index fc6a46d..ef4a964 100644
--- a/app/avo/resources/texture.rb
+++ b/app/avo/resources/texture.rb
@@ -1,5 +1,6 @@
 class Avo::Resources::Texture < Avo::BaseResource
   self.title = :texture
+  self.index_query = -> { query.order(texture: :asc) }
 
   # self.includes = []
   # self.attachments = []
@@ -8,6 +9,6 @@ class Avo::Resources::Texture < Avo::BaseResource
   # }
 
   def fields
-    field :texture, as: :text
+    field :texture, as: :text, sortable: true
   end
 end
diff --git a/app/avo/resources/voids_form.rb b/app/avo/resources/voids_form.rb
index a79427e..51b6a94 100644
--- a/app/avo/resources/voids_form.rb
+++ b/app/avo/resources/voids_form.rb
@@ -1,5 +1,6 @@
 class Avo::Resources::VoidsForm < Avo::BaseResource
   self.title = :voids_form
+  self.index_query = -> { query.order(voids_form: :asc) }
 
   # self.includes = []
   # self.attachments = []
@@ -8,6 +9,6 @@ class Avo::Resources::VoidsForm < Avo::BaseResource
   # }
 
   def fields
-    field :voids_form, as: :text
+    field :voids_form, as: :text, sortable: true
   end
 end
-- 
GitLab