504
504
self.next_url = canonical_url(self.context)
507
class IDistroSeriesAddForm(Interface):
510
IDistroSeries["name"], description=_(
511
"The name of this series as used for URLs."))
513
version = copy_field(
514
IDistroSeries["version"], description=_(
515
"The version of the new series."))
517
displayname = copy_field(
518
IDistroSeries["displayname"], description=_(
519
"The name of the new series as it would "
520
"appear in a paragraph."))
522
summary = copy_field(IDistroSeries["summary"])
507
525
class DistroSeriesAddView(LaunchpadFormView):
508
526
"""A view to create an `IDistroSeries`."""
509
schema = IDistroSeries
527
schema = IDistroSeriesAddForm
511
'name', 'displayname', 'title', 'summary', 'description', 'version',
514
label = 'Register a series'
536
"name": u"/+help/distribution-add-series.html#codename",
539
label = 'Add a series'
515
540
page_title = label
517
@action(_('Create Series'), name='create')
542
@action(_('Add Series'), name='create')
518
543
def createAndAdd(self, action, data):
519
544
"""Create and add a new Distribution Series"""
520
registrant = getUtility(ILaunchBag).user
522
assert registrant is not None
523
545
distroseries = self.context.newSeries(
524
546
name=data['name'],
525
547
displayname=data['displayname'],
548
title=data['displayname'],
527
549
summary=data['summary'],
528
description=data['description'],
529
551
version=data['version'],
530
parent_series=data['parent_series'],
531
registrant=registrant)
553
registrant=self.user)
532
554
notify(ObjectCreatedEvent(distroseries))
533
555
self.next_url = canonical_url(distroseries)
534
556
return distroseries