From 943d41d4438623e992b3c6919a2bb5a2b6818ff9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vil=C3=A9m=20Duha?= <vilda.novak@gmail.com>
Date: Wed, 1 Jul 2020 18:24:37 +0200
Subject: [PATCH] BlenderKit:  fix search by author verification status

fix ratings drawing for not logged in users
fix ratings update function(was reacting to quality rating)
---
 blenderkit/__init__.py  |  3 ++-
 blenderkit/ratings.py   |  2 +-
 blenderkit/ui.py        |  2 ++
 blenderkit/ui_panels.py | 10 ++++++----
 4 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/blenderkit/__init__.py b/blenderkit/__init__.py
index 449e65a4f..d511bbf8c 100644
--- a/blenderkit/__init__.py
+++ b/blenderkit/__init__.py
@@ -481,6 +481,7 @@ class BlenderKitCommonSearchProps(object):
             ('DELETED', 'Deleted', 'Deleted'),
         ),
         default='ALL',
+        update=search.search_update,
     )
 
 
@@ -655,7 +656,7 @@ class BlenderKitRatingProps(PropertyGroup):
 
     rating_work_hours: FloatProperty(name="Work Hours",
                                      description="How many hours did this work take?",
-                                     default=0.01,
+                                     default=0.00,
                                      min=0.0, max=1000, update=ratings.update_ratings_work_hours
                                      )
     rating_complexity: IntProperty(name="Complexity",
diff --git a/blenderkit/ratings.py b/blenderkit/ratings.py
index 38dbbaf84..dbe8b8eb2 100644
--- a/blenderkit/ratings.py
+++ b/blenderkit/ratings.py
@@ -128,7 +128,7 @@ def update_ratings_work_hours(self, context):
     bkit_ratings = asset.bkit_ratings
     url = paths.get_api_url() + 'assets/' + asset['asset_data']['id'] + '/rating/'
 
-    if bkit_ratings.rating_quality > 0.1:
+    if bkit_ratings.rating_work_hours > 0.05:
         ratings = [('working_hours', round(bkit_ratings.rating_work_hours, 1))]
         tasks_queue.add_task((send_rating_to_thread_work_hours, (url, ratings, headers)), wait=1, only_last=True)
 
diff --git a/blenderkit/ui.py b/blenderkit/ui.py
index f56dad778..0a6b96a86 100644
--- a/blenderkit/ui.py
+++ b/blenderkit/ui.py
@@ -1688,10 +1688,12 @@ class AssetBarOperator(bpy.types.Operator):
             if a is not None:
                 sprops = utils.get_search_props()
                 sprops.search_keywords = ''
+                sprops.search_verification_status = 'ALL'
                 utils.p('author:', a)
                 search.search(author_id=a)
             return {'RUNNING_MODAL'}
         if event.type == 'X' and ui_props.active_index > -1:
+            # delete downloaded files for this asset
             sr = bpy.context.scene['search results']
             asset_data = sr[ui_props.active_index]
             print(asset_data['name'])
diff --git a/blenderkit/ui_panels.py b/blenderkit/ui_panels.py
index 4efe732f7..7de2a240c 100644
--- a/blenderkit/ui_panels.py
+++ b/blenderkit/ui_panels.py
@@ -74,15 +74,16 @@ def draw_ratings(layout, context):
     if asset == None:
         return;
 
+    col = layout.column()
     if not utils.user_logged_in():
         label_multiline(layout, text='Please login or sign up '
                                      'to rate assets.')
-        return
+        col.enabled = False
     bkit_ratings = asset.bkit_ratings
 
-    ratings.draw_rating(layout, bkit_ratings, 'rating_quality', 'Quality')
-    layout.separator()
-    layout.prop(bkit_ratings, 'rating_work_hours')
+    ratings.draw_rating(col, bkit_ratings, 'rating_quality', 'Quality')
+    col.separator()
+    col.prop(bkit_ratings, 'rating_work_hours')
     w = context.region.width
 
     # layout.label(text='problems')
@@ -93,6 +94,7 @@ def draw_ratings(layout, context):
     # row = layout.row()
     # op = row.operator("object.blenderkit_rating_upload", text="Send rating", icon='URL')
     # return op
+    #re-enable layout if included in longer panel
 
 
 def draw_not_logged_in(source):
-- 
GitLab