diff --git a/webgui/include/ajax/functions/AdminUserLogs.php b/webgui/include/ajax/functions/AdminUserLogs.php
index 251a4a6f95b9ea367033fec0c54d7d7fc50688d4..16b2f0fc285080e8066109d92b70a3d7ef5ecdb4 100644
--- a/webgui/include/ajax/functions/AdminUserLogs.php
+++ b/webgui/include/ajax/functions/AdminUserLogs.php
@@ -42,8 +42,12 @@ function getAdminUserLogsSummary($params) {
 	$resultArray['uptimeCap'] = $uptimeCap;
 
 	# Dates we want to use to search search
-	$dateFrom = new DateTime($params[0]['From']);
-	$dateTo = new DateTime($params[0]['To']);
+	$periodKey = new DateTime($params[0]['PeriodKey']);
+
+	# Return if error
+	if (!is_object($periodKey)) {
+		return $periodKey;
+	}
 
 	# Fetch user uptime and traffic summary
 	$res = DBSelect("
@@ -61,7 +65,7 @@ function getAdminUserLogsSummary($params) {
 			AND topups.Depleted = 0
 		ORDER BY
 			topups.Timestamp",
-			array($params[0]['ID'],$dateFrom->format('Y-m'))
+			array($params[0]['ID'],$periodKey->format('Y-m'))
 	);
 
 	# Return if error
@@ -93,7 +97,7 @@ function getAdminUserLogsSummary($params) {
 			AND topups.Depleted = 0
 		ORDER BY
 			topups.Timestamp",
-			array($params[0]['ID'],$dateFrom->format('Y-m-d'),$dateTo->format('Y-m-d'))
+			array($params[0]['ID'],$periodKey->format('Y-m-d'),$periodKey->format('Y-m-d'))
 	);
 
 	# Return if error
@@ -120,9 +124,9 @@ function getAdminUserLogsSummary($params) {
 			accounting, users
 		WHERE
 			users.ID = ?
-			AND EventTimestamp >= ?
+			AND PeriodKey = ?
 			AND accounting.Username = users.Username",
-			array($params[0]['ID'],$dateFrom->format('Y-m-d'))
+			array($params[0]['ID'],$periodKey->format('Y-m'))
 	);
 
 	if (!is_object($res)) {
@@ -363,7 +367,6 @@ function getAdminUserLogs($params) {
 			$acctInputMbyte += ($row->acctinputgigawords * 4096);
 		}
 
-
 		# Output
 		$acctOutputMbyte = 0;
 
@@ -385,7 +388,7 @@ function getAdminUserLogs($params) {
 		$item = array();
 
 		$item['ID'] = $row->id;
-		# Convert to ISO format	
+		# Convert to ISO format
 		$date = new DateTime($row->eventtimestamp);
 		$value = $date->format("Y-m-d H:i:s");
 		$item['EventTimestamp'] = $value;
diff --git a/webgui/include/ajax/functions/WiSPUserLogs.php b/webgui/include/ajax/functions/WiSPUserLogs.php
index d2d6b5f16d3cc54fbe9e91a250eb9edde8d8bdaf..1e21b91cda72b905c91208da9094e1e706d81334 100644
--- a/webgui/include/ajax/functions/WiSPUserLogs.php
+++ b/webgui/include/ajax/functions/WiSPUserLogs.php
@@ -42,8 +42,12 @@ function getWiSPUserLogsSummary($params) {
 	$resultArray['uptimeCap'] = $uptimeCap;
 
 	# Dates we want to use to search search
-	$dateFrom = new DateTime($params[0]['From']);
-	$dateTo = new DateTime($params[0]['To']);
+	$periodKey = new DateTime($params[0]['PeriodKey']);
+
+	# Return if error
+	if (!is_object($periodKey)) {
+		return $periodKey;
+	}
 
 	# Fetch user uptime and traffic summary
 	$res = DBSelect("
@@ -61,7 +65,7 @@ function getWiSPUserLogsSummary($params) {
 			AND topups.Depleted = 0
 		ORDER BY
 			topups.Timestamp",
-			array($params[0]['ID'],$dateFrom->format('Y-m'))
+			array($params[0]['ID'],$periodKey->format('Y-m'))
 	);
 
 	# Return if error
@@ -93,7 +97,7 @@ function getWiSPUserLogsSummary($params) {
 			AND topups.Depleted = 0
 		ORDER BY
 			topups.Timestamp",
-			array($params[0]['ID'],$dateFrom->format('Y-m-d'),$dateTo->format('Y-m-d'))
+			array($params[0]['ID'],$periodKey->format('Y-m-d'),$periodKey->format('Y-m-d'))
 	);
 
 	# Return if error
@@ -120,9 +124,9 @@ function getWiSPUserLogsSummary($params) {
 			accounting, users
 		WHERE
 			users.ID = ?
-			AND EventTimestamp >= ?
+			AND PeriodKey = ?
 			AND accounting.Username = users.Username",
-			array($params[0]['ID'],$dateFrom->format('Y-m-d'))
+			array($params[0]['ID'],$periodKey->format('Y-m'))
 	);
 
 	if (!is_object($res)) {
diff --git a/webgui/js/app/windows/AdminUserLogs.js b/webgui/js/app/windows/AdminUserLogs.js
index 5924400c06e3d80d1176126ad4fc8efcb99e7147..e5aa790b77faf580abf91ab55cfce12ddcfefbaa 100644
--- a/webgui/js/app/windows/AdminUserLogs.js
+++ b/webgui/js/app/windows/AdminUserLogs.js
@@ -25,12 +25,13 @@ function showAdminUserLogsWindow(id) {
 	var firstOfNext = today.getLastDateOfMonth().add(Date.DAY, 1);
 
 	var formID = Ext.id();
-	var formAfterID = Ext.id();
-	var formBeforeID = Ext.id();
+	var formPeriodKeyID = Ext.id();
 	var formSearchButtonID = Ext.id();
+
 	var summaryFormID = Ext.id();
 	var summaryTotalID = Ext.id();
 
+	var currentPeriod = today.format('Y-m');
 
 	var adminUserLogsWindow = new Ext.ux.GenericGridWindow(
 		// Window config
@@ -52,30 +53,20 @@ function showAdminUserLogsWindow(id) {
 					region: 'west',
 					border: true,
 					frame: true,
-					defaultType: 'datefield',
 					height: 180,
 					width: 320,
 					labelWidth: 100,
 					items: [
 						{
-							id: formAfterID,
-							name: 'after',
-							width: 180,
-							fieldLabel: 'From',
-							vtype: 'daterange',
-							format: 'Y-m-d',
-							value: firstOfMonth,
-							endDateField: formBeforeID
-						},
-						{
-							id: formBeforeID,
-							name: 'before',
-							width: 180,
-							fieldLabel: 'To',
-							vtype: 'daterange',
-							format: 'Y-m-d',
-							value: firstOfNext,
-							startDateField: formAfterID
+							id: formPeriodKeyID,
+							xtype: 'textfield',
+							name: 'periodkey',
+							regex: /^\d{4}\-(0[1-9]|1(0|1|2))$/,
+							regexText: 'Please enter month in the format: YYYY-MM',
+							height: 25,
+							width: 100,
+							fieldLabel: 'Period',
+							value: currentPeriod
 						}
 					],
 					buttons: [
@@ -85,7 +76,6 @@ function showAdminUserLogsWindow(id) {
 							handler: function() {
 								// Pull in window, grid & form	
 								var grid = Ext.getCmp(adminUserLogsWindow.gridPanelID);
-								var form = Ext.getCmp(formID);
 
 								// Grab store
 								var store = grid.getStore();
@@ -94,18 +84,24 @@ function showAdminUserLogsWindow(id) {
 								var gridFilters = grid.filters;
 								var timestampFilter = gridFilters.getFilter('EventTimestamp');
 
-								// Grab	form fields
-								var afterField = Ext.getCmp(formAfterID);
-								var beforeField = Ext.getCmp(formBeforeID);
+								// Grab	form field
+								var periodKeyField = Ext.getCmp(formPeriodKeyID);
+								if (periodKeyField.isValid()) {
+									var periodKeyValue = periodKeyField.getValue();
+
+									// Convert our periodKey into DateTime values
+									var dtSearchStart = Date.parseDate(periodKeyValue+'-01','Y-m-d');
+									var dtSearchEnd = dtSearchStart.add(Date.MONTH,1);
 
-								// Set filter values from form
-								timestampFilter.setValue({
-									after: afterField.getValue(),
-									before: beforeField.getValue()
-								});
+									// Set filter values from form
+									timestampFilter.setValue({
+										after: dtSearchStart,
+										before: dtSearchEnd
+									});
 
-								// Trigger store reload
-								store.reload();
+									// Trigger store reload
+									store.reload();
+								}
 							}
 						}
 					],
@@ -262,8 +258,7 @@ function showAdminUserLogsWindow(id) {
 		var outputTotal = store.sum('AcctOutputMbyte');
 		var uptimeTotal = store.sum('AcctSessionTime');
 
-		var afterField = (Ext.getCmp(formAfterID)).getValue();
-		var beforeField = (Ext.getCmp(formBeforeID)).getValue();
+		var periodKeyField = (Ext.getCmp(formPeriodKeyID)).getValue();
 
 		// Mask parent window
 		adminUserLogsWindow.getEl().mask();
@@ -272,15 +267,14 @@ function showAdminUserLogsWindow(id) {
 			adminUserLogsWindow,
 			{
 				params: {
-					From: afterField,
-					To: beforeField,
+					From: periodKeyField,
 					ID: id,
 					SOAPUsername: globalConfig.soap.username,
 					SOAPPassword: globalConfig.soap.password,
 					SOAPAuthType: globalConfig.soap.authtype,
 					SOAPModule: 'AdminUserLogs',
 					SOAPFunction: 'getAdminUserLogsSummary',
-					SOAPParams: '0:ID,0:From,0:To'
+					SOAPParams: '0:ID,0:PeriodKey'
 				},
 
 				customSuccess: function (result) {
diff --git a/webgui/js/app/windows/WiSPUserLogs.js b/webgui/js/app/windows/WiSPUserLogs.js
index 2485144eb603e7d7c621a9c408d359f997ccb894..766388f23054ce6237fe49951cc4c7e6e5d01951 100644
--- a/webgui/js/app/windows/WiSPUserLogs.js
+++ b/webgui/js/app/windows/WiSPUserLogs.js
@@ -25,12 +25,13 @@ function showWiSPUserLogsWindow(id) {
 	var firstOfNext = today.getLastDateOfMonth().add(Date.DAY, 1);
 
 	var formID = Ext.id();
-	var formAfterID = Ext.id();
-	var formBeforeID = Ext.id();
+	var formPeriodKeyID = Ext.id();
 	var formSearchButtonID = Ext.id();
+
 	var summaryFormID = Ext.id();
 	var summaryTotalID = Ext.id();
 
+	var currentPeriod = today.format('Y-m');
 
 	var wispUserLogsWindow = new Ext.ux.GenericGridWindow(
 		// Window config
@@ -52,30 +53,20 @@ function showWiSPUserLogsWindow(id) {
 					region: 'west',
 					border: true,
 					frame: true,
-					defaultType: 'datefield',
 					height: 180,
 					width: 320,
 					labelWidth: 100,
 					items: [
 						{
-							id: formAfterID,
-							name: 'after',
-							width: 180,
-							fieldLabel: 'From',
-							vtype: 'daterange',
-							format: 'Y-m-d',
-							value: firstOfMonth,
-							endDateField: formBeforeID
-						},
-						{
-							id: formBeforeID,
-							name: 'before',
-							width: 180,
-							fieldLabel: 'To',
-							vtype: 'daterange',
-							format: 'Y-m-d',
-							value: firstOfNext,
-							startDateField: formAfterID
+							id: formPeriodKeyID,
+							xtype: 'textfield',
+							name: 'periodkey',
+							regex: /^\d{4}\-(0[1-9]|1(0|1|2))$/,
+							regexText: 'Please enter month in the format: YYYY-MM',
+							height: 25,
+							width: 100,
+							fieldLabel: 'Period',
+							value: currentPeriod
 						}
 					],
 					buttons: [
@@ -85,7 +76,6 @@ function showWiSPUserLogsWindow(id) {
 							handler: function() {
 								// Pull in window, grid & form	
 								var grid = Ext.getCmp(wispUserLogsWindow.gridPanelID);
-								var form = Ext.getCmp(formID);
 
 								// Grab store
 								var store = grid.getStore();
@@ -94,18 +84,24 @@ function showWiSPUserLogsWindow(id) {
 								var gridFilters = grid.filters;
 								var timestampFilter = gridFilters.getFilter('EventTimestamp');
 
-								// Grab	form fields
-								var afterField = Ext.getCmp(formAfterID);
-								var beforeField = Ext.getCmp(formBeforeID);
+								// Grab	form field
+								var periodKeyField = Ext.getCmp(formPeriodKeyID);
+								if (periodKeyField.isValid()) {
+									var periodKeyValue = periodKeyField.getValue();
+
+									// Convert our periodKey into DateTime values
+									var dtSearchStart = Date.parseDate(periodKeyValue+'-01','Y-m-d');
+									var dtSearchEnd = dtSearchStart.add(Date.MONTH,1);
 
-								// Set filter values from form
-								timestampFilter.setValue({
-									after: afterField.getValue(),
-									before: beforeField.getValue()
-								});
+									// Set filter values from form
+									timestampFilter.setValue({
+										after: dtSearchStart,
+										before: dtSearchEnd
+									});
 
-								// Trigger store reload
-								store.reload();
+									// Trigger store reload
+									store.reload();
+								}
 							}
 						}
 					],
@@ -262,8 +258,7 @@ function showWiSPUserLogsWindow(id) {
 		var outputTotal = store.sum('AcctOutputMbyte');
 		var uptimeTotal = store.sum('AcctSessionTime');
 
-		var afterField = (Ext.getCmp(formAfterID)).getValue();
-		var beforeField = (Ext.getCmp(formBeforeID)).getValue();
+		var periodKeyField = (Ext.getCmp(formPeriodKeyID)).getValue();
 
 		// Mask parent window
 		wispUserLogsWindow.getEl().mask();
@@ -272,15 +267,14 @@ function showWiSPUserLogsWindow(id) {
 			wispUserLogsWindow,
 			{
 				params: {
-					From: afterField,
-					To: beforeField,
+					PeriodKey: periodKeyField,
 					ID: id,
 					SOAPUsername: globalConfig.soap.username,
 					SOAPPassword: globalConfig.soap.password,
 					SOAPAuthType: globalConfig.soap.authtype,
 					SOAPModule: 'WiSPUserLogs',
 					SOAPFunction: 'getWiSPUserLogsSummary',
-					SOAPParams: '0:ID,0:From,0:To'
+					SOAPParams: '0:ID,0:PeriodKey'
 				},
 
 				customSuccess: function (result) {
@@ -385,7 +379,7 @@ function showWiSPUserLogsWindow(id) {
 			}
 		);
 	});
-	wispUserLogsWindow.show();				
+	wispUserLogsWindow.show();
 }
 
 // vim: ts=4