Merge lp:~michael.nelson/ubuntu-webcatalog/1170742-import-for-purchase-broken into lp:ubuntu-webcatalog

Proposed by Michael Nelson
Status: Merged
Approved by: Michael Nelson
Approved revision: 184
Merged at revision: 182
Proposed branch: lp:~michael.nelson/ubuntu-webcatalog/1170742-import-for-purchase-broken
Merge into: lp:ubuntu-webcatalog
Diff against target: 44 lines (+19/-1)
2 files modified
src/webcatalog/models/applications.py (+6/-1)
src/webcatalog/tests/test_models.py (+13/-0)
To merge this branch: bzr merge lp:~michael.nelson/ubuntu-webcatalog/1170742-import-for-purchase-broken
Reviewer Review Type Date Requested Status
Michael Nelson (community) Approve
Michael Foord (community) Approve
Review via email: mp+160320@code.launchpad.net

Commit message

Update departments based on slugs when importing from sca.

Description of the change

Update departments based on slugs when importing from sca.

See the bug for details.

`fab test:pg=true`

To post a comment you must log in.
Revision history for this message
Michael Foord (mfoord) wrote :

Looks good to me.

review: Approve
Revision history for this message
Ubuntu One Auto Pilot (otto-pilot) wrote :

Voting does not meet specified criteria. Required: Approve >= 1, Disapprove == 0, Needs Fixing == 0, Needs Information == 0, Resubmit == 0, Pending == 0. Got: 1 Pending.

Revision history for this message
Michael Nelson (michael.nelson) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/webcatalog/models/applications.py'
2--- src/webcatalog/models/applications.py 2013-04-09 13:27:43 +0000
3+++ src/webcatalog/models/applications.py 2013-04-23 10:25:34 +0000
4@@ -160,10 +160,15 @@
5
6 def get_dept(dept_name):
7 dept, created = Department.objects.get_or_create(
8- name=dept_name, defaults={'slug': slugify(dept_name)})
9+ slug=slugify(dept_name), defaults=dict(name=dept_name))
10 if created:
11 logging.warn("Department %s automatically created!" %
12 dept_name)
13+ if not created and dept_name != dept.name:
14+ logging.warn("Department %s name updated to %s.",
15+ dept.name, dept_name)
16+ dept.name = dept_name
17+ dept.save()
18 return dept
19
20 if self.imported_from_sca:
21
22=== modified file 'src/webcatalog/tests/test_models.py'
23--- src/webcatalog/tests/test_models.py 2012-08-21 13:57:11 +0000
24+++ src/webcatalog/tests/test_models.py 2013-04-23 10:25:34 +0000
25@@ -92,6 +92,19 @@
26 self.assertEqual(1, app.departments.count())
27 self.assertEqual('Books & Magazines', app.departments.get().name)
28
29+ def test_update_departments_new_name(self):
30+ dept = self.factory.make_department('Role Spielen',
31+ slug='role-spielen')
32+ app = self.factory.make_application(
33+ departments=[dept], imported_from_sca=True)
34+
35+ app.update_departments(['Role-Spielen'])
36+
37+ self.assertEqual(app.departments.count(), 1)
38+ dept = app.departments.get()
39+ self.assertEqual('role-spielen', dept.slug)
40+ self.assertEqual('Role-Spielen', dept.name)
41+
42 def test_crumbs_no_department(self):
43 app = self.factory.make_application()
44 app_url = reverse('wc-package-detail',

Subscribers

People subscribed via source and target branches