applications: fix version creation on generation (#69655)
This commit is contained in:
parent
b48bd6e23b
commit
6fc211c7ca
|
@ -224,12 +224,10 @@ class GenerateView(FormView):
|
|||
def form_valid(self, form):
|
||||
app = self.app
|
||||
|
||||
version = (
|
||||
app.version_set.filter(number=form.cleaned_data['number'])
|
||||
.order_by('last_update_timestamp')
|
||||
.last()
|
||||
)
|
||||
if not version:
|
||||
latest_version = app.version_set.order_by('last_update_timestamp').last()
|
||||
if latest_version and latest_version.number == form.cleaned_data['number']:
|
||||
version = latest_version
|
||||
else:
|
||||
version = Version(application=app)
|
||||
version.number = form.cleaned_data['number']
|
||||
version.notes = form.cleaned_data['notes']
|
||||
|
|
|
@ -305,6 +305,12 @@ def test_create_application(app, admin_user, settings, analyze):
|
|||
resp = app.get('/applications/manifest/test/generate/')
|
||||
assert resp.form['number'].value == '2.0' # last one
|
||||
assert resp.form['notes'].value == 'Foo bar blah. But with an icon.' # last one
|
||||
resp.form['number'] = '1.0' # old number
|
||||
resp = resp.form.submit().follow()
|
||||
new_version = Version.objects.latest('pk')
|
||||
assert new_version.number == '1.0'
|
||||
assert new_version.notes == 'Foo bar blah. But with an icon.'
|
||||
assert new_version.pk != version.pk # new version created
|
||||
|
||||
# non editable app
|
||||
application.editable = False
|
||||
|
|
Loading…
Reference in New Issue