Set project's maxObjectSizeLimit from UI
Change-Id: I72fa228f1f78e692c8bc639ef15582c7fd099909
This commit is contained in:
committed by
David Pursehouse
parent
360340cbb9
commit
50c5cac611
@@ -24,6 +24,7 @@ public class ProjectDetail {
|
||||
public boolean canModifyAgreements;
|
||||
public boolean canModifyAccess;
|
||||
public boolean canModifyState;
|
||||
public boolean canModifyMaxObjectSizeLimit;
|
||||
public boolean isPermissionOnly;
|
||||
public InheritedBoolean useContributorAgreements;
|
||||
public InheritedBoolean useSignedOffBy;
|
||||
@@ -49,6 +50,10 @@ public class ProjectDetail {
|
||||
canModifyState = cms;
|
||||
}
|
||||
|
||||
public void setCanModifyMaxObjectSizeLimit(final boolean cmmosl) {
|
||||
canModifyMaxObjectSizeLimit = cmmosl;
|
||||
}
|
||||
|
||||
public void setCanModifyAgreements(final boolean cma) {
|
||||
canModifyAgreements = cma;
|
||||
}
|
||||
|
||||
@@ -32,15 +32,16 @@ import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.FlexTable;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.ListBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.google.gwtexpui.globalkey.client.NpTextArea;
|
||||
import com.google.gwtexpui.globalkey.client.NpTextBox;
|
||||
|
||||
public class ProjectInfoScreen extends ProjectScreen {
|
||||
private String projectName;
|
||||
private Project project;
|
||||
private ProjectDetail projectDetail;
|
||||
|
||||
private LabeledWidgetsGrid grid;
|
||||
|
||||
@@ -49,7 +50,7 @@ public class ProjectInfoScreen extends ProjectScreen {
|
||||
private ListBox submitType;
|
||||
private ListBox state;
|
||||
private ListBox contentMerge;
|
||||
private Label maxObjectSizeLimit;
|
||||
private NpTextBox maxObjectSizeLimit;
|
||||
|
||||
// Section: Contributor Agreements
|
||||
private ListBox contributorAgreements;
|
||||
@@ -94,7 +95,8 @@ public class ProjectInfoScreen extends ProjectScreen {
|
||||
new ScreenLoadCallback<ProjectDetail>(this) {
|
||||
public void preDisplay(final ProjectDetail result) {
|
||||
enableForm(result.canModifyAgreements,
|
||||
result.canModifyDescription, result.canModifyMergeType, result.canModifyState);
|
||||
result.canModifyDescription, result.canModifyMergeType, result.canModifyState,
|
||||
result.canModifyMaxObjectSizeLimit);
|
||||
saveProject.setVisible(
|
||||
result.canModifyAgreements ||
|
||||
result.canModifyDescription ||
|
||||
@@ -106,9 +108,19 @@ public class ProjectInfoScreen extends ProjectScreen {
|
||||
savedPanel = INFO;
|
||||
}
|
||||
|
||||
private void enableForm() {
|
||||
if (projectDetail != null) {
|
||||
enableForm(projectDetail.canModifyAgreements,
|
||||
projectDetail.canModifyDescription,
|
||||
projectDetail.canModifyMergeType,
|
||||
projectDetail.canModifyState,
|
||||
projectDetail.canModifyMaxObjectSizeLimit);
|
||||
}
|
||||
}
|
||||
|
||||
private void enableForm(final boolean canModifyAgreements,
|
||||
final boolean canModifyDescription, final boolean canModifyMergeType,
|
||||
final boolean canModifyState) {
|
||||
final boolean canModifyState, final boolean canModifyMaxObjectSizeLimit) {
|
||||
submitType.setEnabled(canModifyMergeType);
|
||||
state.setEnabled(canModifyState);
|
||||
contentMerge.setEnabled(canModifyMergeType);
|
||||
@@ -116,6 +128,7 @@ public class ProjectInfoScreen extends ProjectScreen {
|
||||
contributorAgreements.setEnabled(canModifyAgreements);
|
||||
signedOffBy.setEnabled(canModifyAgreements);
|
||||
requireChangeID.setEnabled(canModifyMergeType);
|
||||
maxObjectSizeLimit.setEnabled(canModifyMaxObjectSizeLimit);
|
||||
}
|
||||
|
||||
private void initDescription() {
|
||||
@@ -163,7 +176,8 @@ public class ProjectInfoScreen extends ProjectScreen {
|
||||
saveEnabler.listenTo(requireChangeID);
|
||||
grid.addHtml(Util.C.requireChangeID(), requireChangeID);
|
||||
|
||||
maxObjectSizeLimit = new Label();
|
||||
maxObjectSizeLimit = new NpTextBox();
|
||||
saveEnabler.listenTo(maxObjectSizeLimit);
|
||||
grid.addHtml(Util.C.headingMaxObjectSizeLimit(), maxObjectSizeLimit);
|
||||
}
|
||||
|
||||
@@ -285,6 +299,8 @@ public class ProjectInfoScreen extends ProjectScreen {
|
||||
maxObjectSizeLimit.setText(project.getMaxObjectSizeLimit());
|
||||
|
||||
saveProject.setEnabled(false);
|
||||
|
||||
projectDetail = result;
|
||||
}
|
||||
|
||||
private void doSave() {
|
||||
@@ -293,6 +309,7 @@ public class ProjectInfoScreen extends ProjectScreen {
|
||||
project.setUseSignedOffBy(getBool(signedOffBy));
|
||||
project.setUseContentMerge(getBool(contentMerge));
|
||||
project.setRequireChangeID(getBool(requireChangeID));
|
||||
project.setMaxObjectSizeLimit(maxObjectSizeLimit.getText().trim());
|
||||
if (submitType.getSelectedIndex() >= 0) {
|
||||
project.setSubmitType(Project.SubmitType.valueOf(submitType
|
||||
.getValue(submitType.getSelectedIndex())));
|
||||
@@ -302,15 +319,21 @@ public class ProjectInfoScreen extends ProjectScreen {
|
||||
.getValue(state.getSelectedIndex())));
|
||||
}
|
||||
|
||||
enableForm(false, false, false, false);
|
||||
enableForm(false, false, false, false, false);
|
||||
|
||||
Util.PROJECT_SVC.changeProjectSettings(project,
|
||||
new GerritCallback<ProjectDetail>() {
|
||||
public void onSuccess(final ProjectDetail result) {
|
||||
enableForm(result.canModifyAgreements,
|
||||
result.canModifyDescription, result.canModifyMergeType, result.canModifyState);
|
||||
result.canModifyDescription, result.canModifyMergeType, result.canModifyState,
|
||||
result.canModifyMaxObjectSizeLimit);
|
||||
display(result);
|
||||
}
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
super.onFailure(caught);
|
||||
enableForm();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ class ProjectDetailFactory extends Handler<ProjectDetail> {
|
||||
detail.setCanModifyDescription(userIsOwner);
|
||||
detail.setCanModifyMergeType(userIsOwner);
|
||||
detail.setCanModifyState(userIsOwner);
|
||||
detail.setCanModifyMaxObjectSizeLimit(userIsOwner);
|
||||
|
||||
final InheritedBoolean useContributorAgreements = new InheritedBoolean();
|
||||
final InheritedBoolean useSignedOffBy = new InheritedBoolean();
|
||||
|
||||
Reference in New Issue
Block a user