10000 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
Format the code as per Paulos PR feedback
  • Loading branch information
Andrew Aikman committed Jun 28, 2018
commit 89b0249b1acd600c692df7740dc995c9b98202bc
1 change: 0 additions & 1 deletion cms/admin/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -501,7 +501,6 @@ def save(self, commit=True):
else:
cms_page._update_title_path_recursive(self._language)
cms_page.clear_cache(menu=True)

send_post_page_operation(
request=self._request,
operation=CHANGE_PAGE,
Expand Down
2 changes: 0 additions & 2 deletions cms/admin/pageadmin.py
Original file line number Diff line number Diff line change
Expand Up @@ -470,7 +470,6 @@ def delete_view(self, request, object_id, extra_context=None):
return self.render_delete_form(request, context)

def delete_model(self, request, obj):

operation_token = send_pre_page_operation(
request=request,
operation=operations.DELETE_PAGE,
Expand Down Expand Up @@ -894,7 +893,6 @@ def move_page(self, request, page_id, extra_context=None):
obj=page,
sender=self.model,
)

return jsonify_request(HttpResponse(status=200))

def get_permissions(self, request, page_id):
Expand Down
25 changes: 10 additions & 15 deletions cms/signals/log_entries.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-

from __future__ import unicode_literals

from django.contrib.admin.models import LogEntry, ADDITION, CHANGE, DELETION
Copy link
Contributor

Choose a reason for hiding this comment

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

add an import for unicode_literals

Copy link
Contributor

Choose a reason for hiding this comment

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

Missing this

from django.contrib.contenttypes.models import ContentType
from django.utils.translation import ugettext_lazy as _
Expand Down Expand Up @@ -98,23 +100,20 @@ def log_page_operations(sender, **kwargs):
"""
Create a log for the correct page operation type
"""

request = kwargs.get('request')
operation_type = kwargs.get('operation')
obj = kwargs.get('obj')

# Check that we have instructions for the operation and an instance of Page to link to in the log
# Check that we have instructions for the operation
# and an instance of Page to link to in the log
if operation_type in _page_operations_map and _is_valid_page_instance(obj):
operation_handler = _page_operations_map[operation_type]
user_id = request.user.pk
content_type_id = ContentType.objects.get_for_model(obj).pk
object_id = obj.pk
object_repr = str(obj)
create_log_entry(
user_id=user_id,
user_id=request.user.pk,
content_type_id=content_type_id,
object_id=object_id,
object_repr=object_repr,
object_id=obj.pk,
object_repr=str(obj),
action_flag=operation_handler['flag'],
change_message=operation_handler['message'],
)
Expand All @@ -124,27 +123,23 @@ def log_placeholder_operations(sender, **kwargs):
"""
Create a log for the correct placeholder operation type
"""

request = kwargs.get('request')
operation_type = kwargs.get('operation')

# Check that we have instructions for the operation
if operation_type in _placeholder_operations_map:
operation_handler = _placeholder_operations_map[operation_type]
user_id = request.user.pk
placeholder = kwargs.get(operation_handler['placeholder_kwarg'])
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


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

# Check that we have an instance of Page to link to in the log
if _is_valid_page_instance(page):
content_type_id = ContentType.objects.get_for_model(page).pk
object_id = page.pk
object_repr = str(page)
create_log_entry(
user_id=user_id,
user_id=request.user.pk,
content_type_id=content_type_id,
object_id=object_id,
object_repr=object_repr,
object_id=page.pk,
object_repr=str(page),
action_flag=operation_handler['flag'],
change_message=operation_handler['message'],
)
Loading
0