fix: removed unnecessary fields from Campaign DocType and other fixes in Email Campaign
diff --git a/erpnext/crm/doctype/email_campaign/email_campaign.py b/erpnext/crm/doctype/email_campaign/email_campaign.py
index 8821fd5..719c0d0 100644
--- a/erpnext/crm/doctype/email_campaign/email_campaign.py
+++ b/erpnext/crm/doctype/email_campaign/email_campaign.py
@@ -11,38 +11,34 @@
 
 class EmailCampaign(Document):
 	def validate(self):
-		self.validate_dates()
+		self.set_date()
 		#checking if email is set for lead. Not checking for contact as email is a mandatory field for contact.
 		if self.email_campaign_for == "Lead":
 			self.validate_lead()
 		self.validate_email_campaign_already_exists()
 		self.update_status()
 
-	def validate_dates(self):
-		campaign = frappe.get_doc("Campaign", self.campaign_name)
-
-		#email campaign cannot start before campaign
-		if campaign.from_date and getdate(self.start_date) < getdate(campaign.from_date):
-			frappe.throw(_("Email Campaign Start Date cannot be before Campaign Start Date"))
-
+	def set_date(self):
+		if getdate(self.start_date) < getdate(today()):
+			frappe.throw(_("Start Date cannot be before the current date"))
 		#set the end date as start date + max(send after days) in campaign schedule
 		send_after_days = []
+		campaign = frappe.get_doc("Campaign", self.campaign_name)
 		for entry in campaign.get("campaign_schedules"):
 			send_after_days.append(entry.send_after_days)
-		end_date = add_days(getdate(self.start_date), max(send_after_days))
-
-		if campaign.to_date and getdate(end_date) > getdate(campaign.to_date):
-			frappe.throw(_("Email Schedule cannot extend Campaign End Date"))
-		else:
-			self.end_date = end_date
+		try:
+			end_date = add_days(getdate(self.start_date), max(send_after_days))
+		except ValueError:
+			frappe.throw(_("Please set up the Campaign Schedule in the Campaign {0}").format(self.campaign_name))
 
 	def validate_lead(self):
 		lead_email_id = frappe.db.get_value("Lead", self.recipient, 'email_id')
 		if not lead_email_id:
-			frappe.throw(_("Please set an email id for lead communication"))
+			lead_name = frappe.db.get_value("Lead", self.recipient, 'lead_name')
+			frappe.throw(_("Please set an email id for the Lead {0}").format(lead_name))
 
 	def validate_email_campaign_already_exists(self):
-		if frappe.db.get_value("Email Campaign", {"campaign_name": self.campaign_name, "recipient": self.recipient, "status": "In Progress"}):
+		if frappe.db.get_value("Email Campaign", {"campaign_name": self.campaign_name, "recipient": self.recipient, "status": ("in", ["In Progress", "Scheduled"])}):
 			frappe.throw(_("The Campaign '{0}' already exists for the {1} '{2}'").format(self.campaign_name, self.email_campaign_for, self.recipient))
 
 	def update_status(self):
diff --git a/erpnext/selling/doctype/campaign/campaign.json b/erpnext/selling/doctype/campaign/campaign.json
index ee2714f..986ac13 100644
--- a/erpnext/selling/doctype/campaign/campaign.json
+++ b/erpnext/selling/doctype/campaign/campaign.json
@@ -11,14 +11,6 @@
   "campaign",
   "campaign_name",
   "naming_series",
-  "from_date",
-  "column_break1",
-  "status",
-  "to_date",
-  "budget_section",
-  "currency",
-  "column_break2",
-  "budget",
   "campaign_schedules_section",
   "campaign_schedules",
   "description_section",
@@ -56,53 +48,10 @@
    "width": "300px"
   },
   {
-   "default": "Planned",
-   "fieldname": "status",
-   "fieldtype": "Select",
-   "in_list_view": 1,
-   "label": "Status",
-   "options": "\nPlanned\nIn Progress\nCompleted\nCancelled",
-   "reqd": 1
-  },
-  {
-   "fieldname": "from_date",
-   "fieldtype": "Date",
-   "label": "From Date"
-  },
-  {
-   "fieldname": "to_date",
-   "fieldtype": "Date",
-   "label": "To Date"
-  },
-  {
-   "fieldname": "column_break1",
-   "fieldtype": "Column Break"
-  },
-  {
-   "fieldname": "budget",
-   "fieldtype": "Currency",
-   "label": "Budget"
-  },
-  {
    "fieldname": "description_section",
    "fieldtype": "Section Break"
   },
   {
-   "fieldname": "currency",
-   "fieldtype": "Link",
-   "label": "Currency",
-   "options": "Currency"
-  },
-  {
-   "fieldname": "column_break2",
-   "fieldtype": "Column Break"
-  },
-  {
-   "fieldname": "budget_section",
-   "fieldtype": "Section Break",
-   "label": "BUDGET"
-  },
-  {
    "fieldname": "campaign_schedules",
    "fieldtype": "Table",
    "label": "Campaign Schedules",
@@ -116,7 +65,7 @@
  ],
  "icon": "fa fa-bullhorn",
  "idx": 1,
- "modified": "2019-07-15 17:45:06.168107",
+ "modified": "2019-07-22 12:03:39.832342",
  "modified_by": "Administrator",
  "module": "Selling",
  "name": "Campaign",