Yuvipanda has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/75998


Change subject: Add Campaign & CampaignContribution classes
......................................................................

Add Campaign & CampaignContribution classes

Change-Id: Ib300e32b0d8146321b661ab5feb20ba9714bfd52
---
A commons/src/main/java/org/wikimedia/commons/campaigns/Campaign.java
A 
commons/src/main/java/org/wikimedia/commons/campaigns/CampaignContribution.java
M commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java
3 files changed, 110 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/commons 
refs/changes/98/75998/1

diff --git 
a/commons/src/main/java/org/wikimedia/commons/campaigns/Campaign.java 
b/commons/src/main/java/org/wikimedia/commons/campaigns/Campaign.java
new file mode 100644
index 0000000..0eeb1dc
--- /dev/null
+++ b/commons/src/main/java/org/wikimedia/commons/campaigns/Campaign.java
@@ -0,0 +1,63 @@
+package org.wikimedia.commons.campaigns;
+
+import org.json.JSONArray;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+
+public class Campaign {
+    private boolean enabled;
+
+    private String autoAddWikitext;
+    private ArrayList<String> autoAddCategories;
+
+    private String name;
+    private String ownWorkLicenseDefault;
+
+    private String defaultDescription;
+
+    private JSONObject config;
+
+    public boolean isEnabled() {
+        return enabled;
+    }
+
+    public String getAutoAddWikitext() {
+        return autoAddWikitext;
+    }
+
+    public ArrayList<String> getAutoAddCategories() {
+        return autoAddCategories;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public String getOwnWorkLicenseDefault() {
+        return ownWorkLicenseDefault;
+    }
+
+    public String getDefaultDescription() {
+        return defaultDescription;
+    }
+
+    public JSONObject getConfig() {
+        return config;
+    }
+
+    public Campaign(String name, JSONObject config) {
+        this.config = config;
+        this.name = name;
+        if(config.has("autoAdd")) {
+            this.autoAddWikitext = 
config.optJSONObject("autoAdd").optString("wikitext", null);
+            if(config.optJSONObject("autoAdd").has("categories")) {
+                this.autoAddCategories = new ArrayList<String>();
+                JSONArray catsArray = 
config.optJSONObject("autoAdd").optJSONArray("categories");
+                for(int i=0; i < catsArray.length(); i++) {
+                    autoAddCategories.add(catsArray.optString(i));
+                }
+            }
+        }
+    }
+}
diff --git 
a/commons/src/main/java/org/wikimedia/commons/campaigns/CampaignContribution.java
 
b/commons/src/main/java/org/wikimedia/commons/campaigns/CampaignContribution.java
new file mode 100644
index 0000000..1566c14
--- /dev/null
+++ 
b/commons/src/main/java/org/wikimedia/commons/campaigns/CampaignContribution.java
@@ -0,0 +1,40 @@
+package org.wikimedia.commons.campaigns;
+
+import org.wikimedia.commons.contributions.Contribution;
+
+import java.util.ArrayList;
+
+public class CampaignContribution extends Contribution {
+    private Campaign campaign;
+
+    private ArrayList<String> fieldValues;
+
+    public Campaign getCampaign() {
+        return campaign;
+    }
+
+    public void setCampaign(Campaign campaign) {
+        this.campaign = campaign;
+    }
+
+    @Override
+    public String getTrackingTemplates() {
+        StringBuffer buffer = new StringBuffer();
+        if(campaign.getAutoAddWikitext() != null) {
+            buffer.append(campaign.getAutoAddWikitext()).append("\n");
+        }
+        if(campaign.getAutoAddCategories() != null && 
campaign.getAutoAddCategories().size() != 0) {
+            for(String cat : campaign.getAutoAddCategories()) {
+                
buffer.append("[[Category:").append(cat).append("]]").append("\n");
+            }
+        } else {
+            buffer.append("{{subst:unc}}\n");
+        }
+        return buffer.toString();
+    }
+
+    @Override
+    public String getDescription() {
+        return super.getDescription();
+    }
+}
diff --git 
a/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java 
b/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java
index f0f5a24..d482fea 100644
--- 
a/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java
+++ 
b/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java
@@ -117,13 +117,17 @@
         this.dateUploaded = date;
     }
 
+    public String getTrackingTemplates() {
+        return "{{subst:unc}}";  // Remove when we have categorization
+    }
+
     public String getPageContents() {
         StringBuffer buffer = new StringBuffer();
         SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd");
         buffer
             .append("== {{int:filedesc}} ==\n")
                 .append("{{Information\n")
-                    .append("|description=").append(description).append("\n")
+                    
.append("|description=").append(getDescription()).append("\n")
                     .append("|source=").append("{{own}}\n")
                     .append("|author=[[User:").append(creator).append("]]\n");
         if(dateCreated != null) {
@@ -133,9 +137,9 @@
         buffer
                 .append("}}").append("\n")
             .append("== {{int:license-header}} ==\n")
-                .append(Utils.licenseTemplateFor(license)).append("\n\n")
+                .append(Utils.licenseTemplateFor(getLicense())).append("\n\n")
             .append("{{Uploaded from 
Mobile|platform=Android|version=").append(CommonsApplication.APPLICATION_VERSION).append("}}\n")
-            .append("{{subst:unc}}");  // Remove when we have categorization
+            .append(getTrackingTemplates());
         return buffer.toString();
     }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/75998
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib300e32b0d8146321b661ab5feb20ba9714bfd52
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/commons
Gerrit-Branch: campaigns
Gerrit-Owner: Yuvipanda <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to