From 46312d1a167d882253d24b0a883fb2378a070e11 Mon Sep 17 00:00:00 2001 From: Filipp Lepalaan Date: Thu, 10 Sep 2015 14:15:33 +0300 Subject: Cleanup --- servo/forms/admin.py | 7 +--- servo/lib/utils.py | 9 +++++ servo/management/commands/migratepayments.py | 44 ---------------------- servo/management/commands/migratestatuses.py | 54 --------------------------- servo/management/commands/migratetimezones.py | 41 -------------------- servo/views/order.py | 14 +++---- 6 files changed, 18 insertions(+), 151 deletions(-) delete mode 100644 servo/management/commands/migratepayments.py delete mode 100644 servo/management/commands/migratestatuses.py delete mode 100644 servo/management/commands/migratetimezones.py (limited to 'servo') diff --git a/servo/forms/admin.py b/servo/forms/admin.py index b0c7c54..6645317 100644 --- a/servo/forms/admin.py +++ b/servo/forms/admin.py @@ -552,12 +552,9 @@ class SettingsForm(BaseForm): d.write(chunk) if self.cleaned_data.get('gsx_keypass'): - import subprocess + from servo.lib.utils import strip_keypass keypass = self.cleaned_data['gsx_keypass'] - subprocess.call(['openssl', 'rsa', '-passin', - 'pass:' + keypass, - '-in', settings.GSX_KEY, - '-out', settings.GSX_KEY]) + strip_keypass(keypass, settings.GSX_KEY, settings.GSX_KEY) if self.cleaned_data.get('company_logo'): f = self.cleaned_data['company_logo'] diff --git a/servo/lib/utils.py b/servo/lib/utils.py index ed77897..bd6a99f 100644 --- a/servo/lib/utils.py +++ b/servo/lib/utils.py @@ -29,6 +29,15 @@ from django.db.models import Model from django.core.serializers.json import DjangoJSONEncoder +def strip_keypass(keypass, infile, outfile): + """ + Strips a passphrase from a private key + """ + import subprocess + keypass = self.cleaned_data['gsx_keypass'] + subprocess.call(['openssl', 'rsa', '-passin', + 'pass:' + keypass, '-in', infile, '-out', outfile]) + def multiprint(*args): """ Emulate JS console.log() diff --git a/servo/management/commands/migratepayments.py b/servo/management/commands/migratepayments.py deleted file mode 100644 index 84c5c40..0000000 --- a/servo/management/commands/migratepayments.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2013, First Party Software -# All rights reserved. - -# Redistribution and use in source and binary forms, with or without modification, -# are permitted provided that the following conditions are met: - -# 1. Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. - -# 2. Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. - -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT -# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. - -import logging - -from django.core.management.base import BaseCommand, CommandError - -from servo.models import Invoice, Payment - - -class Command(BaseCommand): - help = "Migrate invoice payment info to Payments" - - def handle(self, *args, **options): - Payment.objects.all().delete() - for i in Invoice.objects.all(): - p = Payment(invoice=i, method=i.payment_method) - p.created_at = i.paid_at - p.created_by = i.created_by - p.amount = i.total_gross - p.save() diff --git a/servo/management/commands/migratestatuses.py b/servo/management/commands/migratestatuses.py deleted file mode 100644 index e6ca601..0000000 --- a/servo/management/commands/migratestatuses.py +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2013, First Party Software -# All rights reserved. - -# Redistribution and use in source and binary forms, with or without modification, -# are permitted provided that the following conditions are met: - -# 1. Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. - -# 2. Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. - -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT -# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. - -import logging - -from django.core.management.base import BaseCommand, CommandError - -from servo.models import Event, OrderStatus, Status - - -class Command(BaseCommand): - help = "Migrate Events to Order Statuses" - - def handle(self, *args, **options): - OrderStatus.objects.all().delete() - - for i in Event.objects.filter(action='set_status'): - if i.content_object is None: - continue - - os = OrderStatus(order=i.content_object) - os.started_by = i.triggered_by - os.started_at = i.triggered_at - os.finished_at = i.handled_at - - try: - os.status = Status.objects.get(title=i.description) - except Status.DoesNotExist: - continue - - os.save() diff --git a/servo/management/commands/migratetimezones.py b/servo/management/commands/migratetimezones.py deleted file mode 100644 index 7eb63d1..0000000 --- a/servo/management/commands/migratetimezones.py +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (c) 2013, First Party Software -# All rights reserved. - -# Redistribution and use in source and binary forms, with or without modification, -# are permitted provided that the following conditions are met: - -# 1. Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. - -# 2. Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. - -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT -# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. - -import logging - -from django.core.management.base import BaseCommand, CommandError - -from servo.models import User - - -class Command(BaseCommand): - help = "Migrate location timezones to user timezones" - - def handle(self, *args, **options): - for i in User.objects.all(): - if i.location: - i.timezone = i.location.timezone - i.save() diff --git a/servo/views/order.py b/servo/views/order.py index 27ee5a3..ade41ac 100644 --- a/servo/views/order.py +++ b/servo/views/order.py @@ -315,8 +315,8 @@ def list_orders(request): @permission_required("servo.change_order") def toggle_tag(request, order_id, tag_id): - tag = Tag.objects.get(pk=tag_id) - order = Order.objects.get(pk=order_id) + tag = get_object_or_404(Tag, pk=tag_id) + order = get_object_or_404(Order, pk=order_id) if tag not in order.tags.all(): order.add_tag(tag) @@ -331,7 +331,7 @@ def toggle_task(request, order_id, item_id): """ Toggles a given Check List item in this order """ - checklist_item = ChecklistItem.objects.get(pk=item_id) + checklist_item = get_object_or_404(ChecklistItem, pk=item_id) try: item = ChecklistItemValue.objects.get(order_id=order_id, item=checklist_item) @@ -371,7 +371,7 @@ def repair(request, order_id, repair_id): @permission_required("servo.change_order") def complete_repair(request, order_id, repair_id): - repair = Repair.objects.get(pk=repair_id) + repair = get_object_or_404(Repair, pk=repair_id) if request.method == 'POST': try: repair.close(request.user) @@ -463,7 +463,7 @@ def toggle_follow(request, order_id): def toggle_flagged(request, pk): - order = Order.objects.get(pk=pk) + order = get_object_or_404(Order, pk=pk) t = FlaggedItem(content_object=order, flagged_by=request.user) t.save() @@ -474,7 +474,7 @@ def remove_user(request, pk, user_id): Removes this user from the follower list, unsets assignee """ order = get_object_or_404(Order, pk=pk) - user = User.objects.get(pk=user_id) + user = get_object_or_404(User, pk=user_id) try: order.remove_follower(user) @@ -607,7 +607,7 @@ def add_device(request, pk, device_id=None, sn=None): try: device = Device.from_gsx(sn) device.save() - except Exception, e: + except Exception as e: messages.error(request, e) return redirect(order) -- cgit v1.2.3