Project

General

Profile

Feature #8620

Edit of mark make it unconfirmed

Added by Alexey Khoroshilov about 1 year ago. Updated about 1 year ago.

Status:
Closed
Priority:
Urgent
Category:
Bridge
Target version:
Start date:
12/06/2017
Due date:
12/19/2017
% Done:

100%

Estimated time:
Published in build:

Description

If I create a mark and then edit it (fix comment or add a tag), it becames unconfirmed. That is quite unexpected behaviour.

History

#1 Updated by Evgeny Novikov about 1 year ago

  • Tracker changed from Bug to Feature
  • Category set to Bridge
  • Assignee set to Vladimir Gratinskiy
  • Priority changed from Normal to Urgent
  • Target version set to 2.0

Indeed this is correct behavior by design. If an expert changes a mark somehow, he/she should confirm that all its associations still match changes made.

Nevertheless, I agree that sometimes it seems to be redundant, especially in a real production where experts need to analyze very many warnings. The expert can confirm that all associations will be valid in advance, e.g. when he/she fixes a grammar mistake in a mark description. Ditto, adding some tags can be considered as safe. For such the cases there should be an option to automatically reconfirm all associations confirmed before. Although, I suggest to disable this option by default, so that experts will think prior to enabling it.

There still should be changes preventing such automatic reconfirmation. Namely, I suggest to disable it when associations themselves can change. As far as I understand this is the case just in two scenarios, when the expert changes comparison attributes somehow (I think that nobody used this ever) and when the expert changes a comparison algorithm (this also seems to be done very-very seldom after recent improvements).

#2 Updated by Vladimir Gratinskiy about 1 year ago

Associations "likes" would also be preserved if "autoconfirm" option is enabled.

#3 Updated by Vladimir Gratinskiy about 1 year ago

  • % Done changed from 0 to 100
  • Status changed from New to Resolved
  • Due date set to 12/19/2017

Implemented in branch "marks-imrovements".

#4 Updated by Evgeny Novikov about 1 year ago

Vladimir Gratinskiy wrote:

Associations "likes" would also be preserved if "autoconfirm" option is enabled.

This is definitely well.

#5 Updated by Evgeny Novikov about 1 year ago

  • Target version changed from 2.0 to 1.0

As far as we postpone Klever version:0.3, let's include this issue there.

#6 Updated by Ilja Zakharov about 1 year ago

Currently cannot edit unknown marks in the branch. Got the following exception:
Error while saving/creating mark: Cannot parse keyword query as dict
Traceback (most recent call last):
File "/work/zakharov/src/klever/bridge/marks/views.py", line 208, in save_mark
res = mutils.NewMark(request.user, savedata)
File "/work/zakharov/src/klever/bridge/marks/utils.py", line 200, in init
self.mark = self.__new_mark()
File "/work/zakharov/src/klever/bridge/marks/utils.py", line 246, in new_mark
mark = res.change_mark(self._inst)
File "/work/zakharov/src/klever/bridge/marks/UnknownUtils.py", line 128, in change_mark
self.changes = self.__create_changes(mark)
File "/work/zakharov/src/klever/bridge/marks/UnknownUtils.py", line 165, in __create_changes
for mr in MarkUnknownReport.objects.filter(changes):
File "/home/zakharov/.local/lib/python3.5/site-packages/django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/db/models/query.py", line 796, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/db/models/query.py", line 814, in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
File "/home/zakharov/.local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1227, in add_q
clause, _ = self._add_q(q_object, self.used_aliases)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1253, in _add_q
allow_joins=allow_joins, split_subq=split_subq,
File "/home/zakharov/.local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1129, in build_filter
raise FieldError("Cannot parse keyword query as dict")
django.core.exceptions.FieldError: Cannot parse keyword query as dict
Stack (most recent call last):
File "/usr/lib/python3.5/threading.py", line 882, in _bootstrap
self._bootstrap_inner()
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/lib/python3.5/threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3.5/socketserver.py", line 625, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python3.5/socketserver.py", line 354, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python3.5/socketserver.py", line 681, in __init

self.handle()
File "/home/zakharov/.local/lib/python3.5/site-packages/django/core/servers/basehttp.py", line 174, in handle
handler.run(self.server.get_app())
File "/usr/lib/python3.5/wsgiref/handlers.py", line 137, in run
self.result = application(self.environ, self.start_response)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/contrib/staticfiles/handlers.py", line 63, in call
return self.application(environ, start_response)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/core/handlers/wsgi.py", line 170, in call
response = self.get_response(request)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/core/handlers/base.py", line 124, in get_response
response = self._middleware_chain(request)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/core/handlers/exception.py", line 39, in inner
response = get_response(request)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response
response = self._get_response(request)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/work/zakharov/src/klever/bridge/tools/profiling.py", line 133, in wait
res = f(*args, **kwargs)
File "/work/zakharov/src/klever/bridge/marks/views.py", line 212, in save_mark
logger.exception("Error while saving/creating mark: %s" % e, stack_info=True)

#7 Updated by Ilja Zakharov about 1 year ago

  • Status changed from Resolved to Open

#8 Updated by Vladimir Gratinskiy about 1 year ago

  • Status changed from Open to Resolved

The bug was fixed.

#9 Updated by Ilja Zakharov about 1 year ago

  • Status changed from Resolved to Closed

Available since cfc84c84.

Also available in: Atom PDF