Skip to content

Commit 936c11d

Browse files
committed
Updated field name, admin page and handling.
1 parent 80c6381 commit 936c11d

File tree

8 files changed

+54
-67
lines changed

8 files changed

+54
-67
lines changed

app/lib/frontend/templates/views/pkg/admin_page.dart

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,27 @@ d.Node packageAdminPageNode({
3333
],
3434
),
3535
TocNode(
36-
'Automated publishing',
37-
href: '#automated-publishing',
36+
'Publishing',
37+
href: '#publishing',
3838
children: [
39-
TocNode('GitHub Actions', href: '#github-actions'),
39+
if (requestContext
40+
.experimentalFlags
41+
.isManualPublishingConfigAvailable)
42+
TocNode('Manual publishing', href: '#manual-publishing'),
4043
TocNode(
41-
'Google Cloud Service account',
42-
href: '#google-cloud-service-account',
44+
'Automated publishing',
45+
href: '#automated-publishing',
46+
children: [
47+
TocNode('GitHub Actions', href: '#github-actions'),
48+
TocNode(
49+
'Google Cloud Service account',
50+
href: '#google-cloud-service-account',
51+
),
52+
],
4353
),
54+
TocNode('Version retraction', href: '#version-retraction'),
4455
],
4556
),
46-
if (requestContext.experimentalFlags.isManualPublishingConfigAvailable)
47-
TocNode('Manual publishing', href: '#manual-publishing'),
48-
TocNode('Version retraction', href: '#version-retraction'),
4957
]),
5058
d.a(name: 'ownership'),
5159
d.h2(text: 'Package ownership'),
@@ -229,9 +237,11 @@ d.Node packageAdminPageNode({
229237
),
230238
),
231239
],
232-
_automatedPublishing(package),
240+
d.a(name: 'publishing'),
241+
d.h2(text: 'Publishing'),
233242
if (requestContext.experimentalFlags.isManualPublishingConfigAvailable)
234243
_manualPublishing(package),
244+
_automatedPublishing(package),
235245
d.a(name: 'version-retraction'),
236246
d.h2(text: 'Version retraction'),
237247
d.div(
@@ -309,7 +319,7 @@ d.Node _automatedPublishing(Package package) {
309319
final isGitHubEnabled = github?.isEnabled ?? false;
310320
return d.fragment([
311321
d.a(name: 'automated-publishing'),
312-
d.h2(text: 'Automated publishing'),
322+
d.h3(text: 'Automated publishing'),
313323
d.markdown(
314324
'You can automate publishing from the supported automated deployment environments. '
315325
'Instead of creating long-lived secrets, you may use temporary OpenID-Connect tokens '
@@ -462,7 +472,7 @@ d.Node _manualPublishing(Package package) {
462472
final manual = package.automatedPublishing?.manualConfig;
463473
return d.fragment([
464474
d.a(name: 'manual-publishing'),
465-
d.h2(text: 'Manual publishing'),
475+
d.h3(text: 'Manual publishing'),
466476
d.markdown(
467477
'The manual publishing of new versions using the `pub` tool is enabled by default in all packages. '
468478
'Disabling it may protect the package from accidental publishing events when the package is otherwise using '
@@ -471,9 +481,9 @@ d.Node _manualPublishing(Package package) {
471481
d.div(
472482
classes: ['-pub-form-checkbox-row'],
473483
child: material.checkbox(
474-
id: '-admin-is-manual-publishing-disabled',
475-
label: 'Disable manual publishing',
476-
checked: manual?.isDisabled ?? false,
484+
id: '-pkg-admin-manual-publishing-enabled',
485+
label: 'Enable manual publishing',
486+
checked: manual?.isEnabled ?? true,
477487
),
478488
),
479489
]);

app/lib/package/backend.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1616,9 +1616,9 @@ class PackageBackend {
16161616
}
16171617
if (agent is AuthenticatedUser &&
16181618
await packageBackend.isPackageAdmin(package, agent.user.userId)) {
1619-
final isDisabled =
1620-
package.automatedPublishing?.manualConfig?.isDisabled ?? false;
1621-
if (isDisabled) {
1619+
final isEnabled =
1620+
package.automatedPublishing?.manualConfig?.isEnabled ?? true;
1621+
if (!isEnabled) {
16221622
throw AuthorizationException.manualPublishingDisabled();
16231623
}
16241624
return;

app/test/package/automated_publishing_test.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ void main() {
182182
'oxygen',
183183
AutomatedPublishingConfig(
184184
github: GitHubPublishingConfig(
185-
isEnabled: false,
185+
isEnabled: true,
186186
repository: 'abcd/efgh',
187187
tagPattern: pattern,
188188
),
@@ -331,9 +331,9 @@ void main() {
331331
}
332332

333333
await update(
334-
manual: ManualPublishingConfig(isDisabled: false),
334+
manual: ManualPublishingConfig(isEnabled: true),
335335
expected: {
336-
'manual': {'isDisabled': false},
336+
'manual': {'isEnabled': true},
337337
},
338338
);
339339

@@ -346,20 +346,20 @@ void main() {
346346
'isPushEventEnabled': true,
347347
'isWorkflowDispatchEventEnabled': false,
348348
},
349-
'manual': {'isDisabled': false},
349+
'manual': {'isEnabled': true},
350350
},
351351
);
352352

353353
await update(
354-
manual: ManualPublishingConfig(isDisabled: true),
354+
manual: ManualPublishingConfig(isEnabled: false),
355355
expected: {
356356
'github': {
357357
'isEnabled': false,
358358
'requireEnvironment': false,
359359
'isPushEventEnabled': true,
360360
'isWorkflowDispatchEventEnabled': false,
361361
},
362-
'manual': {'isDisabled': true},
362+
'manual': {'isEnabled': false},
363363
},
364364
);
365365

@@ -378,7 +378,7 @@ void main() {
378378
'isPushEventEnabled': true,
379379
'isWorkflowDispatchEventEnabled': false,
380380
},
381-
'manual': {'isDisabled': true},
381+
'manual': {'isEnabled': false},
382382
},
383383
);
384384
},

app/test/package/upload_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ void main() {
291291
await client.setAutomatedPublishing(
292292
'oxygen',
293293
AutomatedPublishingConfig(
294-
manual: ManualPublishingConfig(isDisabled: true),
294+
manual: ManualPublishingConfig(isEnabled: false),
295295
),
296296
);
297297
});

pkg/_pub_shared/lib/data/package_api.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,9 @@ class GcpPublishingConfig {
123123

124124
@JsonSerializable(includeIfNull: false, explicitToJson: true)
125125
class ManualPublishingConfig {
126-
bool isDisabled;
126+
bool isEnabled;
127127

128-
ManualPublishingConfig({this.isDisabled = false});
128+
ManualPublishingConfig({this.isEnabled = true});
129129

130130
factory ManualPublishingConfig.fromJson(Map<String, dynamic> json) =>
131131
_$ManualPublishingConfigFromJson(json);

pkg/_pub_shared/lib/data/package_api.g.dart

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/pub_integration/test/pkg_admin_page_test.dart

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,19 @@ void main() {
8484
await page.gotoOrigin('/experimental?manual-publishing=1');
8585
await page.gotoOrigin('/packages/test_pkg/admin');
8686

87-
await page.waitAndClick('#-admin-is-manual-publishing-disabled');
88-
await page.waitAndClickOnDialogOk(waitForOneResponse: true);
87+
await page.waitAndClick('#-pkg-admin-manual-publishing-enabled');
88+
await page.waitAndClick(
89+
'#-pkg-admin-automated-button',
90+
waitForOneResponse: true,
91+
);
92+
await page.waitAndClickOnDialogOk();
8993
await page.reload();
9094

9195
final value = await page.propertyValue(
92-
'#-admin-is-manual-publishing-disabled',
96+
'#-pkg-admin-manual-publishing-enabled',
9397
'checked',
9498
);
95-
expect(value, true);
99+
expect(value, false);
96100
});
97101

98102
// visit activity log page

pkg/web_app/lib/src/admin_pages.dart

Lines changed: 7 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ class _PkgAdminWidget {
8585
InputElement? _replacedByInput;
8686
Element? _replacedByButton;
8787
InputElement? _unlistedCheckbox;
88-
InputElement? _disableManualPublishingCheckbox;
8988
Element? _inviteUploaderButton;
9089
Element? _inviteUploaderContent;
9190
InputElement? _inviteUploaderInput;
@@ -113,12 +112,6 @@ class _PkgAdminWidget {
113112
_unlistedCheckbox =
114113
document.getElementById('-admin-is-unlisted-checkbox') as InputElement?;
115114
_unlistedCheckbox?.onChange.listen((_) => _toggleUnlisted());
116-
_disableManualPublishingCheckbox =
117-
document.getElementById('-admin-is-manual-publishing-disabled')
118-
as InputElement?;
119-
_disableManualPublishingCheckbox?.onChange.listen(
120-
(_) => _toggleManualPublishingDisabled(),
121-
);
122115
_inviteUploaderButton = document.getElementById(
123116
'-pkg-admin-invite-uploader-button',
124117
);
@@ -156,6 +149,9 @@ class _PkgAdminWidget {
156149
}
157150

158151
void _setupAutomatedPublishing() {
152+
final manualPublishingEnabledCheckbox =
153+
document.getElementById('-pkg-admin-manual-publishing-enabled')
154+
as InputElement?;
159155
final githubEnabledCheckbox =
160156
document.getElementById('-pkg-admin-automated-github-enabled')
161157
as InputElement?;
@@ -194,7 +190,7 @@ class _PkgAdminWidget {
194190
updateButton.onClick.listen((event) async {
195191
await api_client.rpc<void>(
196192
confirmQuestion: await markdown(
197-
'Are you sure you want to update the automated publishing config?',
193+
'Are you sure you want to update the publishing config?',
198194
),
199195
fn: () async {
200196
await api_client.client.setAutomatedPublishing(
@@ -216,6 +212,9 @@ class _PkgAdminWidget {
216212
isEnabled: gcpEnabledCheckbox!.checked ?? false,
217213
serviceAccountEmail: gcpServiceAccountEmailInput!.value,
218214
),
215+
manual: ManualPublishingConfig(
216+
isEnabled: manualPublishingEnabledCheckbox?.checked ?? true,
217+
),
219218
),
220219
);
221220
},
@@ -345,32 +344,6 @@ class _PkgAdminWidget {
345344
}
346345
}
347346

348-
Future<void> _toggleManualPublishingDisabled() async {
349-
final oldValue = _disableManualPublishingCheckbox!.defaultChecked ?? false;
350-
final newValue = await api_client.rpc(
351-
confirmQuestion: text(
352-
'Are you sure you want change the manual publishing status of the package?',
353-
),
354-
fn: () async {
355-
final rs = await api_client.client.setAutomatedPublishing(
356-
pageData.pkgData!.package,
357-
AutomatedPublishingConfig(
358-
manual: ManualPublishingConfig(isDisabled: !oldValue),
359-
),
360-
);
361-
return rs.manual?.isDisabled;
362-
},
363-
successMessage: text('Manual publishing status changed.'),
364-
onError: (err) => null,
365-
);
366-
if (newValue == null) {
367-
_disableManualPublishingCheckbox!.checked = oldValue;
368-
} else {
369-
_disableManualPublishingCheckbox!.defaultChecked = newValue;
370-
_disableManualPublishingCheckbox!.checked = newValue;
371-
}
372-
}
373-
374347
Future<void> _setRetracted() async {
375348
final version =
376349
materialDropdownSelected(_retractPackageVersionInput)?.trim() ?? '';

0 commit comments

Comments
 (0)