8000 Log operations by Aiky30 · Pull Request #6419 · django-cms/django-cms · GitHub
[go: up one dir, main page]

Skip to content

Log operations #6419

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 39 commits into from
Jul 2, 2018
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
c393d73
Logging helper, page operation logs and page operation tests implemented
Jun 15, 2018
8309bac
Amended the logs to contain the correct action flag
Jun 18, 2018
3365d4f
Added tests for the action flag, changed the page log messages and te…
Jun 18, 2018
e18af96
Updated the messages and tests to cover more of the log entry fields …
Jun 18, 2018
41af0c5
Added new check for get_change_message to ensure that the view functi…
Jun 18, 2018
8ca4740
Cleaning the comments in the code
Jun 18, 2018
e39fbb5
All tests now passing although the method of getting the page admin w…
Jun 18, 2018
d7677df
Cleaned comments and Todo message
Jun 19, 2018
721948e
Cleaned out and organised better for pep 8 compliance
Jun 19, 2018
d92ba32
Cleaned out comments
Jun 19, 2018
8b79b72
logging page creation shared tests renamed
Jun 19, 2018
27bb832
Clean code to pass py flakes tests
Jun 19, 2018
2c0df27
Added various changes to the logging including changing to a signals …
Jun 21, 2018
801a901
committing progress for discussion
Jun 22, 2018
32a91db
Changed the logging message format and the object of all placeholder …
Jun 22, 2018
322181d
Removed the log creation from the form. Amended logs to treat the pag…
Jun 25, 2018
467ea74
Added all tests, disabled the standard Admin log created, changed and…
Jun 25, 2018
b0d90be
Comment the disabled log entry overrides and remove Manual LogEntry c…
Jun 25, 2018
84c6aa5
Reverse changes to the form file
Jun 25, 2018
6ccfb02
Prepare for the form signal handler via operations. Failing tests.
Jun 26, 2018
d707ce8
Added fake request to continue dev. Amended tests and code to work as…
Jun 26, 2018
c5c032d
Amended the logs to fire for edit title fieldgit status
Jun 26, 2018
9bd9902
Add a page changed flag for when fields on page are changed
Jun 26, 2018
ccc6354
Repair changes made to other files
Jun 26, 2018
e741e04
Removed unused plugin
Jun 26, 2018
e723bd1
Remove space that I've added
Jun 26, 2018
81f9024
Amendments from PR feedback
Jun 27, 2018
9f0a770
Merge branch 'release/4.0.x' of github.com:divio/django-cms into rele…
Jun 27, 2018
6030a71
Repair merge of latest test failure
Jun 27, 2018
b82416d
Removed failing test that checks for publishing logs in the test_admi…
Jun 27, 2018
8bed9d0
Amend the admin form to send through the correct request object and r…
Jun 27, 2018
c192dce
Removed redundnant LogEntry import from test_admin
Jun 27, 2018
89b0249
Format the code as per Paulos PR feedback
Jun 28, 2018
4e4d331
fixed failing test due to cleaning too far
Jun 28, 2018
b57802c
cosmetics
czpython Jun 28, 2018
3b4e002
Updated all of the test docstrings to better describe the purpose of …
Jun 28, 2018
4bf6ce9
Add tests that the correct user is attached to each log
Jun 29, 2018
153a60b
Amended log entry tests by ensuring the correct users are configured …
Jun 29, 2018
2c0a1c6
Changed the users id to pk on the tests£
Jul 2, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Removed the log creation from the form. Amended logs to treat the pag…
…e as the source object
  • Loading branch information
Andrew Aikman committed Jun 25, 2018
commit 322181def8c2f108d69d6fffc817b00bb525b1d0
15 changes: 1 addition & 14 deletions cms/admin/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from django.utils.encoding import force_text
from django.utils.translation import ugettext, ugettext_lazy as _

from cms import api, operations
from cms import api
from cms.apphook_pool import apphook_pool
from cms.cache.permissions import clear_permission_cache
from cms.exceptions import PluginLimitReached
Expand Down Expand Up @@ -296,19 +296,6 @@ def save(self, *args, **kwargs):
new_page.publish(translation.language)
new_page.set_as_homepage(self._user)

# Log page creation
# from django.contrib.admin.utils import construct_change_message
# from cms.utils.log_entries import log_page_form_addition
# change_message = construct_change_message(form=False, formsets=False, add=True)
# FIXME: REMOVEME: log_page_form_addition(self._user, new_page, change_message)
# TODO: Add a signal here. Issue is sending through the request??
"""
self._send_pre_page_operation(
operation=operations.ADD_PAGE,
obj=new_page,
)
"""

return new_page


Expand Down
43 changes: 30 additions & 13 deletions cms/signals/log_entries.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,18 @@ def create_log_entry(user_id, content_type_id, object_id, object_repr, action_fl
},
}


"""
ADD_PAGE_TRANSLATION = 'add_page_translation'
CHANGE_PAGE_TRANSLATION = 'change_page_translation'
DELETE_PAGE_TRANSLATION = 'delete_page_translation'
PUBLISH_PAGE_TRANSLATION = 'publish_page_translation'
REVERT_PAGE_TRANSLATION_TO_LIVE = 'revert_page_translation_to_live'
"""




def log_page_operations(sender, **kwargs):
"""
"""
Expand All @@ -42,6 +54,8 @@ def log_page_operations(sender, **kwargs):
operation_type = kwargs.pop('operation')
obj = kwargs.pop('obj')

print(operation_type)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove newline

user_id = request.user.pk
content_type_id = ContentType.objects.get_for_model(obj).pk
object_id = obj.pk
Expand All @@ -65,10 +79,12 @@ def log_placeholder_operations(sender, **kwargs):

user_id = request.user.pk

print(operation_type)

if operation_type == operations.ADD_PLUGIN:

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove newline

plugin = kwargs.pop('plugin')
page = plugin.placeholder.page
placeholder = kwargs.pop('placeholder')
page = placeholder.page
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will need to check that placeholder actually has page


content_type_id = ContentType.objects.get_for_model(page).pk
object_id = page.pk
Expand All @@ -78,8 +94,8 @@ def log_placeholder_operations(sender, **kwargs):

elif operation_type == operations.CHANGE_PLUGIN:

plugin = kwargs.pop('new_plugin')
page = plugin.placeholder.page
placeholder = kwargs.pop('placeholder')
page = placeholder.page

content_type_id = ContentType.objects.get_for_model(page).pk
object_id = page.pk
Expand All @@ -89,8 +105,8 @@ def log_placeholder_operations(sender, **kwargs):

elif operation_type == operations.MOVE_PLUGIN:

plugin = kwargs.pop('plugin')
page = plugin.placeholder.page
placeholder = kwargs.pop('target_placeholder')
page = placeholder.page

content_type_id = ContentType.objects.get_for_model(page).pk
object_id = page.pk
Expand All @@ -100,8 +116,8 @@ def log_placeholder_operations(sender, **kwargs):

elif operation_type == operations.DELETE_PLUGIN:

plugin = kwargs.pop('plugin')
page = plugin.placeholder.page
placeholder = kwargs.pop('placeholder')
page = placeholder.page

content_type_id = ContentType.objects.get_for_model(page).pk
object_id = page.pk
Expand All @@ -111,17 +127,19 @@ def log_placeholder_operations(sender, **kwargs):

elif operation_type == operations.CUT_PLUGIN:

plugin = kwargs.pop('plugin')
page = plugin.placeholder.page
placeholder = kwargs.pop('source_placeholder')
page = placeholder.page
content_type_id = ContentType.objects.get_for_model(page).pk
object_id = page.pk
object_repr = str(page)

create_log_entry(user_id, content_type_id, object_id, object_repr, CHANGE, _("Cut Plugin"))

elif operation_type == operations.PASTE_PLUGIN:
plugin = kwargs.pop('plugin')
page = plugin.placeholder.page

placeholder = kwargs.pop('target_placeholder')
page = placeholder.page

content_type_id = ContentType.objects.get_for_model(page).pk
object_id = page.pk
object_repr = str(page)
Expand All @@ -141,7 +159,6 @@ def log_placeholder_operations(sender, **kwargs):

elif operation_type == operations.ADD_PLUGINS_FROM_PLACEHOLDER:

source_placeholder = kwargs.pop('source_placeholder')
target_placeholder = kwargs.pop('target_placeholder')

page = target_placeholder.page
Expand Down
2 changes: 1 addition & 1 deletion cms/tests/test_log_entries.py
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ def test_log_for_cut_plugin(self):
# Check the action flag is set correctly
self.assertEqual(CHANGE, log_entry.action_flag)

# Check the object id is set correctly
# Check the object id is set correctly
self.assertEqual(str(page.pk), log_entry.object_id)

# Check the object_repr is set correctly
Expand Down
0