jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/334349 )
Change subject: Make description editing respect page protection
......................................................................
Make description editing respect page protection
Change-Id: I45f99bf1af8fb75ec61a454ab9bcfb0dc87e3119
---
M app/src/main/java/org/wikipedia/descriptions/DescriptionEditClient.java
M app/src/test/java/org/wikipedia/descriptions/DescriptionEditClientTest.java
2 files changed, 18 insertions(+), 3 deletions(-)
Approvals:
Niedzielski: Looks good to me, approved
jenkins-bot: Verified
diff --git
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditClient.java
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditClient.java
index a3046a4..2a86efb 100644
--- a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditClient.java
+++ b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditClient.java
@@ -10,6 +10,7 @@
import org.wikipedia.dataclient.retrofit.RetrofitException;
import org.wikipedia.login.User;
import org.wikipedia.page.Page;
+import org.wikipedia.page.PageProperties;
import org.wikipedia.page.PageTitle;
import org.wikipedia.server.mwapi.MwServiceError;
@@ -40,9 +41,11 @@
}
public static boolean isEditAllowed(@NonNull Page page) {
- return
ENABLED_LANGUAGES.contains(page.getTitle().getWikiSite().languageCode())
- && page.getPageProperties() != null
- &&
!TextUtils.isEmpty(page.getPageProperties().getWikiBaseItem());
+ PageProperties props = page.getPageProperties();
+ return props != null
+ && props.canEdit()
+ && !TextUtils.isEmpty(props.getWikiBaseItem())
+ &&
ENABLED_LANGUAGES.contains(page.getTitle().getWikiSite().languageCode());
}
/**
diff --git
a/app/src/test/java/org/wikipedia/descriptions/DescriptionEditClientTest.java
b/app/src/test/java/org/wikipedia/descriptions/DescriptionEditClientTest.java
index 8b66361..ebb4cf5 100644
---
a/app/src/test/java/org/wikipedia/descriptions/DescriptionEditClientTest.java
+++
b/app/src/test/java/org/wikipedia/descriptions/DescriptionEditClientTest.java
@@ -89,12 +89,24 @@
WikiSite wiki = WikiSite.forLanguageCode("en");
PageProperties props = mock(PageProperties.class);
when(props.getWikiBaseItem()).thenReturn("Q123");
+ when(props.canEdit()).thenReturn(true);
Page page = new Page(new PageTitle("Test", wiki, null, null, props),
Collections.<Section>emptyList(), props);
assertThat(DescriptionEditClient.isEditAllowed(page), is(true));
}
+ @Test public void testIsEditAllowedPageProtected() {
+ WikiSite wiki = WikiSite.forLanguageCode("en");
+ PageProperties props = mock(PageProperties.class);
+ when(props.getWikiBaseItem()).thenReturn("Q123");
+ when(props.canEdit()).thenReturn(false);
+ Page page = new Page(new PageTitle("Test", wiki, null, null, props),
+ Collections.<Section>emptyList(), props);
+
+ assertThat(DescriptionEditClient.isEditAllowed(page), is(false));
+ }
+
@Test public void testIsEditAllowedNoWikiBaseItem() {
WikiSite wiki = WikiSite.forLanguageCode("en");
PageProperties props = mock(PageProperties.class);
--
To view, visit https://gerrit.wikimedia.org/r/334349
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I45f99bf1af8fb75ec61a454ab9bcfb0dc87e3119
Gerrit-PatchSet: 2
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: Niedzielski <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits