From 259fac8218d4491e2cf66ecf83f5358e8f6930a2 Mon Sep 17 00:00:00 2001 From: ReidCarlberg Date: Tue, 22 Nov 2011 11:49:41 -0600 Subject: [PATCH 1/6] updating based on bug fix round --- .../Project_Status_Analytic_Snapshot.snapshot | 2 +- .../Milestone1_Charts_GanttController.cls | 35 ++- .../Milestone1_Milestone_Trigger_Utility.cls | 10 +- src/classes/Milestone1_Summary2.cls | 231 +++++++++++++++-- .../Milestone1_Test_Task_Dependency.cls | 17 -- src/classes/Milestone1_Test_Utility.cls | 19 ++ src/classes/Milestone1_repeatCon.cls | 4 +- .../MIlestone1_Calendar_Full.component | 2 +- ...lestones_PM_Individual_Dashboard.dashboard | 2 +- .../Milestones_PM_Project_Snapshots.dashboard | 2 +- src/objects/Milestone1_Expense__c.object | 1 - src/objects/Milestone1_Log__c.object | 1 - src/objects/Milestone1_Milestone__c.object | 1 - src/objects/Milestone1_Nag__c.object | 1 - src/objects/Milestone1_Project__c.object | 1 - src/objects/Milestone1_Task__c.object | 1 - src/objects/Milestone1_Time__c.object | 1 - src/objects/Project_Snapshot__c.object | 1 - src/package.xml | 241 +++++++++++++++++- src/pages/Milestone1_Summary2.page | 22 +- 20 files changed, 517 insertions(+), 78 deletions(-) diff --git a/src/analyticSnapshots/Project_Status_Analytic_Snapshot.snapshot b/src/analyticSnapshots/Project_Status_Analytic_Snapshot.snapshot index abb1388..01a6f6a 100644 --- a/src/analyticSnapshots/Project_Status_Analytic_Snapshot.snapshot +++ b/src/analyticSnapshots/Project_Status_Analytic_Snapshot.snapshot @@ -76,7 +76,7 @@ Project_Snapshot__c.Date__c Project Status Analytic Snapshot - labs@labs.116 + labs@labs.121 Milestone_Project_Management/Project_Snapshot Project_Snapshot__c diff --git a/src/classes/Milestone1_Charts_GanttController.cls b/src/classes/Milestone1_Charts_GanttController.cls index 0e0ce0b..59a78aa 100644 --- a/src/classes/Milestone1_Charts_GanttController.cls +++ b/src/classes/Milestone1_Charts_GanttController.cls @@ -28,17 +28,24 @@ OF THE POSSIBILITY OF SUCH DAMAGE. */ public with sharing class Milestone1_Charts_GanttController { - public String mytarget {get; set;} + public String mytarget {get; + set{ + this.mytarget = value; + init(); + } + } public String objectType {get;set;} public String startDateFieldName {get;set;} public String endDateFieldName {get;set;} public String idFieldName {get;set;} public String fullViewURL {get;set;} + public String projectGanttJson{get;set;} private String nameFieldName; private String completedFieldName; private String filterFieldName; + private List sobjectList; private static final String REGEXP_QUOTES = '(? -1); diff --git a/src/classes/Milestone1_Milestone_Trigger_Utility.cls b/src/classes/Milestone1_Milestone_Trigger_Utility.cls index db2da70..9701ea2 100644 --- a/src/classes/Milestone1_Milestone_Trigger_Utility.cls +++ b/src/classes/Milestone1_Milestone_Trigger_Utility.cls @@ -146,8 +146,14 @@ public with sharing class Milestone1_Milestone_Trigger_Utility { Integer deadlineShift = oldRec.Deadline__c.daysBetween(newRec.Deadline__c); if(kickoffShift == deadlineShift && deadlineShift != 0 && taskMap.containsKey(newRec.Id)) { for(Milestone1_Task__c task: taskMap.get(newRec.Id)) { - task.Start_Date__c = task.Start_Date__c.addDays(deadlineShift); - task.Due_Date__c = task.Due_Date__c.addDays(deadlineShift); + if (task.Start_Date__c != null) + { + task.Start_Date__c = task.Start_Date__c.addDays(deadlineShift); + } + if (task.Due_Date__c != null) + { + task.Due_Date__c = task.Due_Date__c.addDays(deadlineShift); + } } tasksToUpdate.addAll(taskMap.get(newRec.Id)); } diff --git a/src/classes/Milestone1_Summary2.cls b/src/classes/Milestone1_Summary2.cls index ec3119e..a8b7bd3 100644 --- a/src/classes/Milestone1_Summary2.cls +++ b/src/classes/Milestone1_Summary2.cls @@ -35,6 +35,7 @@ public with sharing class Milestone1_Summary2 { public List milestoneResults {get; private set;} public List taskResults {get; private set;} public boolean displaySearchError {private get; private set;} + public boolean searchLengthError {private get; private set;} public List recentItems {get; private set;} public boolean hasSearchResultsError { @@ -43,6 +44,12 @@ public with sharing class Milestone1_Summary2 { } } + public boolean hasSearchLengthError{ + get{ + return searchLengthError != null && searchLengthError == true; + } + } + public boolean hasProjectResults { get { return projectResults != null && !projectResults.isEmpty(); @@ -61,21 +68,77 @@ public with sharing class Milestone1_Summary2 { } } + public boolean hasSettings{ + get{ + return settings != null; + } + } + + public boolean isDeployed{ + get{ + Id myProfileId = UserInfo.getProfileId(); + Profile myProfile = [Select Id, Name from Profile where Id=:myProfileId]; + + Boolean objectsDeployed = true; + if (myProfile.Name != 'System Administrator') + { + + try{ + + Schema.DescribeFieldResult F = Schema.SObjectType.Milestone1_Milestone__C.fields.Name; + if ( F.isAccessible() == true) + { + return true; + } + else + { + return false; + } + return true; + } + catch (System.UnexpectedException e) + { + + + return false; + } + + } + return objectsDeployed; + } + } + + + public Milestone1_Settings__c settings = Milestone1_Settings__c.getInstance(); public void initialize() { - List recentProjects = [Select Id, Name from Milestone1_Project__c order by LastModifiedDate desc limit 5]; - List recentMilestones = [Select Id, Name from Milestone1_Milestone__c order by LastModifiedDate desc limit 50]; - List recentTasks = [Select Id, Name from Milestone1_Task__c order by LastModifiedDate desc limit 100]; - - this.recentItems = new List(); - this.recentItems.addAll(createPairObjects(recentProjects, 'Project: ')); - this.recentItems.addAll(createPairObjects(recentMilestones, 'Milestone: ')); - this.recentItems.addAll(createPairObjects(recentTasks, 'Task: ')); + + if (isDeployed) + { + List recentProjects = [Select Id, Name from Milestone1_Project__c order by LastModifiedDate desc limit 5]; + List recentMilestones = [Select Id, Name from Milestone1_Milestone__c order by LastModifiedDate desc limit 50]; + List recentTasks = [Select Id, Name from Milestone1_Task__c order by LastModifiedDate desc limit 100]; + + this.recentItems = new List(); + this.recentItems.addAll(createPairObjects(recentProjects, 'Project: ')); + this.recentItems.addAll(createPairObjects(recentMilestones, 'Milestone: ')); + this.recentItems.addAll(createPairObjects(recentTasks, 'Task: ')); + } } public void searchProjects() { + if (searchText.length() < 2) + { + this.searchLengthError = true; + return; + } + else + { + this.searchLengthError = false; + } + List> searchList = [FIND :searchText in all fields returning Milestone1_Project__c (Id, Name, Owner.Name, Status__c LIMIT 5), Milestone1_Milestone__c (Id, Name, Project__r.Name LIMIT 10), @@ -96,27 +159,98 @@ public with sharing class Milestone1_Summary2 { private List createPairObjects(List records, String namePrefix) { List newPairs = new List(); for (SObject record: records) { - //RSC 2011-05-06 am getting occassional script exceptions - if (record != null && record.get('name') != null) { - newPairs.add(new Pair(namePrefix + (String)record.get('name'), (String)record.id)); - } + //RSC 2011-05-06 am getting occassional script exceptions + if (record != null && record.get('name') != null) { + newPairs.add(new Pair(namePrefix + (String)record.get('name'), (String)record.id)); + } } return newPairs; } public List getProjects() { - List activeProjects = [Select m.Id, m.Total_Open_Task_Count__c, m.Total_Complete_Task_Count__c, - m.Total_Blocked_Task_Count__c, m.Total_Late_Task_Count__c, m.Status_TasksOpenBlockedLate__c, - m.Total_Hours_Budget__c, m.Total_Hours_Budget_from_Milestones__c, m.Total_Hours_Estimate__c, m.Total_Hours_Incurred__c, - m.Status_BudgetMiletoneEstimate__c, m.Status_BudgetExpenseSummary__c, m.Name, m.Deadline__c, m.Kickoff__c, - m.Duration__c, m.GoogleGanntUrl__c - From Milestone1_Project__c m where m.status__c = 'Active']; - - - return activeProjects; + + return (List) setCon.getRecords(); + } + + public ApexPages.StandardSetController setCon { + get { + if(setCon == null) { + setCon = new ApexPages.StandardSetController(Database.getQueryLocator( + [Select m.Id, m.Total_Open_Task_Count__c, m.Total_Complete_Task_Count__c, + m.Total_Blocked_Task_Count__c, m.Total_Late_Task_Count__c, m.Status_TasksOpenBlockedLate__c, + m.Total_Hours_Budget__c, m.Total_Hours_Budget_from_Milestones__c, m.Total_Hours_Estimate__c, m.Total_Hours_Incurred__c, + m.Status_BudgetMiletoneEstimate__c, m.Status_BudgetExpenseSummary__c, m.Name, m.Deadline__c, m.Kickoff__c, + m.Duration__c, m.GoogleGanntUrl__c + From Milestone1_Project__c m where m.status__c = 'Active'])); + setCon.setPageSize(20); + } + return setCon; + } + set; + } + + + //Boolean to check if there are more records after the present displaying records + public Boolean hasNext + { + get + { + return setCon.getHasNext(); + } + set; + } + + //Boolean to check if there are more records before the present displaying records + public Boolean hasPrevious + { + get + { + return setCon.getHasPrevious(); + } + set; + } + + //Page number of the current displaying records + public Integer pageNumber + { + get + { + return setCon.getPageNumber(); + } + set; + } + + public Integer totalPages + { + get + { + Integer pages = (setCon.getResultSize() / 20); + if (math.mod(setCon.getResultSize(), 20) != 0) + { + pages += 1; + } + return pages; + } + set; + } + + //Returns the previous page of records + public void previous() + { + setCon.previous(); + } + + //Returns the next page of records + public void next() + { + setCon.next(); + } + + + public Pagereference view() { return new Pagereference('/' + targetProject); @@ -127,6 +261,7 @@ public with sharing class Milestone1_Summary2 { } public Pagereference viewBlockedTasks() { + return new Pagereference('/' + settings.Report_Id_Blocked_Tasks_by_Project__c + '?pv0=' + String.valueOf(targetProject).substring(0,15) ); } @@ -143,18 +278,22 @@ public with sharing class Milestone1_Summary2 { } public Pagereference incompleteTasksByProject() { + return new Pagereference('/' + settings.Report_Id_My_Tasks_By_Project_Milesto__c + '?pv0=' + Encodingutil.urlEncode(''+UserInfo.getName(), 'UTF-8' )); } public Pagereference incompleteTasksByPriority() { + return new Pagereference('/' + settings.Report_Id_My_Tasks_By_Priority_Project__c + '?pv0=' + Encodingutil.urlEncode(''+UserInfo.getName(), 'UTF-8' ) ); } public Pagereference summaryMyLateTasks() { + return new Pagereference('/' + settings.Report_Id_My_Late_Tasks__c + '?pv0=' + Encodingutil.urlEncode(''+UserInfo.getName(), 'UTF-8' ) ); } public Pagereference summaryMyBlockedTasks() { + return new Pagereference('/' + settings.Report_Id_My_Blocked_Tasks__c + '?pv0=' + Encodingutil.urlEncode(''+UserInfo.getName(), 'UTF-8' ) ); } @@ -188,9 +327,8 @@ public with sharing class Milestone1_Summary2 { Milestone1_Project__c p1 = Milestone1_Test_Utility.sampleProjectActive('Controller Test'); insert p1; - Integer i2 = summary2.getProjects().size(); + - System.assert(i2 == i+1); //make sure we get page references back summary2.targetProject = p1.id; @@ -204,12 +342,59 @@ public with sharing class Milestone1_Summary2 { System.assert(summary2.recentItems != null); //Test.setFixedSearchResults(new Id[] {p1.Id}); + summary2.searchText = 's'; + summary2.searchProjects(); + System.assertEquals(true, summary2.hasSearchLengthError); + + summary2.searchText = 'Test'; summary2.searchProjects(); System.assert(summary2.hasSearchResultsError); System.assert(!summary2.hasProjectResults); System.assert(!summary2.hasMilestoneResults); System.assert(!summary2.hasTaskResults); + + + + System.assertEquals(1, summary2.pageNumber); + + + if(summary2.hasNext == true) + { + summary2.next(); + } + if(summary2.hasPrevious == true) + { + summary2.previous(); + } + + } + + static TestMethod void testProjectPagination() { + + Integer i = 0; + + List projects = new List(); + while (i < 25) { + Milestone1_Project__c p1 = Milestone1_Test_Utility.sampleProjectActive('Controller Test'+i); + projects.add(p1); + i++; + } + + insert projects; + + //make sure it shows active projects + + Test.startTest(); + + Milestone1_Summary2 summary2 = new Milestone1_Summary2(); + + Integer i2 = summary2.getProjects().size(); + + System.assertEquals(20, i2, 'Project count is wrong.'); + + Test.stopTest(); + } } \ No newline at end of file diff --git a/src/classes/Milestone1_Test_Task_Dependency.cls b/src/classes/Milestone1_Test_Task_Dependency.cls index b9d7be7..5ba7493 100644 --- a/src/classes/Milestone1_Test_Task_Dependency.cls +++ b/src/classes/Milestone1_Test_Task_Dependency.cls @@ -85,23 +85,6 @@ private class Milestone1_Test_Task_Dependency { } - /** - * Create a batch of tasks - */ - public static Map manyTasks(Milestone1_Milestone__c parentMilestone, Integer size){ - - Map tasksMap = new Map(); - Milestone1_Task__c task; - List tasks = new List(); - for(Integer i = 0; i < size; i++){ - task = Milestone1_Test_Utility.sampleTask(parentMilestone.Id); - task.Name = 'ts'+i; - tasksMap.put(task.Name,task); - } - insert tasksMap.values(); - return tasksMap; - } - public static void areShiftedMilestones (Map milestonesOriginal, Map milestones, Integer numberOfDaysShifted){ diff --git a/src/classes/Milestone1_Test_Utility.cls b/src/classes/Milestone1_Test_Utility.cls index b9b5cca..8ea517e 100644 --- a/src/classes/Milestone1_Test_Utility.cls +++ b/src/classes/Milestone1_Test_Utility.cls @@ -227,6 +227,25 @@ public with sharing class Milestone1_Test_Utility { } insert milestonesMap.values(); return milestonesMap; + } + + + /** + * Create a batch of tasks + */ + public static Map manyTasks(Milestone1_Milestone__c parentMilestone, Integer size){ + + Map tasksMap = new Map(); + Milestone1_Task__c task; + List tasks = new List(); + for(Integer i = 0; i < size; i++){ + task = sampleTask(parentMilestone.Id); + task.Name = 'ts'+i; + tasksMap.put(task.Name,task); + } + insert tasksMap.values(); + return tasksMap; } + } \ No newline at end of file diff --git a/src/classes/Milestone1_repeatCon.cls b/src/classes/Milestone1_repeatCon.cls index 74aa251..8918685 100644 --- a/src/classes/Milestone1_repeatCon.cls +++ b/src/classes/Milestone1_repeatCon.cls @@ -123,8 +123,8 @@ public with sharing class Milestone1_repeatCon { private List getAllItems(Date[] da) { List projects = [Select Id, Deadline__c, Name from Milestone1_Project__c where Deadline__c >=:da[0] and Deadline__c <= :da[1]]; - List milestones = [Select Id, Deadline__c, Name from Milestone1_Milestone__c where Deadline__c >=:da[0] and Deadline__c <= :da[1]]; - List tasks = [Select Id, Due_Date__c, Name from Milestone1_Task__c where Due_Date__c >=:da[0] and Due_Date__c <= :da[1]]; + List milestones = [Select Id, Deadline__c, Name from Milestone1_Milestone__c where Deadline__c >=:da[0] and Deadline__c <= :da[1] LIMIT 300]; + List tasks = [Select Id, Due_Date__c, Name from Milestone1_Task__c where Due_Date__c >=:da[0] and Due_Date__c <= :da[1] LIMIT 300]; List events = new List(); for(Milestone1_Project__c proj : projects) { diff --git a/src/components/MIlestone1_Calendar_Full.component b/src/components/MIlestone1_Calendar_Full.component index 5a03431..e4e89a7 100644 --- a/src/components/MIlestone1_Calendar_Full.component +++ b/src/components/MIlestone1_Calendar_Full.component @@ -10,7 +10,7 @@ - + diff --git a/src/dashboards/Milestones_PM_Dashboards/Milestones_PM_Individual_Dashboard.dashboard b/src/dashboards/Milestones_PM_Dashboards/Milestones_PM_Individual_Dashboard.dashboard index 81ae7fa..dde4220 100644 --- a/src/dashboards/Milestones_PM_Dashboards/Milestones_PM_Individual_Dashboard.dashboard +++ b/src/dashboards/Milestones_PM_Dashboards/Milestones_PM_Individual_Dashboard.dashboard @@ -49,7 +49,7 @@ false - labs@labs.116 + labs@labs.121 #000000 Milestones PM Individual Dashboard #000000 diff --git a/src/dashboards/Milestones_PM_Dashboards/Milestones_PM_Project_Snapshots.dashboard b/src/dashboards/Milestones_PM_Dashboards/Milestones_PM_Project_Snapshots.dashboard index c27a2b4..7dcecbf 100644 --- a/src/dashboards/Milestones_PM_Dashboards/Milestones_PM_Project_Snapshots.dashboard +++ b/src/dashboards/Milestones_PM_Dashboards/Milestones_PM_Project_Snapshots.dashboard @@ -61,7 +61,7 @@ false - labs@labs.116 + labs@labs.121 #000000 Milestones PM Project Snapshots #000000 diff --git a/src/objects/Milestone1_Expense__c.object b/src/objects/Milestone1_Expense__c.object index da57fb9..621a96b 100644 --- a/src/objects/Milestone1_Expense__c.object +++ b/src/objects/Milestone1_Expense__c.object @@ -35,7 +35,6 @@ Deployed Force.com Labs - PM - The expense object captures monetary expenses for a milestone task. false - false false false true diff --git a/src/objects/Milestone1_Log__c.object b/src/objects/Milestone1_Log__c.object index 84a8537..bd77b5c 100644 --- a/src/objects/Milestone1_Log__c.object +++ b/src/objects/Milestone1_Log__c.object @@ -35,7 +35,6 @@ Deployed Force.com Labs - PM - Log items contain general information for a Project that a user may want to keep an informal record of. false - false false false false diff --git a/src/objects/Milestone1_Milestone__c.object b/src/objects/Milestone1_Milestone__c.object index 5da3208..14c129b 100644 --- a/src/objects/Milestone1_Milestone__c.object +++ b/src/objects/Milestone1_Milestone__c.object @@ -36,7 +36,6 @@ Deployed Force.com Labs - PM - Milestones are significant events in the life-cycle of a Project. Milestones can have tasks and sub-milestones associated with them. false - false true false true diff --git a/src/objects/Milestone1_Nag__c.object b/src/objects/Milestone1_Nag__c.object index 6bb3244..a2a4d9b 100644 --- a/src/objects/Milestone1_Nag__c.object +++ b/src/objects/Milestone1_Nag__c.object @@ -35,7 +35,6 @@ Deployed Force.com Labs - PM - This is a nag object. Allows the Nag Engine to execute against objects. false - false false false true diff --git a/src/objects/Milestone1_Project__c.object b/src/objects/Milestone1_Project__c.object index a6828bf..f396cd3 100644 --- a/src/objects/Milestone1_Project__c.object +++ b/src/objects/Milestone1_Project__c.object @@ -36,7 +36,6 @@ Deployed Force.com Labs - PM - A collaborative enterprise which has a planned goal. A project can have many milestones. false - false true false false diff --git a/src/objects/Milestone1_Task__c.object b/src/objects/Milestone1_Task__c.object index 4d83a95..0deb5bd 100644 --- a/src/objects/Milestone1_Task__c.object +++ b/src/objects/Milestone1_Task__c.object @@ -35,7 +35,6 @@ Deployed Force.com Labs - PM - An activity that has hours, budget, and is assigned to a User. false - false true false true diff --git a/src/objects/Milestone1_Time__c.object b/src/objects/Milestone1_Time__c.object index 2dbb290..22cbecf 100644 --- a/src/objects/Milestone1_Time__c.object +++ b/src/objects/Milestone1_Time__c.object @@ -35,7 +35,6 @@ Deployed Force.com Labs - PM - A time entry record which allows users to log times against milestone tasks. false - false false false true diff --git a/src/objects/Project_Snapshot__c.object b/src/objects/Project_Snapshot__c.object index 3367d28..154de56 100644 --- a/src/objects/Project_Snapshot__c.object +++ b/src/objects/Project_Snapshot__c.object @@ -35,7 +35,6 @@ Deployed Force.com Labs - PM - Tracks daily information about active projects. false - false false false true diff --git a/src/package.xml b/src/package.xml index 6ba3b6b..ef2507f 100644 --- a/src/package.xml +++ b/src/package.xml @@ -1,5 +1,6 @@ + Milestones PM Project_Status_Analytic_Snapshot AnalyticSnapshot @@ -103,6 +104,183 @@ Project_Mgmt_Labs CustomApplication + + Milestone1_Expense__c.Amount__c + Milestone1_Expense__c.Date_Incurred__c + Milestone1_Expense__c.Description__c + Milestone1_Expense__c.Incurred_By__c + Milestone1_Expense__c.Project_Task__c + Milestone1_Log__c.Detail__c + Milestone1_Log__c.Project_Expense__c + Milestone1_Log__c.Project_Milestone__c + Milestone1_Log__c.Project_Task__c + Milestone1_Log__c.Project_Time__c + Milestone1_Log__c.Project__c + Milestone1_Log__c.Subject__c + Milestone1_Log__c.Type__c + Milestone1_Milestone__c.Actual_Expense_From_Sub_Milestones__c + Milestone1_Milestone__c.Actual_Expense_From_Tasks__c + Milestone1_Milestone__c.Actual_Hours_From_Sub_Milestones__c + Milestone1_Milestone__c.Actual_Hours_From_Tasks__c + Milestone1_Milestone__c.Alias__c + Milestone1_Milestone__c.Blocked_Tasks_in_Sub_Milestones__c + Milestone1_Milestone__c.Blocked_Tasks_in_Tasks__c + Milestone1_Milestone__c.Complete_Tasks_in_Sub_Milestones__c + Milestone1_Milestone__c.Complete_Tasks_in_Tasks__c + Milestone1_Milestone__c.Complete__c + Milestone1_Milestone__c.Deadline__c + Milestone1_Milestone__c.Description__c + Milestone1_Milestone__c.Duration__c + Milestone1_Milestone__c.Estimated_Expense_From_Sub_Milestones__c + Milestone1_Milestone__c.Estimated_Expense_From_Tasks__c + Milestone1_Milestone__c.Estimated_Hours_From_Sub_Milestones__c + Milestone1_Milestone__c.Estimated_Hours_From_Tasks__c + Milestone1_Milestone__c.Expense_Budget__c + Milestone1_Milestone__c.Expense_Budget_from_Sub_Milestones__c + Milestone1_Milestone__c.Hours_Budget__c + Milestone1_Milestone__c.Hours_Budget_from_Sub_Milestones__c + Milestone1_Milestone__c.ImportID__c + Milestone1_Milestone__c.Kickoff__c + Milestone1_Milestone__c.Late_Tasks_in_Sub_Milestones__c + Milestone1_Milestone__c.Late_Tasks_in_Tasks_2__c + Milestone1_Milestone__c.Late_Tasks_in_Tasks__c + Milestone1_Milestone__c.NameClean__c + Milestone1_Milestone__c.Okay_to_Reparent__c + Milestone1_Milestone__c.Open_Late_Blocked_Tasks__c + Milestone1_Milestone__c.Open_Tasks_in_Sub_Milestones__c + Milestone1_Milestone__c.Open_Tasks_in_Tasks__c + Milestone1_Milestone__c.Open_vs_Complete_Tasks__c + Milestone1_Milestone__c.Parent_Milestone__c + Milestone1_Milestone__c.Predecessor_Milestone__c + Milestone1_Milestone__c.Project_Kickoff_Offset__c + Milestone1_Milestone__c.Project__c + Milestone1_Milestone__c.Total_Actual_Expense__c + Milestone1_Milestone__c.Total_Actual_Hours__c + Milestone1_Milestone__c.Total_Blocked_Tasks__c + Milestone1_Milestone__c.Total_Complete_Tasks__c + Milestone1_Milestone__c.Total_Estimated_Expense__c + Milestone1_Milestone__c.Total_Estimated_Hours__c + Milestone1_Milestone__c.Total_Expense_Balance__c + Milestone1_Milestone__c.Total_Expense_Budget__c + Milestone1_Milestone__c.Total_Hours_Balance__c + Milestone1_Milestone__c.Total_Hours_Budget__c + Milestone1_Milestone__c.Total_Late_Tasks__c + Milestone1_Milestone__c.Total_Open_Tasks__c + Milestone1_Nag__c.Assigned_To_Running_User__c + Milestone1_Nag__c.Assigned_To__c + Milestone1_Nag__c.Deadline__c + Milestone1_Nag__c.Description__c + Milestone1_Nag__c.Link__c + Milestone1_Nag__c.Nag_Reason__c + Milestone1_Nag__c.Nag_Status__c + Milestone1_Nag__c.Parent_ID__c + Milestone1_Nag__c.Parent_Name__c + Milestone1_Nag__c.Parent_Owner_Id__c + Milestone1_Nag__c.Parent_Status__c + Milestone1_Nag__c.Parent_Type__c + Milestone1_Nag__c.Project_Milestone__c + Milestone1_Nag__c.Project_Task__c + Milestone1_Nag__c.Project__c + Milestone1_Project__c.Deadline__c + Milestone1_Project__c.Description__c + Milestone1_Project__c.Duration__c + Milestone1_Project__c.GoogleGanntUrl__c + Milestone1_Project__c.ImportID__c + Milestone1_Project__c.Kickoff__c + Milestone1_Project__c.Next_Project_Milestone_Due_Date__c + Milestone1_Project__c.Next_Project_Top_Milestone_Due_Date__c + Milestone1_Project__c.Number_of_Incomplete_Milestones__c + Milestone1_Project__c.Number_of_Incomplete_Top_Milestones__c + Milestone1_Project__c.Status_BudgetExpenseSummary__c + Milestone1_Project__c.Status_BudgetMiletoneEstimate__c + Milestone1_Project__c.Status_Image_HoursSummary__c + Milestone1_Project__c.Status_Image_OpenVComplete__c + Milestone1_Project__c.Status_Img_OpenLateBlocked__c + Milestone1_Project__c.Status_TasksOpenBlockedLate__c + Milestone1_Project__c.Status_TasksOpenComplete__c + Milestone1_Project__c.Status__c + Milestone1_Project__c.Total_Blocked_Task_Count__c + Milestone1_Project__c.Total_Complete_Task_Count__c + Milestone1_Project__c.Total_Expense_Budget__c + Milestone1_Project__c.Total_Expense_Budget_from_Milestones__c + Milestone1_Project__c.Total_Expense_Estimate__c + Milestone1_Project__c.Total_Expense_Incurred__c + Milestone1_Project__c.Total_Hours_Budget__c + Milestone1_Project__c.Total_Hours_Budget_from_Milestones__c + Milestone1_Project__c.Total_Hours_Estimate__c + Milestone1_Project__c.Total_Hours_Incurred__c + Milestone1_Project__c.Total_Late_Task_Count__c + Milestone1_Project__c.Total_Open_Task_Count__c + Milestone1_Settings__c.Auto_Follow_Complete_Task__c + Milestone1_Settings__c.Auto_Follow_Task__c + Milestone1_Settings__c.Auto_Unfollow_Reassignment__c + Milestone1_Settings__c.Default_Milestone_Alias__c + Milestone1_Settings__c.Report_Id_Blocked_Tasks_by_Project__c + Milestone1_Settings__c.Report_Id_My_Blocked_Tasks__c + Milestone1_Settings__c.Report_Id_My_Late_Tasks__c + Milestone1_Settings__c.Report_Id_My_Tasks_By_Priority_Project__c + Milestone1_Settings__c.Report_Id_My_Tasks_By_Project_Milesto__c + Milestone1_Settings__c.Report_Id_My_tasks_by_project__c + Milestone1_Settings__c.Report_Id_Open_Task_Status_by_Project__c + Milestone1_Settings__c.Report_Id_Overdue_Tasks_by_Project__c + Milestone1_Settings__c.Report_Id_Project_Milestone_Open_Task__c + Milestone1_Settings__c.Report_Id_Task_Status_By_Project__c + Milestone1_Task__c.Assigned_To__c + Milestone1_Task__c.Blocked_Reason__c + Milestone1_Task__c.Blocked__c + Milestone1_Task__c.Class__c + Milestone1_Task__c.Complete__c + Milestone1_Task__c.Days_Late_Formula__c + Milestone1_Task__c.Days_Late__c + Milestone1_Task__c.Description__c + Milestone1_Task__c.Due_Date__c + Milestone1_Task__c.Email_GUID__c + Milestone1_Task__c.Estimated_Expense__c + Milestone1_Task__c.Estimated_Hours__c + Milestone1_Task__c.Expense_Balance__c + Milestone1_Task__c.Hours_Balance__c + Milestone1_Task__c.ImportID__c + Milestone1_Task__c.Index_Helper__c + Milestone1_Task__c.Index__c + Milestone1_Task__c.Last_Email_Received__c + Milestone1_Task__c.Milestone_Grandparent__c + Milestone1_Task__c.Overall_Status__c + Milestone1_Task__c.OwnerId__c + Milestone1_Task__c.Predecessor_Task__c + Milestone1_Task__c.Priority__c + Milestone1_Task__c.ProjectId__c + Milestone1_Task__c.ProjectStatus__c + Milestone1_Task__c.Project_Milestone__c + Milestone1_Task__c.Project__c + Milestone1_Task__c.Short_ID__c + Milestone1_Task__c.Start_Date__c + Milestone1_Task__c.Task_Number__c + Milestone1_Task__c.Task_Stage__c + Milestone1_Task__c.Total_Expense__c + Milestone1_Task__c.Total_Hours__c + Milestone1_Time__c.Date__c + Milestone1_Time__c.Description__c + Milestone1_Time__c.Hours__c + Milestone1_Time__c.ImportID__c + Milestone1_Time__c.Incurred_By__c + Milestone1_Time__c.Project_Task__c + Project_Snapshot__c.Blocked_Task_Count__c + Project_Snapshot__c.Complete_Task_Count__c + Project_Snapshot__c.Date__c + Project_Snapshot__c.Expense_Budget__c + Project_Snapshot__c.Expense_Estimate__c + Project_Snapshot__c.Expense_Incurred__c + Project_Snapshot__c.Hours_Budget__c + Project_Snapshot__c.Hours_Estimate__c + Project_Snapshot__c.Hours_Incurred__c + Project_Snapshot__c.Incomplete_Milestones__c + Project_Snapshot__c.Incomplete_Top_Milestones__c + Project_Snapshot__c.Late_Task_Count__c + Project_Snapshot__c.Open_Task_Count__c + Project_Snapshot__c.Project_Name__c + Project_Snapshot__c.Status__c + CustomField + Milestone1_Expense__c Milestone1_Log__c @@ -115,18 +293,6 @@ Project_Snapshot__c CustomObject - - Milestone1_Expense__c-en_US - Milestone1_Log__c-en_US - Milestone1_Milestone__c-en_US - Milestone1_Nag__c-en_US - Milestone1_Project__c-en_US - Milestone1_Settings__c-en_US - Milestone1_Task__c-en_US - Milestone1_Time__c-en_US - Project_Snapshot__c-en_US - CustomObjectTranslation - Milestone1_Getting_Started CustomPageWebLink @@ -172,6 +338,21 @@ Project_Snapshot__c-Project Snapshot Layout Layout + + Milestone1_Expense__c.All + Milestone1_Log__c.All + Milestone1_Milestone__c.All + Milestone1_Milestone__c.My_Milestones + Milestone1_Project__c.All + Milestone1_Task__c.All + Milestone1_Time__c.All + ListView + + + Milestone1_Milestone__c.nf_01I300000022xdvEAA_00N30000007czjLEAQ + Milestone1_Task__c.nf_01IU00000000WpxMAE_00NU0000000IK2lMAG + NamedFilter + Milestone_Project_Management Milestone_Project_Management/Active_Projects_Open_Milestones @@ -219,5 +400,41 @@ Milestone1_Timeline StaticResource + + Milestone1_Milestone__c.Alias_must_not_contain_spaces + Milestone1_Milestone__c.CanNotAddSubmilestoneToParentCompleted + Milestone1_Milestone__c.CannotBeCompleteWithOpenTasks + Milestone1_Milestone__c.Deadline_within_project_boundaries + Milestone1_Milestone__c.KickoffDeadlineWithinParentBoundaries + Milestone1_Milestone__c.Kickoff_after_Predecessor_Deadline + Milestone1_Milestone__c.Kickoff_before_deadline + Milestone1_Milestone__c.Milestone_between_Project_duration + Milestone1_Milestone__c.Milestone_must_have_parent_record + Milestone1_Nag__c.Must_have_a_parent + Milestone1_Nag__c.Only_one_parent_allowed + Milestone1_Project__c.Kickoff_before_deadline + Milestone1_Project__c.Total_Expense_Budget_Negative_Numbers + Milestone1_Project__c.Total_Hours_Budget_Negative_Numbers + Milestone1_Task__c.CannotBeBlockedIfComplete + Milestone1_Task__c.CannotBeCompleteIfBlocked + Milestone1_Task__c.Due_Date_Greater_Than_Milestone_Deadline + Milestone1_Task__c.Due_Date_Smaller_Than_Milestone_Kickoff + Milestone1_Task__c.Must_be_blank_if_not_blocked + Milestone1_Task__c.Must_not_be_blank_if_blocked + Milestone1_Task__c.Start_Date_More_Than_Due_Date + Milestone1_Time__c.Hours_Not_Negative + Milestone1_Time__c.Validation_Time_Hours_Less_Than_24_Hours + ValidationRule + + + Milestone1_Milestone__c.Change_Project + Milestone1_Milestone__c.Move_to_New_Project + Milestone1_Project__c.Export_Template + Milestone1_Project__c.Import_Template + Milestone1_Project__c.Update + Milestone1_Task__c.Change_Milestone + Milestone1_Task__c.Move_to_New_Milestone + WebLink + 20.0 diff --git a/src/pages/Milestone1_Summary2.page b/src/pages/Milestone1_Summary2.page index 1e65bcc..8e1b65f 100644 --- a/src/pages/Milestone1_Summary2.page +++ b/src/pages/Milestone1_Summary2.page @@ -91,6 +91,13 @@ jQuery(document).ready(function() { + +

Please deploy Milestones PM first. See Getting Started for more information.

+
+ + + + @@ -127,11 +134,14 @@ jQuery(document).ready(function() { {!taskRecord.Name} - + + + + @@ -139,7 +149,7 @@ jQuery(document).ready(function() { - + @@ -161,6 +171,13 @@ jQuery(document).ready(function() { + + Previous +  Page {!pageNumber} of {!totalPages}  + Next + + + @@ -254,6 +271,7 @@ jQuery(document).ready(function() { + \ No newline at end of file From ddb62ba88f2e8affb18f78bf5bc5eaea4812574b Mon Sep 17 00:00:00 2001 From: Tom Patros Date: Thu, 12 Jan 2012 06:46:29 -0500 Subject: [PATCH 2/6] Marked classes as global for access in code outside of Milestones. --- src/classes/Milestone1_Clone_Utility.cls | 2 +- src/classes/Milestone1_Export_Project_Controller.cls | 2 +- src/classes/Milestone1_Import_Project_Controller.cls | 2 +- src/classes/Milestone1_XML_Export_Utility.cls | 2 +- src/classes/Milestone1_XML_Import_Utility.cls | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/classes/Milestone1_Clone_Utility.cls b/src/classes/Milestone1_Clone_Utility.cls index 495a51b..af0239c 100644 --- a/src/classes/Milestone1_Clone_Utility.cls +++ b/src/classes/Milestone1_Clone_Utility.cls @@ -26,7 +26,7 @@ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISE OF THE POSSIBILITY OF SUCH DAMAGE. */ -public with sharing class Milestone1_Clone_Utility { +global with sharing class Milestone1_Clone_Utility { public static Milestone1_Project__c cloneProject(Milestone1_Project__c rec){ Milestone1_Project__c newRec = rec.clone(false); diff --git a/src/classes/Milestone1_Export_Project_Controller.cls b/src/classes/Milestone1_Export_Project_Controller.cls index cf20fa2..dd20403 100644 --- a/src/classes/Milestone1_Export_Project_Controller.cls +++ b/src/classes/Milestone1_Export_Project_Controller.cls @@ -26,7 +26,7 @@ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISE OF THE POSSIBILITY OF SUCH DAMAGE. */ -public with sharing class Milestone1_Export_Project_Controller { +global with sharing class Milestone1_Export_Project_Controller { private final String ERROR_STRING_FILE_TOO_LONG = 'Project is too large to export. Total characters must be less than ' + Milestone1_Import_Project_Controller.MAX_FILE_SIZE + diff --git a/src/classes/Milestone1_Import_Project_Controller.cls b/src/classes/Milestone1_Import_Project_Controller.cls index 632265a..5a5f883 100644 --- a/src/classes/Milestone1_Import_Project_Controller.cls +++ b/src/classes/Milestone1_Import_Project_Controller.cls @@ -26,7 +26,7 @@ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISE OF THE POSSIBILITY OF SUCH DAMAGE. */ -public with sharing class Milestone1_Import_Project_Controller { +global with sharing class Milestone1_Import_Project_Controller { public Milestone1_Project__c project {get; set;} public List docs {get;set;} public List docOptions {get;set;} diff --git a/src/classes/Milestone1_XML_Export_Utility.cls b/src/classes/Milestone1_XML_Export_Utility.cls index b8fb104..2f71a12 100644 --- a/src/classes/Milestone1_XML_Export_Utility.cls +++ b/src/classes/Milestone1_XML_Export_Utility.cls @@ -26,7 +26,7 @@ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISE OF THE POSSIBILITY OF SUCH DAMAGE. */ -public with sharing class Milestone1_XML_Export_Utility { +global with sharing class Milestone1_XML_Export_Utility { private Milestone1_Project__c project; private List milestones; diff --git a/src/classes/Milestone1_XML_Import_Utility.cls b/src/classes/Milestone1_XML_Import_Utility.cls index 10c7459..ad6762c 100644 --- a/src/classes/Milestone1_XML_Import_Utility.cls +++ b/src/classes/Milestone1_XML_Import_Utility.cls @@ -26,7 +26,7 @@ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISE OF THE POSSIBILITY OF SUCH DAMAGE. */ -public with sharing class Milestone1_XML_Import_Utility { +global with sharing class Milestone1_XML_Import_Utility { public with sharing class XML_Metadata { String ExportVersion; From 2168839b3d9c8a3363cf39ff969b2e1a07b5d032 Mon Sep 17 00:00:00 2001 From: Sara Renberg Date: Thu, 12 Jan 2012 09:49:23 -0800 Subject: [PATCH 3/6] merging local changes --- src/.DS_Store | Bin 0 -> 6148 bytes src/classes/Milestone1_Summary2.cls | 44 +++++---------------------- src/objects/Milestone1_Nag__c.object | 2 +- 3 files changed, 8 insertions(+), 38 deletions(-) create mode 100644 src/.DS_Store diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6b00c119ce118c5ff593e15e1483b7815be09d91 GIT binary patch literal 6148 zcmeHKyH3ME5S)cbM9`$9ykFoCtSEc|KL8|jCPp&!?)YtHABl*Zv=nGI+8y8C&Ye7k zHw(blU%Llj1z<^c#J7jJ`M&$it}5ebamI)@jJt8$zYeqN^9kqPV2d6v82LN$hu#Ud z+#2wX55_$=_xL*cDER z@#$cQ5rDX0I*iXTOAwnUh+W~7$PCSrN=&NNh+#=*zExdUI3*?>7B};py4h+%vACW2 z7Ui%mQBev=fl~#pbGh>V|46?u|DTeyk^)lTUnyXV&C_PhSE}ARdpYm5js8qO7;B@P mAzCppS}_;iitm5bHGk%QS2!gGo%x^>^+&*Ukx7BSP~Zm%UL1S? literal 0 HcmV?d00001 diff --git a/src/classes/Milestone1_Summary2.cls b/src/classes/Milestone1_Summary2.cls index a8b7bd3..074f3b3 100644 --- a/src/classes/Milestone1_Summary2.cls +++ b/src/classes/Milestone1_Summary2.cls @@ -45,9 +45,9 @@ public with sharing class Milestone1_Summary2 { } public boolean hasSearchLengthError{ - get{ - return searchLengthError != null && searchLengthError == true; - } + get{ + return searchLengthError != null && searchLengthError == true; + } } public boolean hasProjectResults { @@ -261,7 +261,6 @@ public with sharing class Milestone1_Summary2 { } public Pagereference viewBlockedTasks() { - return new Pagereference('/' + settings.Report_Id_Blocked_Tasks_by_Project__c + '?pv0=' + String.valueOf(targetProject).substring(0,15) ); } @@ -283,17 +282,14 @@ public with sharing class Milestone1_Summary2 { } public Pagereference incompleteTasksByPriority() { - return new Pagereference('/' + settings.Report_Id_My_Tasks_By_Priority_Project__c + '?pv0=' + Encodingutil.urlEncode(''+UserInfo.getName(), 'UTF-8' ) ); } public Pagereference summaryMyLateTasks() { - return new Pagereference('/' + settings.Report_Id_My_Late_Tasks__c + '?pv0=' + Encodingutil.urlEncode(''+UserInfo.getName(), 'UTF-8' ) ); } public Pagereference summaryMyBlockedTasks() { - return new Pagereference('/' + settings.Report_Id_My_Blocked_Tasks__c + '?pv0=' + Encodingutil.urlEncode(''+UserInfo.getName(), 'UTF-8' ) ); } @@ -330,6 +326,7 @@ public with sharing class Milestone1_Summary2 { + //make sure we get page references back summary2.targetProject = p1.id; @@ -361,40 +358,13 @@ public with sharing class Milestone1_Summary2 { if(summary2.hasNext == true) { - summary2.next(); + summary2.next(); } if(summary2.hasPrevious == true) { - summary2.previous(); - } - - } - - static TestMethod void testProjectPagination() { - - Integer i = 0; - - List projects = new List(); - while (i < 25) { - Milestone1_Project__c p1 = Milestone1_Test_Utility.sampleProjectActive('Controller Test'+i); - projects.add(p1); - i++; + summary2.previous(); } - insert projects; - - //make sure it shows active projects - - Test.startTest(); - - Milestone1_Summary2 summary2 = new Milestone1_Summary2(); - - Integer i2 = summary2.getProjects().size(); - - System.assertEquals(20, i2, 'Project count is wrong.'); - - Test.stopTest(); - } -} \ No newline at end of file +} diff --git a/src/objects/Milestone1_Nag__c.object b/src/objects/Milestone1_Nag__c.object index a2a4d9b..30f0424 100644 --- a/src/objects/Milestone1_Nag__c.object +++ b/src/objects/Milestone1_Nag__c.object @@ -215,8 +215,8 @@ IF( Project_Task__c <> null, 'Task',''))) Nags Accept - New ChangeOwner + New ReadWrite From 5ccf990b3f3bb1d977580ab0d5e7dd202dbf1f46 Mon Sep 17 00:00:00 2001 From: Sara Renberg Date: Thu, 12 Jan 2012 12:00:28 -0800 Subject: [PATCH 4/6] adding translations --- src/.DS_Store | Bin 6148 -> 6148 bytes src/classes/Milestone1_Email_Handler.cls | 18 +- src/classes/Milestone1_Email_Utility.cls | 6 +- .../Milestone1_Export_Project_Controller.cls | 4 +- .../Milestone1_GettingStartedController.cls | 2 +- src/classes/Milestone1_Import_Exception.cls | 8 +- .../Milestone1_Import_Project_Controller.cls | 2 +- .../Milestone1_Milestone_Trigger_Utility.cls | 8 +- src/classes/Milestone1_Move_Exception.cls | 10 +- .../Milestone1_One_Line_Controller.cls | 6 +- .../Milestone1_One_Liner_Controller_Tst.cls | 4 +- .../Milestone1_Task_Trigger_Utility.cls | 2 +- src/classes/Milestone1_XML_Import_Utility.cls | 6 +- src/classes/Milestone1_repeatCon.cls | 8 +- .../MIlestone1_Calendar_Full.component | 48 +- ...Milestone1_Charts_GanttComponent.component | 116 +- src/labels/CustomLabels.labels | 1187 +++++++++++++++++ ...estone1_Expense__c-en_US.objectTranslation | 3 +- ...Milestone1_Expense__c-ja.objectTranslation | 41 + .../Milestone1_Log__c-en_US.objectTranslation | 1 + .../Milestone1_Log__c-ja.objectTranslation | 79 ++ ...tone1_Milestone__c-en_US.objectTranslation | 1 + ...lestone1_Milestone__c-ja.objectTranslation | 328 +++++ .../Milestone1_Nag__c-en_US.objectTranslation | 9 +- .../Milestone1_Nag__c-ja.objectTranslation | 98 ++ ...estone1_Project__c-en_US.objectTranslation | 1 + ...Milestone1_Project__c-ja.objectTranslation | 224 ++++ ...ilestone1_Settings__c-ja.objectTranslation | 68 + ...Milestone1_Task__c-en_US.objectTranslation | 3 +- .../Milestone1_Task__c-ja.objectTranslation | 273 ++++ ...Milestone1_Time__c-en_US.objectTranslation | 3 +- .../Milestone1_Time__c-ja.objectTranslation | 53 + ...roject_Snapshot__c-en_US.objectTranslation | 1 + .../Project_Snapshot__c-ja.objectTranslation | 67 + src/package.xml | 435 ------ src/pages/Milestone1_Calendar_Large.page | 2 +- .../Milestone1_Charts_GanttMilestones.page | 4 +- src/pages/Milestone1_Charts_GanttTasks.page | 6 +- src/pages/Milestone1_Clone_Milestone.page | 4 +- src/pages/Milestone1_Clone_Project.page | 8 +- src/pages/Milestone1_Export_Project.page | 10 +- src/pages/Milestone1_GettingStarted.page | 49 +- src/pages/Milestone1_Import_Project.page | 10 +- src/pages/Milestone1_Move_Milestone.page | 8 +- .../Milestone1_Move_Milestone_Detail.page | 8 +- src/pages/Milestone1_Move_Task.page | 8 +- src/pages/Milestone1_Move_Task_Detail.page | 10 +- src/pages/Milestone1_One_Line_Create.page | 4 +- .../Milestone1_Post_Install_Instruction.page | 24 +- src/pages/Milestone1_SinglePageMenu.page | 22 +- src/pages/Milestone1_Summary2.page | 31 +- src/pages/Milestone1_TestProjectPage.page | 8 +- src/pages/Milestone1_Timeline.page | 2 +- src/translations/ja.translation | 854 ++++++++++++ 54 files changed, 3519 insertions(+), 676 deletions(-) create mode 100644 src/labels/CustomLabels.labels create mode 100644 src/objectTranslations/Milestone1_Expense__c-ja.objectTranslation create mode 100644 src/objectTranslations/Milestone1_Log__c-ja.objectTranslation create mode 100644 src/objectTranslations/Milestone1_Milestone__c-ja.objectTranslation create mode 100644 src/objectTranslations/Milestone1_Nag__c-ja.objectTranslation create mode 100644 src/objectTranslations/Milestone1_Project__c-ja.objectTranslation create mode 100644 src/objectTranslations/Milestone1_Settings__c-ja.objectTranslation create mode 100644 src/objectTranslations/Milestone1_Task__c-ja.objectTranslation create mode 100644 src/objectTranslations/Milestone1_Time__c-ja.objectTranslation create mode 100644 src/objectTranslations/Project_Snapshot__c-ja.objectTranslation create mode 100644 src/translations/ja.translation diff --git a/src/.DS_Store b/src/.DS_Store index 6b00c119ce118c5ff593e15e1483b7815be09d91..697f2389e6ddf2bf50e5549a8f77b2851732bdc7 100644 GIT binary patch delta 50 zcmZoMXfc@J&&WJ6z#2&OSW7T6Ffgz(6fh(*q%)*46sHs?=OpFl=P+)(sKLIOo#QV* E07GXD!~g&Q delta 30 mcmZoMXfc@J&&V_}z nags, User recipient) { diff --git a/src/classes/Milestone1_Export_Project_Controller.cls b/src/classes/Milestone1_Export_Project_Controller.cls index cf20fa2..ecff15a 100644 --- a/src/classes/Milestone1_Export_Project_Controller.cls +++ b/src/classes/Milestone1_Export_Project_Controller.cls @@ -29,8 +29,8 @@ OF THE POSSIBILITY OF SUCH DAMAGE. public with sharing class Milestone1_Export_Project_Controller { private final String ERROR_STRING_FILE_TOO_LONG = - 'Project is too large to export. Total characters must be less than ' + Milestone1_Import_Project_Controller.MAX_FILE_SIZE + - '. Current export would be $1 characters long. Please edit your project and try again'; + system.label.ProjectIsTooLarge + Milestone1_Import_Project_Controller.MAX_FILE_SIZE + + system.label.CurrentExport; public Milestone1_Project__c rec {get; set;} public Boolean exportSuccess{get;set;} diff --git a/src/classes/Milestone1_GettingStartedController.cls b/src/classes/Milestone1_GettingStartedController.cls index 1a578ab..a484436 100644 --- a/src/classes/Milestone1_GettingStartedController.cls +++ b/src/classes/Milestone1_GettingStartedController.cls @@ -43,7 +43,7 @@ public with sharing class Milestone1_GettingStartedController { Milestone1_Settings__c settings = Milestone1_Settings__c.getOrgDefaults(); if (settings != null) { - lastResult = 'Settings already exist. No changes made.'; + lastResult = system.label.SettingsAlreadyExistNoChanges; } else { settings = getInitialSettingsWithoutSave(); diff --git a/src/classes/Milestone1_Import_Exception.cls b/src/classes/Milestone1_Import_Exception.cls index 713470c..7a402cb 100644 --- a/src/classes/Milestone1_Import_Exception.cls +++ b/src/classes/Milestone1_Import_Exception.cls @@ -28,9 +28,9 @@ OF THE POSSIBILITY OF SUCH DAMAGE. */ public with sharing class Milestone1_Import_Exception extends Exception { - public static final String ERROR_NO_FILE_SELECTED = 'No import XML files selected. Please select an XML file to import.'; - public static final String ERROR_EMPTY_XML = 'The Project cannot be null. This is a critical error during import of XML. Please try exporting and re-importing.'; - public static final String ERROR_INVALID_XML = 'Import Failed -- Milestone was unable to import your file.'; - public static final String ERROR_FILESIZE_TOO_LARGE = 'The XML file is too large.'; + public static final String ERROR_NO_FILE_SELECTED = system.label.NoImportXMLFilesSelected; + public static final String ERROR_EMPTY_XML = system.label.TheProjectCannotBeNull; + public static final String ERROR_INVALID_XML = system.label.ImportFailed; + public static final String ERROR_FILESIZE_TOO_LARGE = system.label.TheXMLFileIsTooLarge; } \ No newline at end of file diff --git a/src/classes/Milestone1_Import_Project_Controller.cls b/src/classes/Milestone1_Import_Project_Controller.cls index 632265a..0a847e1 100644 --- a/src/classes/Milestone1_Import_Project_Controller.cls +++ b/src/classes/Milestone1_Import_Project_Controller.cls @@ -38,7 +38,7 @@ public with sharing class Milestone1_Import_Project_Controller { public Integer maxFileSize {get; set;} public static Integer MAX_FILE_SIZE = 500000; - private static String CONTENT_ERROR = 'Content is not allowed in prolog.'; + private static String CONTENT_ERROR = system.label.ContentIsNotAllowedInProlog; public Milestone1_Import_Project_Controller(ApexPages.StandardSetController ssc) { diff --git a/src/classes/Milestone1_Milestone_Trigger_Utility.cls b/src/classes/Milestone1_Milestone_Trigger_Utility.cls index 9701ea2..3d825e7 100644 --- a/src/classes/Milestone1_Milestone_Trigger_Utility.cls +++ b/src/classes/Milestone1_Milestone_Trigger_Utility.cls @@ -28,8 +28,8 @@ OF THE POSSIBILITY OF SUCH DAMAGE. */ public with sharing class Milestone1_Milestone_Trigger_Utility { - public static final String INSUFFICIENT_PRIVILEGES_TO_ACCESS_PARENT_MILESTONE = 'Insufficient privileges to access parent milestone.'; - public static final String INSUFFICIENT_PRIVILEGES_TO_ACCESS_PROJECT = 'Insufficient privileges to access project.'; + public static final String INSUFFICIENT_PRIVILEGES_TO_ACCESS_PARENT_MILESTONE = system.label.InsufficientPrivilegesToAccessParentMilestone; + public static final String INSUFFICIENT_PRIVILEGES_TO_ACCESS_PROJECT = system.label.InsufficientPrivileges; public static Boolean alreadyMadeParent = false; @@ -66,7 +66,7 @@ public with sharing class Milestone1_Milestone_Trigger_Utility { if(oldRec.Project__c != newRec.Project__c && newRec.Okay_to_Reparent__c == false){ //don't want to reparent if not OK to reparent. allPassed = false; - newRec.Project__c.addError('Milestones should not be moved to different Projects, except through the "Move to New Project" button in Milestone list view.'); + newRec.Project__c.addError(system.label.MilestonesShouldNotBeMoved); } } @@ -197,7 +197,7 @@ public with sharing class Milestone1_Milestone_Trigger_Utility { if(rec.Parent_Milestone__c != null){ // Parent milestone not accessible if(parentMilestonesMap.get(rec.Parent_Milestone__c).Parent_Milestone__c != null){ - rec.Parent_Milestone__c.addError('Sub-milestones can only go one level deep. Please select a top-level milestone as this record\'s parent milestone.'); + rec.Parent_Milestone__c.addError(system.label.SubMilestonesCanOnlyGoOneLevelDeep); } else { rec.Project__c = parentMilestonesMap.get(rec.Parent_Milestone__c).Project__c; } diff --git a/src/classes/Milestone1_Move_Exception.cls b/src/classes/Milestone1_Move_Exception.cls index efba93d..4869cae 100644 --- a/src/classes/Milestone1_Move_Exception.cls +++ b/src/classes/Milestone1_Move_Exception.cls @@ -28,11 +28,11 @@ OF THE POSSIBILITY OF SUCH DAMAGE. */ public with sharing class Milestone1_Move_Exception extends Exception{ - public static final String ERROR_MILESTONE_ALREADY_ASSIGNED_PROJECT = 'A milestone you are attempting to move is already assigned to this project. Please review your selection and try again.'; - public static final String ERROR_TASK_ALREADY_ASSIGNED_MILESTONE = 'A task you are attempting to move is already assigned to this milestone. Please review your selection and try again.'; - public static final String ERROR_MILESTONE_COMPLETE = 'Milestone is Complete, the Task can not be moved'; - public static final String ERROR_MILESTONE_HAS_SUCCESSORS = 'Top Level Milestone has successors and cannot be moved. Redirect those successors and try again.'; - public static final String ERROR_MILESTONE_HAS_PREDECESSOR = 'Top Level Milestone has predecessor and cannot be moved. Remove that predecessor and try again.'; + public static final String ERROR_MILESTONE_ALREADY_ASSIGNED_PROJECT = system.label.MilestoneYouAreAttempting; + public static final String ERROR_TASK_ALREADY_ASSIGNED_MILESTONE = system.label.TaskYouAreAttempting; + public static final String ERROR_MILESTONE_COMPLETE = system.label.MilestoneIsComplete; + public static final String ERROR_MILESTONE_HAS_SUCCESSORS = system.label.TopLevelMilestoneHasSuccessors; + public static final String ERROR_MILESTONE_HAS_PREDECESSOR = system.label.TopLevelMilestoneHasPredecessor; static testMethod void testConstants() { diff --git a/src/classes/Milestone1_One_Line_Controller.cls b/src/classes/Milestone1_One_Line_Controller.cls index 96f87a0..7206a90 100644 --- a/src/classes/Milestone1_One_Line_Controller.cls +++ b/src/classes/Milestone1_One_Line_Controller.cls @@ -62,17 +62,17 @@ public with sharing class Milestone1_One_Line_Controller { line = ''; }catch(Exception e) { - ApexPages.Message errorMsg = new ApexPages.Message(ApexPages.Severity.FATAL, 'There was a Salesforce DML Error: ' + e.getMessage()); + ApexPages.Message errorMsg = new ApexPages.Message(ApexPages.Severity.FATAL, system.label.SalesforceDMLError + e.getMessage()); ApexPages.addMessage(errorMsg); } }else { - ApexPages.Message errorMsg = new ApexPages.Message(ApexPages.Severity.FATAL, 'The alias( ' + milestoneAlias + ') did not match any milestone.'); + ApexPages.Message errorMsg = new ApexPages.Message(ApexPages.Severity.FATAL, system.label.Thealias + milestoneAlias + system.label.DidNotMatch); ApexPages.addMessage(errorMsg); } }else { - ApexPages.Message errorMsg = new ApexPages.Message(ApexPages.Severity.FATAL, 'The line command was incorrect. Please use format --- '); + ApexPages.Message errorMsg = new ApexPages.Message(ApexPages.Severity.FATAL, system.label.PleaseUseFormat); ApexPages.addMessage(errorMsg); } } diff --git a/src/classes/Milestone1_One_Liner_Controller_Tst.cls b/src/classes/Milestone1_One_Liner_Controller_Tst.cls index 3f5500e..7a36a54 100644 --- a/src/classes/Milestone1_One_Liner_Controller_Tst.cls +++ b/src/classes/Milestone1_One_Liner_Controller_Tst.cls @@ -79,7 +79,7 @@ private class Milestone1_One_Liner_Controller_Tst { System.assert(controller.task == null); List messages = ApexPages.getMessages(); system.assertEquals(messages.size(),1); - system.assertEquals(messages.get(0).getDetail(),'The alias( XY()BC#1?) did not match any milestone.'); + system.assertEquals(messages.get(0).getDetail(),system.label.Thealias + 'XY()BC#1?' + system.label.DidNotMatch); } static testMethod void testInvalidLineFound() @@ -91,7 +91,7 @@ private class Milestone1_One_Liner_Controller_Tst { System.assert(controller.task == null); List messages = ApexPages.getMessages(); system.assertEquals(messages.size(),1); - system.assertEquals(messages.get(0).getDetail(),'The line command was incorrect. Please use format --- '); + system.assertEquals(messages.get(0).getDetail(),system.label.PleaseUseFormat); } } \ No newline at end of file diff --git a/src/classes/Milestone1_Task_Trigger_Utility.cls b/src/classes/Milestone1_Task_Trigger_Utility.cls index fac4241..caf84db 100644 --- a/src/classes/Milestone1_Task_Trigger_Utility.cls +++ b/src/classes/Milestone1_Task_Trigger_Utility.cls @@ -28,7 +28,7 @@ OF THE POSSIBILITY OF SUCH DAMAGE. */ public class Milestone1_Task_Trigger_Utility { - public static final string SUBSCRIPTION_LIMIT_EXCEEDED = 'Maximum per user chatter subscription limit has been exceeded'; + public static final string SUBSCRIPTION_LIMIT_EXCEEDED = system.label.MaximumPer; public static void handleTaskAfterTrigger(List recs, List oldRecs) { Milestone1_Task__c oldRec; diff --git a/src/classes/Milestone1_XML_Import_Utility.cls b/src/classes/Milestone1_XML_Import_Utility.cls index 10c7459..a9e7691 100644 --- a/src/classes/Milestone1_XML_Import_Utility.cls +++ b/src/classes/Milestone1_XML_Import_Utility.cls @@ -85,7 +85,7 @@ public with sharing class Milestone1_XML_Import_Utility { //System.debug('Number of Tasks: ' + this.tasks.size()); if(project == null || project.Name == null || project.ImportID__c == null || project.ImportID__c.length() < 15) { - throw new Milestone1_Import_Exception('The Project cannot be null. This is a critical error during import of XML. Please try exporting and re-importing.'); + throw new Milestone1_Import_Exception(system.label.ProjectCannotBeNull); } //attempt to validate 10 variations of the name @@ -174,7 +174,7 @@ public with sharing class Milestone1_XML_Import_Utility { reader.next(); project.Name = getDecodedString(reader); if (project.Name.length() == 0) { - throw new Milestone1_Import_Exception('Invalid name (length cannot be zero)'); + throw new Milestone1_Import_Exception(system.label.InvalidName); } } if (reader.getEventType() == XMLTag.START_ELEMENT && reader.getLocalName() == 'Description__c') { @@ -399,7 +399,7 @@ public with sharing class Milestone1_XML_Import_Utility { if(metadata.ExportVersion != Milestone1_Constants.XML_EXPORT_VERSION_VAL) { //system.debug('Throw the Exception'); - throw new Milestone1_Import_Exception('Invalid Version. This project was exported from a different version(' + metadata.ExportVersion + ') than this organizations version(' + Milestone1_Constants.XML_EXPORT_VERSION_VAL + '). Projects must be exported and imported in same version. '); + throw new Milestone1_Import_Exception(system.label.InvalidVersion + metadata.ExportVersion + system.label.OrganizationsVersion + Milestone1_Constants.XML_EXPORT_VERSION_VAL + system.label.ProjectsMustBeExported); } } if (reader.getEventType() == XMLTag.START_ELEMENT && reader.getLocalName() == Milestone1_Constants.XML_EXPORT_PACKAGE) { diff --git a/src/classes/Milestone1_repeatCon.cls b/src/classes/Milestone1_repeatCon.cls index 8918685..cd5317c 100644 --- a/src/classes/Milestone1_repeatCon.cls +++ b/src/classes/Milestone1_repeatCon.cls @@ -30,10 +30,10 @@ public with sharing class Milestone1_repeatCon { public List filterList {get;set;} public String filterItem {get;set;} - private final String ALL_ITEMS = 'All Items'; - private final String MY_TASKS = 'My Tasks Only'; - private final String MY_MILESTONES_ONLY = 'My Milestones Only'; - private final String MY_PROJECTS_AND_ITEMS = 'My Projects And Sub-Project Items'; + private final String ALL_ITEMS = system.label.AllItems; + private final String MY_TASKS = system.label.MyTasksOnly; + private final String MY_MILESTONES_ONLY = system.label.MyMilestonesOnly; + private final String MY_PROJECTS_AND_ITEMS = system.label.MyProjectsAndSubProjectItems; private Date currentDay; public void next() { addMonth(1); diff --git a/src/components/MIlestone1_Calendar_Full.component b/src/components/MIlestone1_Calendar_Full.component index e4e89a7..9f36c90 100644 --- a/src/components/MIlestone1_Calendar_Full.component +++ b/src/components/MIlestone1_Calendar_Full.component @@ -1,23 +1,23 @@ - - - - - - - - - - - - - + + + + + + + + + + + + +
-

Calendar Legend

-
Filter Calendar By: - -
Projects Milestones Tasks
+

{!$Label.CalendarLegend}

+
{!$Label.FilterCalendarBy}: + +
{!$Label.ProjectsCalendar} {!$Label.MilestonesCalendar} {!$Label.TasksCalendar}
@@ -36,13 +36,13 @@ src="/s.gif" /> -Sunday -Monday -Tuesday -Wednesday -Thursday -Friday -Saturday +{!$Label.Sunday} +{!$Label.Monday} +{!$Label.Tuesday} +{!$Label.Wednesday} +{!$Label.Thursday} +{!$Label.Friday} +{!$Label.Saturday} diff --git a/src/components/Milestone1_Charts_GanttComponent.component b/src/components/Milestone1_Charts_GanttComponent.component index 06ea4cd..862ceef 100644 --- a/src/components/Milestone1_Charts_GanttComponent.component +++ b/src/components/Milestone1_Charts_GanttComponent.component @@ -1,61 +1,61 @@ - - - - - - - - - - - -

-
- - + + + + + + + + + + + +

+
+ +
\ No newline at end of file diff --git a/src/labels/CustomLabels.labels b/src/labels/CustomLabels.labels new file mode 100644 index 0000000..c1c7150 --- /dev/null +++ b/src/labels/CustomLabels.labels @@ -0,0 +1,1187 @@ + + + + ALiasNotFound + en_US + true + ALiasNotFound + The alias provided in subject line did not match a milestone alias in Salesforce. + + + AllItems + en_US + true + AllItems + All Items + + + AllOpenTasks + en_US + true + AllOpenTasks + All Open Tasks + + + AnErrorHasOcurred + en_US + true + AnErrorHasOcurred + An error has ocurred: + + + Back + en_US + true + Back + Back + + + BeSureToExploreTheSampleProject + en_US + true + Be sure to explore the sample project, "HOWTO: Get Started with Milestones PM". + Be sure to explore the sample project, "HOWTO: Get Started with Milestones PM". + + + BlockedTasks + en_US + true + Blocked Tasks + Blocked Tasks + + + Blocked_Tasks + en_US + true + Blocked_Tasks + Blocked Tasks + + + Calendar + en_US + true + Calendar + Calendar + + + CalendarLegend + en_US + true + CalendarLegend + Calendar Legend + + + Cancel + en_US + true + Cancel + Cancel + + + CheckActive + en_US + true + Check "Active" + Check "Active" + + + ClickHere + en_US + true + Click Here + Click Here + + + ClickHereToInitializeThisApp + en_US + true + Click here to initialize this app + Click here to initialize this app + + + ClickNewEmailService + en_US + true + Click "New Email Service". + Click "New Email Service". + + + ClickSaveAndNewEmailAddress + en_US + true + Click "Save and New Email Address". + Click "Save and New Email Address". + + + ClickingTheButtonWill + en_US + true + Clicking the button will + Clicking the button will + + + Community + en_US + true + Community + Community + + + ContentIsNotAllowedInProlog + en_US + true + Content is not allowed in prolog. + Content is not allowed in prolog. + + + CurrentExport + en_US + true + CurrentExport + . Current export would be $1 characters long. Please edit your project and try again + + + DidNotMatch + en_US + true + DidNotMatch + ) did not match any milestone. + + + Done + en_US + true + Done + Done! + + + EnterAcommand + en_US + true + EnterAcommand + Enter a command in the form 'alias --- description' + + + Expenses + en_US + true + Expenses + Expenses + + + Filter + en_US + true + Filter + Filter + + + FilterCalendarBy + en_US + true + FilterCalendarBy + Filter Calendar By + + + ForCommunityAssistance + en_US + true + For community assistance with Milestones PM, please visit <a href="http://succes + For community assistance with Milestones PM, please visit <a href="http://success.salesforce.com/answers">Salesforce Answers</a>. + + + Friday + en_US + true + Friday + Friday + + + FromUsersNotFound + en_US + true + FromUsersNotFound + The email sender did not match a user in Salesforce. + + + FullMonth + en_US + true + Full Month + Full Month + + + FullView + en_US + true + FullView + [Full View] + + + GettingHelp + en_US + true + Getting Help + Getting Help + + + GettingStarted + en_US + true + Getting Started + Getting Started + + + GiveEmailServiceName + en_US + true + Give a Email Service Name "Email To Milestone Task". + Give a Email Service Name "Email To Milestone Task". + + + Go + en_US + true + Go + Go! + + + GoToSetupDevelopEmailServices + en_US + true + Go to Setup -> Develop -> Email Services + Go to Setup -> Develop -> Email Services + + + IfYouHaveNotDoneThis + en_US + true + "If you have not done this, please visit <a href=""/0A3?setupid=ImportedPackage" + If you have not done this, please visit <a href="/0A3?setupid=ImportedPackage">Setup > App Setup > View Installed Packages</a>, + click on <strong>Milestones PM</strong> and click on the deploy button. + + + Import + en_US + true + Import + Import + + + ImportDefaultProject + en_US + true + Import a default project that will help you with your next steps. + Import a default project that will help you with your next steps. + + + ImportFailed + en_US + true + Import Failed -- Milestone was unable to import your file. + Import Failed -- Milestone was unable to import your file. + + + ImportLocalTemplateXML + en_US + true + ImportLocalTemplateXML + Import Local Template XML + + + ImportTemplate + en_US + true + Import Template + Import Template + + + ImportTemplateXML + en_US + true + ImportTemplateXML + Import Template XML from My Personal Documents + + + Important + en_US + true + Important + Important + + + ImportantUpper + en_US + true + IMPORTANT + IMPORTANT + + + IncompleteTasksByPriority + en_US + true + Incomplete Tasks By Priority + Incomplete Tasks By Priority + + + IncompleteTasksByProjects + en_US + true + Incomplete Tasks By Projects + Incomplete Tasks By Projects + + + InitialConfiguration + en_US + true + Initial Configuration + Initial Configuration + + + InitializationComplete + en_US + true + Initialization Complete! + Initialization Complete! + + + InitializeCustomAppSettings + en_US + true + Initialize custom app settings. + Initialize custom app settings. + + + InitializeYourConfiguration + en_US + true + Initialize your configuration using the button below. + Initialize your configuration using the button below. + + + InsufficientPrivileges + en_US + true + Insufficient privileges to access project. + Insufficient privileges to access project. + + + InsufficientPrivilegesToAccessParentMilestone + en_US + true + Insufficient privileges to access parent milestone. + Insufficient privileges to access parent milestone. + + + InvalidName + en_US + true + InvalidName + 'Invalid name (length cannot be zero)' + + + InvalidVersion + en_US + true + InvalidVersion + Invalid Version. This project was exported from a different version( + + + LateTasks + en_US + true + Late Tasks + Late Tasks + + + LearnMore + en_US + true + <a href="http://blogs.developerforce.com/labs/2011/08/howto-contribute-to-milest + <a href="http://blogs.developerforce.com/labs/2011/08/howto-contribute-to-milestones-pm-code-not-required-opensource.html">Learn more</a>. + + + Loading + en_US + true + Loading + Loading, please wait... + + + Logs + en_US + true + Logs + Logs + + + MainMenu + en_US + true + MainMenu + Milestones PM - Main Menu + + + MaximumPer + en_US + true + MaximumPer + Maximum per user chatter subscription limit has been exceeded + + + MilestoneApplicationPostInstallation + en_US + true + Milestone Application Post Installation Instructions + Milestone Application Post Installation Instructions + + + MilestoneClone + en_US + true + MilestoneClone + Milestone Clone + + + MilestoneIsComplete + en_US + true + Milestone is Complete, the Task can not be moved + Milestone is Complete, the Task can not be moved + + + MilestoneRecordsToMove + en_US + true + MilestoneRecordsToMove + Please return to the previous screen and select one or more Milestone records to move. + + + MilestoneYouAreAttempting + en_US + true + A milestone you are attempting to move is already assigned to this project. Plea + A milestone you are attempting to move is already assigned to this project. Please review your selection and try again. + + + Milestones + en_US + true + Milestones + Milestones + + + MilestonesCalendar + en_US + true + MilestonesCalendar + Milestones + + + MilestonesOpenTasks + en_US + true + MilestonesOpenTasks + Milestones & Open Tasks + + + MilestonesPMISOpenSource + en_US + true + Milestones PM is Open Source software. + Milestones PM is Open Source software. + + + MilestonesPMIsUnsupported + en_US + true + Milestones PM is unsupported. + Milestones PM is unsupported. + + + MilestonesShouldNotBeMoved + en_US + true + Milestones should not be moved to different Projects, except through the "Move t + Milestones should not be moved to different Projects, except through the "Move to New Project" button in Milestone list view. + + + Monday + en_US + true + Monday + Monday + + + MoveMilestoneCancel + en_US + true + MoveMilestoneCancel + Cancel + + + MoveMilestoneRecordsToMove + en_US + true + MoveMilestoneRecordsToMove + Please return to the previous screen and select one or more Milestone records to move. + + + MoveMilestoneS + en_US + true + MoveMilestoneS + Move Milestone(s) + + + MoveMilestoneSave + en_US + true + MoveMilestoneSave + Save + + + MoveMilestone_Cancel + en_US + true + MoveMilestone_Cancel + Cancel + + + MoveMilestone_Save + en_US + true + MoveMilestone_Save + Save + + + MoveMilestone_s + en_US + true + MoveMilestone_s + Move Milestone(s) + + + MoveTaskCancel + en_US + true + MoveTaskCancel + Cancel + + + MoveTaskDetailAttachmentsRecords + en_US + true + MoveTaskDetailAttachmentsRecords + One or more of the selected Task records cannot be moved because it has related Time, Expense, or Notes & Attachments records. + + + MoveTaskDetailCancel + en_US + true + MoveTaskDetailCancel + Cancel + + + MoveTaskDetailS + en_US + true + MoveTaskDetailS + Move Task(s) + + + MoveTaskDetailSave + en_US + true + MoveTaskDetailSave + Save + + + MoveTaskDetailTaskRecordsToMove + en_US + true + MoveTaskDetailTaskRecordsToMove + Please return to the previous screen and select one or more Task records to move. + + + MoveTaskRecordsToMove + en_US + true + MoveTaskRecordsToMove + Please return to the previous screen and select one or more Task records to move. + + + MoveTaskS + en_US + true + MoveTaskS + Move Task(s) + + + MoveTaskSave + en_US + true + MoveTaskSave + Save + + + MyIncompleteTasks + en_US + true + My Incomplete Tasks + My Incomplete Tasks + + + MyMilestonesOnly + en_US + true + MyMilestonesOnly + My Milestones Only + + + MyProjectsAndSubProjectItems + en_US + true + MyProjectsAndSubProjectItems + My Projects And Sub-Project Items + + + MyTasks + en_US + true + MyTasks + My Tasks + + + MyTasksOnly + en_US + true + MyTasksOnly + My Tasks Only + + + NewMilestoneName + en_US + true + NewMilestoneName + New Milestone Name + + + NewProjectName + en_US + true + NewProjectName + New Project Name + + + NextSteps + en_US + true + Next Steps + Next Steps + + + NoImportXMLFilesSelected + en_US + true + No import XML files selected. Please select an XML file to import. + No import XML files selected. Please select an XML file to import. + + + NoProjects + en_US + true + No projects! + No projects! + + + OrganizationsVersion + en_US + true + OrganizationsVersion + ) than this organizations version( + + + OverdueTasks + en_US + true + OverdueTasks + Overdue Tasks + + + PleaseUseFormat + en_US + true + PleaseUseFormat + The line command was incorrect. Please use format <Alias> --- <DESCRIPTION> + + + ProjectCannotBeNull + en_US + true + ProjectCannotBeNull + The Project cannot be null. This is a critical error during import of XML. Please try exporting and re-importing. + + + ProjectClone + en_US + true + ProjectClone + Project Clone + + + ProjectDetail + en_US + true + ProjectDetail + Project Detail + + + ProjectIsTooLarge + en_US + true + ProjectIsTooLarge + Project is too large to export. Total characters must be less than + + + ProjectMilestoneNagEngine + en_US + true + Project Milestone Nag Engine + Project Milestone Nag Engine + + + ProjectMilestoneNotification + en_US + true + Project Milestone Notification - Items require attention. + Project Milestone Notification - Items require attention. + + + ProjectSummary_FirstHalf + en_US + true + Project Summary Page + Project Summary Page + + + ProjectSummary_SecondHalf + en_US + true + to start using Milestones PM. + to start using Milestones PM. + + + ProjectXML + en_US + true + ProjectXML + Project XML Export Process + + + ProjectXMLImport + en_US + true + ProjectXMLImport + Project XML Import Process + + + Projects + en_US + true + Projects + Projects + + + ProjectsCalendar + en_US + true + ProjectsCalendar + Projects + + + ProjectsMustBeExported + en_US + true + ProjectsMustBeExported + ). Projects must be exported and imported in same version. + + + QuickSearch + en_US + true + QuickSearch + Quick Search - Project Components + + + RegexFwdRe + en_US + true + RegexFwdRe + ^[ ]*((([Ff][Ww][Dd])|([Rr][Ee]))[ ]*:[ ]*)* + + + SalesforceDMLError + en_US + true + SalesforceDMLError + There was a Salesforce DML Error: + + + Saturday + en_US + true + Saturday + Saturday + + + Save + en_US + true + Save + Save + + + SelectTheApexClass + en_US + true + Select the Apex Class "Milestone1_Email_Handler". + Select the Apex Class "Milestone1_Email_Handler". + + + SetAcceptAttachmentsToAll + en_US + true + Set "Accept Attachments" to "All". + Set "Accept Attachments" to "All". + + + SetAcceptEmailFromToAllEmail + en_US + true + Set "Accept Email From" to "All Email Addresses". + Set "Accept Email From" to "All Email Addresses". + + + SetAllFailureResponseOptions + en_US + true + Set All Failure Response options to 'Bounce Message'. + Set All Failure Response options to 'Bounce Message'. + + + SettingsAlreadyExistNoChanges + en_US + true + Settings already exist. No changes made. + Settings already exist. No changes made. + + + SetupNewEmailAddress + en_US + true + Setup A New Email Address. + Setup A New Email Address. + + + StartCreatingYourFirstProject + en_US + true + Start creating your first project. + Start creating your first project. + + + SubMilestonesCanOnlyGoOneLevelDeep + en_US + true + Sub-milestones can only go one level deep. Please select a top-level milestone a + Sub-milestones can only go one level deep. Please select a top-level milestone as this record\'s parent milestone. + + + SubjectMissing + en_US + true + SubjectMissing + The subject line did is empty. + + + SubjectMissingAlias + en_US + true + SubjectMissingAlias + The subject line did not contain a milestone alias. + + + SubjectMissingTask + en_US + true + SubjectMissingTask + The subject line did not contain a task. + + + Submit + en_US + true + Submit + Submit + + + Summary + en_US + true + Summary + Summary + + + SummarySearch + en_US + true + SummarySearch + Search + + + Sunday + en_US + true + Sunday + Sunday + + + TaskNotFound + en_US + true + TaskNotFound + A matching task was not found for this Email thread in Salesforce. Salesforce was unable to attach this email to the notes for a task. + + + TaskYouAreAttempting + en_US + true + A task you are attempting to move is already assigned to this milestone. Please + A task you are attempting to move is already assigned to this milestone. Please review your selection and try again. + + + Tasks + en_US + true + Tasks + Tasks + + + TasksCalendar + en_US + true + TasksCalendar + Tasks + + + TasksMilestone + en_US + true + TasksMilestone + Tasks / Milestone + + + TestProjectMilestones + en_US + true + TestProjectMilestones + Milestones + + + TheFollowingSalesforceProjectMilestoneItems + en_US + true + The following Salesforce Project Milestone items are nagging you for attention + The following Salesforce Project Milestone items are nagging you for attention + + + TheProjectCannotBeNull + en_US + true + The Project cannot be null. This is a critical error during import of XML. Pleas + The Project cannot be null. This is a critical error during import of XML. Please try exporting and re-importing. + + + TheXMLFileForYourProjectHasBeenSuccessfully + en_US + true + The XML file for your project has been successfully created, and can be found in + The XML file for your project has been successfully created, and can be found in the My Personal Documents folder. + + + TheXMLFileIsTooLarge + en_US + true + The XML file is too large. + The XML file is too large. + + + Thealias + en_US + false + Thealias + The alias( + + + ThisSampleProjectIncludes + en_US + true + This sample project includes the remaining configuration steps as well as ideas + This sample project includes the remaining configuration steps as well as ideas on how you can get the most out of Milestones PM. + + + ThisWeeksView + en_US + true + This Weeks View + This Weeks View + + + Thursday + en_US + true + Thursday + Thursday + + + Times + en_US + true + Times + Times + + + ToConfigureTheEmail + en_US + true + To configure the Email To Task Service + To configure the Email To Task Service + + + ToSubmitIdeasOrIssues + en_US + true + To submit ideas or issues, please visit <a href="https://github.com/ForceDotComL + To submit ideas or issues, please visit <a href="https://github.com/ForceDotComLabs/Milestones-PM">Milestones PM on Github</a>. + + + ToUsersNotFound + en_US + true + ToUsersNotFound + The list of recipients did not have any matches to a user in Salesforce. + + + ToViewXML_FirstHalf + en_US + true + Click here + Click here + + + ToViewXML_SecondHalf + en_US + true + to view the XML file in the My Personal Documents folder. + to view the XML file in the My Personal Documents folder. + + + ToYourProject_FirstHalf + en_US + true + Click here + Click here + + + ToYourProject_SecondHalf + en_US + true + to return to your project. + to return to your project. + + + TopLevelMilestoneHasPredecessor + en_US + true + Top Level Milestone has predecessor and cannot be moved. Remove that predecesso + Top Level Milestone has predecessor and cannot be moved. Remove that predecessor and try again. + + + TopLevelMilestoneHasSuccessors + en_US + true + Top Level Milestone has successors and cannot be moved. Redirect those successo + Top Level Milestone has successors and cannot be moved. Redirect those successors and try again. + + + Tuesday + en_US + true + Tuesday + Tuesday + + + UsersNotFound + en_US + true + UsersNotFound + The User seaches for Assignment (To Address) and/or Ownership (From Address) did not find matches to users in Salesforce. + + + ViewTheGettingStartedProject + en_US + true + View the "Getting Started" project created as part of your initial configuration + View the "Getting Started" project created as part of your initial configuration. + + + WeWelcomeYourIssueReports + en_US + true + We welcome your issue reports, ideas, documentation, code tweaks and all other p + We welcome your issue reports, ideas, documentation, code tweaks and all other participation. + + + Wednesday + en_US + true + Wednesday + Wednesday + + + WelcomeToMilestonesPM + en_US + true + Welcome to Milestones PM - Project Management + Welcome to Milestones PM - Project Management + + + YouCanNowGoTo + en_US + true + You can now go to your project summary page to see the sample project we install + You can now go to your project summary page to see the sample project we installed. + + + YouMustDeploy + en_US + true + you must <strong>deploy</strong> Milestones before continuing. + you must <strong>deploy</strong> Milestones before continuing. + + + YourNextFewSteps + en_US + true + Your next few steps are easy. + Your next few steps are easy. + + + YourProjectCouldNotSuccessfully + en_US + true + Your project could not successfully be exported to an XML document. + Your project could not successfully be exported to an XML document. + + diff --git a/src/objectTranslations/Milestone1_Expense__c-en_US.objectTranslation b/src/objectTranslations/Milestone1_Expense__c-en_US.objectTranslation index 263aa71..70be113 100644 --- a/src/objectTranslations/Milestone1_Expense__c-en_US.objectTranslation +++ b/src/objectTranslations/Milestone1_Expense__c-en_US.objectTranslation @@ -27,7 +27,7 @@ Incurred_By__c - + @@ -42,5 +42,6 @@
Custom Links
+ Consonant diff --git a/src/objectTranslations/Milestone1_Expense__c-ja.objectTranslation b/src/objectTranslations/Milestone1_Expense__c-ja.objectTranslation new file mode 100644 index 0000000..0a21b9c --- /dev/null +++ b/src/objectTranslations/Milestone1_Expense__c-ja.objectTranslation @@ -0,0 +1,41 @@ + + + + false + Expense + + + 費用の合計額。 + + Amount__c + + + 費用が発生した日付。デフォルトでは今日の日付が入る。 + + Date_Incurred__c + + + 費用の説明。例えば、なぜこの費用が発生したのか、など。 + + Description__c + + + この費用を利用した人。デフォルトでは現在のユーザが入る。 + + Incurred_By__c + 費用 + + + この費用が発生したタスク。 + + Project_Task__c + 費用 + + + Project Expense Layout + + +
Custom Links
+
+
+
diff --git a/src/objectTranslations/Milestone1_Log__c-en_US.objectTranslation b/src/objectTranslations/Milestone1_Log__c-en_US.objectTranslation index e9eaffc..4ade02c 100644 --- a/src/objectTranslations/Milestone1_Log__c-en_US.objectTranslation +++ b/src/objectTranslations/Milestone1_Log__c-en_US.objectTranslation @@ -80,5 +80,6 @@
Related Records
+ Consonant diff --git a/src/objectTranslations/Milestone1_Log__c-ja.objectTranslation b/src/objectTranslations/Milestone1_Log__c-ja.objectTranslation new file mode 100644 index 0000000..e9f28b0 --- /dev/null +++ b/src/objectTranslations/Milestone1_Log__c-ja.objectTranslation @@ -0,0 +1,79 @@ + + + + false + Log + + + ログの詳細情報。記録をとりたい情報に対して自由に入力できる。 + + Detail__c + + + 情報が知りたいプロジェクト費用 + + Project_Expense__c + ログ + + + ログをとりたいマイルストーン + + Project_Milestone__c + ログ + + + 情報が知りたいプロジェクトタスク + + Project_Task__c + ログ + + + 情報が知りたい時間 + + Project_Time__c + ログ + + + このログを関連づけたいプロジェクト。 + + Project__c + ログ + + + ログの題名 + + Subject__c + + + ログの種類。ソートする時などに使える。 + + Type__c + + Decision + 決定 + + + General + 一般 + + + Risk + リスク + + + + Project Log Layout + + +
Custom Links
+
+ + +
Detail Information
+
+ + +
Related Records
+
+
+
diff --git a/src/objectTranslations/Milestone1_Milestone__c-en_US.objectTranslation b/src/objectTranslations/Milestone1_Milestone__c-en_US.objectTranslation index 2856e68..0b3f36b 100644 --- a/src/objectTranslations/Milestone1_Milestone__c-en_US.objectTranslation +++ b/src/objectTranslations/Milestone1_Milestone__c-en_US.objectTranslation @@ -281,6 +281,7 @@
Task Information (Calculated)
+ Consonant diff --git a/src/objectTranslations/Milestone1_Milestone__c-ja.objectTranslation b/src/objectTranslations/Milestone1_Milestone__c-ja.objectTranslation new file mode 100644 index 0000000..64bbec7 --- /dev/null +++ b/src/objectTranslations/Milestone1_Milestone__c-ja.objectTranslation @@ -0,0 +1,328 @@ + + + + false + Milestone + + + 子マイルストーンのタスクから算出した実際費用 + + Actual_Expense_From_Sub_Milestones__c + + + 親マイルストーンのタスクから算出した実際費用 + + Actual_Expense_From_Tasks__c + + + 子マイルストーのタスクンから算出した実際時間 + + Actual_Hours_From_Sub_Milestones__c + + + このマイルストーンのタスクから算出された総時間 + + Actual_Hours_From_Tasks__c + + + マイルストーンをタスクに関連付けできる1行エイリアス + + Alias__c + + + ブロックされている子マイルストーンのタスク + + Blocked_Tasks_in_Sub_Milestones__c + + + ブロックされているタスク + + Blocked_Tasks_in_Tasks__c + + + 子マイルストーンの完了タスク + + Complete_Tasks_in_Sub_Milestones__c + + + このマイルストーンの完了タスク + + Complete_Tasks_in_Tasks__c + + + マイルストーンが完了したかどうか + + Complete__c + + + 期限日 + + Deadline__c + + + マイルストーンの概要 + + Description__c + + + 開始日から期限日までの日数 + + Duration__c + + + 子マイルストーンのタスクから算出した推定費用 + + Estimated_Expense_From_Sub_Milestones__c + + + 親マイルストーンのタスクから算出した推定費用 + + Estimated_Expense_From_Tasks__c + + + 子マイルストーンのタスクから算出した推定時間 + + Estimated_Hours_From_Sub_Milestones__c + + + 親マイルストーンのタスクから算出した推定時間 + + Estimated_Hours_From_Tasks__c + + + マイルストーンの予算 + + Expense_Budget__c + + + 全ての子マイルストーンの予算 + + Expense_Budget_from_Sub_Milestones__c + + + マイルストーンの予定時間 + + Hours_Budget__c + + + 全ての子マイルストーンの総予定時間 + + Hours_Budget_from_Sub_Milestones__c + + + XMLのインポート/エクスポート時にのみ利用するインポートID + + ImportID__c + + + マイルストーンの開始日 + + Kickoff__c + + + 子マイルストーンの未完了遅延タスク + + Late_Tasks_in_Sub_Milestones__c + + + 遅延タスク + + Late_Tasks_in_Tasks_2__c + + + このマイルストーンの未完了遅延タスク + + Late_Tasks_in_Tasks__c + + + + NameClean__c + + + + Okay_to_Reparent__c + + + + Open_Late_Blocked_Tasks__c + + + 子マイルストーンの未完了タスク + + Open_Tasks_in_Sub_Milestones__c + + + このマイルストーンの未完了タスク + + Open_Tasks_in_Tasks__c + + + + Open_vs_Complete_Tasks__c + + + 割り当て可能な場合は、このマイルストーンに対する親マイルストーン + + Parent_Milestone__c + 子マイルストーン + + + このマイルストーンを開始するより前に完了する必要があるマイルストーン。前のマイルストーンの終了日は現在のマイルストーンの開始日より前である必要があります。 + + Predecessor_Milestone__c + 前のマイルストーン + + + プロジェクト開始日からの経過日数 + + Project_Kickoff_Offset__c + + + このプロジェクトが割り当てられるプロジェクトです。もしこのプロジェクトが子プロジェクトの場合は空白になります。 + + Project__c + マイルストーン + + + 親子マイルストーンのタスクから算出した実際の費用 + + Total_Actual_Expense__c + + + 親子マイルストーンのタスクから算出した総実際時間 + + Total_Actual_Hours__c + + + ブロックされている総タスク + + Total_Blocked_Tasks__c + + + + Total_Complete_Tasks__c + + + 親子マイルストーンのタスクから算出した推定費用 + + Total_Estimated_Expense__c + + + 親子マイルストーンのタスクから算出した推定時間 + + Total_Estimated_Hours__c + + + 総予算から実際費用を引いたもの + + Total_Expense_Balance__c + + + 予算とサブマイルストーンからの予算から算出 + + Total_Expense_Budget__c + + + 総予定時間から実際消費時間を引いたもの + + Total_Hours_Balance__c + + + 親子マイルストーンの総予定時間 + + Total_Hours_Budget__c + + + このマイルストーンと、紐付く子マイルストーンの未完了遅延タスク + + Total_Late_Tasks__c + + + このマイルストーンと、紐付く子マイルストーン全体の未完了タスク + + Total_Open_Tasks__c + + + Project Milestone Layout + + +
Budget
+
+ + +
Custom Links
+
+ + +
Expense Information (Calculated)
+
+ + +
Hours Information (Calculated)
+
+ + +
Project Tasks Gantt View
+
+ + +
Status Summary
+
+ + +
Summary Metrics (Calculated)
+
+ + +
Task Information (Calculated)
+
+
+ + 親マイルストーンは子マイルストーンと同じプロジェクトに属する必要があります。また、親マイルストーンは子マイルストーンにはなれません。 + nf_01IU0000000VDCJMA4_00NU0000001XjlxMAC + + + マイルストーンエイリアスは空白スペースを含めません。 + Alias_must_not_contain_spaces + + + 完了済みマイルストーンを親マイルストーンに設定できません。 + CanNotAddSubmilestoneToParentCompleted + + + 進行中タスクのあるマイルストーンを完了済みにすることはできません。 + CannotBeCompleteWithOpenTasks + + + 期限日はプロジェクトの期限より前である必要があります。 + Deadline_within_project_boundaries + + + マイルストーンの開始日は親マイルストーンの開始日より前である必要はなく、マイルストーンの期限は親マイルストーンの期限日より後である必要はありません。 + KickoffDeadlineWithinParentBoundaries + + + マイルストーンの開始日は前の物の期限日より前である必要はありません。 + Kickoff_after_Predecessor_Deadline + + + 開始日は期限日より前である必要があります。 + Kickoff_before_deadline + + + マイルストーンの開始日はプロジェクトの開始日より後で、マイルストーンの期限日はプロジェクトの期限より前前である必要があります。 + Milestone_between_Project_duration + + + 親プロジェクトと親マイルストーン、もしくはその両方を選択して下さい。 + Milestone_must_have_parent_record + + + + Change_Project + + + + Move_to_New_Project + +
diff --git a/src/objectTranslations/Milestone1_Nag__c-en_US.objectTranslation b/src/objectTranslations/Milestone1_Nag__c-en_US.objectTranslation index 19058f5..3b7b555 100644 --- a/src/objectTranslations/Milestone1_Nag__c-en_US.objectTranslation +++ b/src/objectTranslations/Milestone1_Nag__c-en_US.objectTranslation @@ -15,7 +15,7 @@ Assigned_To__c - + @@ -72,17 +72,17 @@ Project_Milestone__c - + Project_Task__c - + Project__c - + Project Nag Layout @@ -91,6 +91,7 @@
Custom Links
+ Consonant diff --git a/src/objectTranslations/Milestone1_Nag__c-ja.objectTranslation b/src/objectTranslations/Milestone1_Nag__c-ja.objectTranslation new file mode 100644 index 0000000..af8d152 --- /dev/null +++ b/src/objectTranslations/Milestone1_Nag__c-ja.objectTranslation @@ -0,0 +1,98 @@ + + + + false + Nag + + + + Assigned_To_Running_User__c + + + + Assigned_To__c + お知らせ + + + + Deadline__c + + + + Description__c + + + + Link__c + + + + Nag_Reason__c + + Budget + 予算 + + + Date + 日付 + + + Hours + 時間 + + + + + Nag_Status__c + + + + Parent_ID__c + + + + Parent_Name__c + + + + Parent_Owner_Id__c + + + + Parent_Status__c + + + + Parent_Type__c + + + + Project_Milestone__c + お知らせ + + + + Project_Task__c + お知らせ + + + + Project__c + お知らせ + + + Project Nag Layout + + +
Custom Links
+
+
+ + 一つの親レコードが選択されている必要があります。 + Must_have_a_parent + + + 一つの親オブジェクトだけが許可されています。例えば、プロジェクトが参照先として設定された場合はマイルストーンとタスクが空になります。 + Only_one_parent_allowed + +
diff --git a/src/objectTranslations/Milestone1_Project__c-en_US.objectTranslation b/src/objectTranslations/Milestone1_Project__c-en_US.objectTranslation index da44260..c884d57 100644 --- a/src/objectTranslations/Milestone1_Project__c-en_US.objectTranslation +++ b/src/objectTranslations/Milestone1_Project__c-en_US.objectTranslation @@ -201,6 +201,7 @@
Status at a Glance
+ Consonant diff --git a/src/objectTranslations/Milestone1_Project__c-ja.objectTranslation b/src/objectTranslations/Milestone1_Project__c-ja.objectTranslation new file mode 100644 index 0000000..e6b8a96 --- /dev/null +++ b/src/objectTranslations/Milestone1_Project__c-ja.objectTranslation @@ -0,0 +1,224 @@ + + + + false + Project + + + プロジェクトの完了期限 + + Deadline__c + + + このプロジェクトの概要 + + Description__c + + + 開始日と期限日の間の日数 + + Duration__c + + + 算出 + + GoogleGanntUrl__c + + + + ImportID__c + + + プロジェクトの開始日 + + Kickoff__c + + + このプロジェクトのマイルストーンの次の期限日。サブマイルストーンを含む。 + + Next_Project_Milestone_Due_Date__c + + + 次の未完了マイルストーンの期限日。子マイルストーンは含まない。 + + Next_Project_Top_Milestone_Due_Date__c + + + このプロジェクトの未完了マイルストーン数。子マイルストーンを含む。 + + Number_of_Incomplete_Milestones__c + + + このプロジェクトの総未完了マイルストーン。子マイルストーンはカウントしない。 + + Number_of_Incomplete_Top_Milestones__c + + + + Status_BudgetExpenseSummary__c + + + + Status_BudgetMiletoneEstimate__c + + + + Status_Image_HoursSummary__c + + + + Status_Image_OpenVComplete__c + + + + Status_Img_OpenLateBlocked__c + + + + Status_TasksOpenBlockedLate__c + + + + Status_TasksOpenComplete__c + + + プロジェクトの状態 + + Status__c + + Active + アクティブ + + + Completed + 完了 + + + Inactive + 非アクティブ + + + On Hold + 保留 + + + Planning + 計画中 + + + + ブロックされているこのプロジェクトのタスク数 + + Total_Blocked_Task_Count__c + + + このプロジェクトの完了済みタスク数 + + Total_Complete_Task_Count__c + + + このプロジェクトの総予算 + + Total_Expense_Budget__c + + + このプロジェクトのマイルストーンの総予算 + + Total_Expense_Budget_from_Milestones__c + + + 全ての子マイルストーンから算出した推定費用 + + Total_Expense_Estimate__c + + + 全ての子マイルストーンから算出した推定費用 + + Total_Expense_Incurred__c + + + このプロジェクトの総予定時間 + + Total_Hours_Budget__c + + + このプロジェクトのマイルストーンから算出した推定時間 + + Total_Hours_Budget_from_Milestones__c + + + 全ての子マイルストーンから算出した推定時間 + + Total_Hours_Estimate__c + + + 全ての子マイルストーンのタスクから算出した総時間 + + Total_Hours_Incurred__c + + + 遅延しているこのプロジェクトのタスク数 + + Total_Late_Task_Count__c + + + このプロジェクトの進行中タスク数(遅延とブロックを含む) + + Total_Open_Task_Count__c + + + Project Layout + + +
Budgets
+
+ + +
Custom Links
+
+ + +
Description
+
+ + +
Metrics: Hours & Expenses (Calculated)
+
+ + +
Metrics: Milestone Information (Calculated)
+
+ + +
Project Milestones Gantt View
+
+ + +
Status at a Glance
+
+
+ + 開始日は期限日より前である必要があります。 + Kickoff_before_deadline + + + 正数を入力して下さい。 + Total_Expense_Budget_Negative_Numbers + + + 正数を入力して下さい。 + Total_Hours_Budget_Negative_Numbers + + + + Export_Template + + + + Import_Template + + + + Update + +
diff --git a/src/objectTranslations/Milestone1_Settings__c-ja.objectTranslation b/src/objectTranslations/Milestone1_Settings__c-ja.objectTranslation new file mode 100644 index 0000000..e698b75 --- /dev/null +++ b/src/objectTranslations/Milestone1_Settings__c-ja.objectTranslation @@ -0,0 +1,68 @@ + + + + false + Milestone1 Settings + + + タスクが完了済みになったときに自動的にタスクのChatterフィードのユーザ割り当てを解除します。 + + Auto_Follow_Complete_Task__c + + + ユーザがタスクに割り当てられた時に、自動的にユーザにタスクをフォローさせます。 + + Auto_Follow_Task__c + + + 別ユーザが割り当てられた時に自動的に現在のユーザの登録を解除します。 + + Auto_Unfollow_Reassignment__c + + + エイリアスがメールサブジェクトに設定されていない場合は、デフォルトではタスク作成のメールを受信した時に有効なエイリアスのマイルストーンを挿入します。 + + Default_Milestone_Alias__c + + + + Report_Id_Blocked_Tasks_by_Project__c + + + + Report_Id_My_Blocked_Tasks__c + + + + Report_Id_My_Late_Tasks__c + + + + Report_Id_My_Tasks_By_Priority_Project__c + + + + Report_Id_My_Tasks_By_Project_Milesto__c + + + プロジェクト順に私のタスクをレポートします。pv0 = プロジェクトID(15文字)、pv1 = 割り当て名 + + Report_Id_My_tasks_by_project__c + + + + Report_Id_Open_Task_Status_by_Project__c + + + + Report_Id_Overdue_Tasks_by_Project__c + + + + Report_Id_Project_Milestone_Open_Task__c + + + + Report_Id_Task_Status_By_Project__c + + diff --git a/src/objectTranslations/Milestone1_Task__c-en_US.objectTranslation b/src/objectTranslations/Milestone1_Task__c-en_US.objectTranslation index 8162545..c501fab 100644 --- a/src/objectTranslations/Milestone1_Task__c-en_US.objectTranslation +++ b/src/objectTranslations/Milestone1_Task__c-en_US.objectTranslation @@ -12,7 +12,7 @@ Assigned_To__c - +
@@ -238,6 +238,7 @@
Metrics: Hours & Expenses
+ Consonant diff --git a/src/objectTranslations/Milestone1_Task__c-ja.objectTranslation b/src/objectTranslations/Milestone1_Task__c-ja.objectTranslation new file mode 100644 index 0000000..5492985 --- /dev/null +++ b/src/objectTranslations/Milestone1_Task__c-ja.objectTranslation @@ -0,0 +1,273 @@ + + + + false + Task + + + このタスクの責任者。デフォルトでは現在のユーザ。 + + Assigned_To__c + タスク + + + ブロックされた理由 + + Blocked_Reason__c + + + ブロック + + Blocked__c + + + 自分がわかるように分類わけを設定 + + Class__c + + Ad Hoc + 一時的 + + + Defect + 欠陥 + + + Rework + 再開 + + + + このタスクの完了状態。 + + Complete__c + + + + Days_Late_Formula__c + + + このタスクの遅延日数 + + Days_Late__c + + + タスクの概要。目的などを書く。 + + Description__c + + + このタスクの完了期限日。デフォルトではマイルストーンの期限日が設定される。 + + Due_Date__c + + + + Email_GUID__c + + + タスクから算出された推定費用 + + Estimated_Expense__c + + + タスクから算出された推定時間 + + Estimated_Hours__c + + + 推定される総費用 + + Expense_Balance__c + + + 推定される総時間 + + Hours_Balance__c + + + + ImportID__c + + + + Index_Helper__c + + + + Index__c + + + 最後のメールを受信した日時。タスクはメール経由でも作成可能で、タスクのメモ&添付ファイルに保存される。 + + Last_Email_Received__c + + + + Milestone_Grandparent__c + + + タスクが完了、進行中、遅延、ブロックまたは、遅延ブロックされていることを示す + + Overall_Status__c + + + + OwnerId__c + + + このタスクの前のタスク + + Predecessor_Task__c + 前のタスク + + + このタスクの優先度。0,1,2,3,4で設定。 + + Priority__c + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + + + ProjectId__c + + + + ProjectStatus__c + + + タスクが割り当てられているマイルストーン + + Project_Milestone__c + タスク + + + このタスクが属するプロジェクトへのリンク + + Project__c + + + 全てのタスクとプロジェクトから参照可能なユニークなID + + Short_ID__c + + + タスクの開始日 + + Start_Date__c + + + 全てのタスクとプロジェクトから参照可能なユニークなID + + Task_Number__c + + + タスクの状態 + + Task_Stage__c + + Close + 完了 + + + Closed + 完了済 + + + In Progress + 進行中 + + + None + + + + Resolved + 解決済 + + + + 全ての子レコードの総費用 + + Total_Expense__c + + + 全てのレコードの総時間 + + Total_Hours__c + + + Project Task Layout + + +
Blocked
+
+ + +
Custom Links
+
+ + +
Estimates
+
+ + +
Metrics: Hours & Expenses
+
+
+ + 完了済みタスクをブロックすべきではありません。 + CannotBeBlockedIfComplete + + + 完了済みタスクをブロックすべきではありません。 + CannotBeCompleteIfBlocked + + + 期限日はマイルストーン期限日より前である必要があります。 + Due_Date_Greater_Than_Milestone_Deadline + + + 期限日はマイルストーン開始日より後である必要があります。 + Due_Date_Smaller_Than_Milestone_Kickoff + + + 「ブロック」にチェックがない場合は空白にして下さい。 + Must_be_blank_if_not_blocked + + + このタスクがブロックされた場合は理由を記入して下さい。 + Must_not_be_blank_if_blocked + + + 期限日は開始日より後である必要があります。 + Start_Date_More_Than_Due_Date + + + + Change_Milestone + + + + Move_to_New_Milestone + +
diff --git a/src/objectTranslations/Milestone1_Time__c-en_US.objectTranslation b/src/objectTranslations/Milestone1_Time__c-en_US.objectTranslation index ad395dd..16597e1 100644 --- a/src/objectTranslations/Milestone1_Time__c-en_US.objectTranslation +++ b/src/objectTranslations/Milestone1_Time__c-en_US.objectTranslation @@ -31,7 +31,7 @@ Incurred_By__c - +
@@ -46,6 +46,7 @@
Custom Links
+ Consonant diff --git a/src/objectTranslations/Milestone1_Time__c-ja.objectTranslation b/src/objectTranslations/Milestone1_Time__c-ja.objectTranslation new file mode 100644 index 0000000..6b20416 --- /dev/null +++ b/src/objectTranslations/Milestone1_Time__c-ja.objectTranslation @@ -0,0 +1,53 @@ + + + + false + Time + + + この時間が発生した日時。デフォルトではその日が入る。 + + Date__c + + + この時間の説明。どうした発生するのか、など。 + + Description__c + + + 割り当てられている時間。24時間以内にする必要がある。 + + Hours__c + + + + ImportID__c + + + この時間を使うユーザ。デフォルトでは現在のユーザ。 + + Incurred_By__c + 時間 + + + この時間を使うタスク。 + + Project_Task__c + 時間 + + + Project Time Layout + + +
Custom Links
+
+
+ + 時間に負の数を入力しないでください。 + Hours_Not_Negative + + + 時間は24を超えてはいけません。 + Validation_Time_Hours_Less_Than_24_Hours + +
diff --git a/src/objectTranslations/Project_Snapshot__c-en_US.objectTranslation b/src/objectTranslations/Project_Snapshot__c-en_US.objectTranslation index c549bf6..17e8c3e 100644 --- a/src/objectTranslations/Project_Snapshot__c-en_US.objectTranslation +++ b/src/objectTranslations/Project_Snapshot__c-en_US.objectTranslation @@ -68,5 +68,6 @@ Status__c
+ Consonant diff --git a/src/objectTranslations/Project_Snapshot__c-ja.objectTranslation b/src/objectTranslations/Project_Snapshot__c-ja.objectTranslation new file mode 100644 index 0000000..4a070c0 --- /dev/null +++ b/src/objectTranslations/Project_Snapshot__c-ja.objectTranslation @@ -0,0 +1,67 @@ + + + + false + Project Snapshot + + + + Blocked_Task_Count__c + + + + Complete_Task_Count__c + + + + Date__c + + + + Expense_Budget__c + + + + Expense_Estimate__c + + + + Expense_Incurred__c + + + + Hours_Budget__c + + + + Hours_Estimate__c + + + + Hours_Incurred__c + + + + Incomplete_Milestones__c + + + + Incomplete_Top_Milestones__c + + + + Late_Task_Count__c + + + + Open_Task_Count__c + + + + Project_Name__c + + + + Status__c + + diff --git a/src/package.xml b/src/package.xml index ef2507f..50b5dea 100644 --- a/src/package.xml +++ b/src/package.xml @@ -1,440 +1,5 @@ Milestones PM - - Project_Status_Analytic_Snapshot - AnalyticSnapshot - - - DNP_Milestone1_Test_Move_LongRunning - Milestone1_Calendar_Item - Milestone1_Charts_GanttController - Milestone1_Charts_Gantt_Helper - Milestone1_Clone_Milestone_Controller - Milestone1_Clone_Project_Controller - Milestone1_Clone_Utility - Milestone1_Constants - Milestone1_Email_Handler - Milestone1_Email_Handler_Tst - Milestone1_Email_Utility - Milestone1_Email_Utility_Tst - Milestone1_Exception - Milestone1_Expense_Trigger_Tst - Milestone1_Expense_Trigger_Utility - Milestone1_Export_Project_Controller - Milestone1_Export_Project_Controller_Tst - Milestone1_General_Utility - Milestone1_GettingStartedController - Milestone1_Import_Exception - Milestone1_Import_Project_Controller - Milestone1_Import_Project_Controller_Tst - Milestone1_Milestone_Batch_Delete - Milestone1_Milestone_Batch_Update - Milestone1_Milestone_Trigger_Utility - Milestone1_Milestone_Values_Helper - Milestone1_Month - Milestone1_Move_Exception - Milestone1_Move_Milestone_Extension - Milestone1_Move_Task_Extension - Milestone1_One_Line_Controller - Milestone1_One_Liner_Controller_Tst - Milestone1_Project_Active_Sched_Update - Milestone1_Project_Batch_Update - Milestone1_Project_Trigger_Utility - Milestone1_Summary2 - Milestone1_Task_Chatter_Tst - Milestone1_Task_Trigger_Utility - Milestone1_Task_Trigger_Utility_Test - Milestone1_TestProjectBuilder - Milestone1_Test_Clone - Milestone1_Test_Field_Values - Milestone1_Test_Import_Export - Milestone1_Test_Move - Milestone1_Test_Task_Dependency - Milestone1_Test_Utility - Milestone1_Time_Trigger_Tst - Milestone1_Time_Trigger_Utility - Milestone1_TimelineCon - Milestone1_TimelineCon_Test - Milestone1_XML_Export_Utility - Milestone1_XML_Export_Utility_Test - Milestone1_XML_Import_Utility - Milestone1_XML_Import_Utility_Test - Milestone1_repeatCon - ApexClass - - - MIlestone1_Calendar_Full - Milestone1_Charts_GanttComponent - ApexComponent - - - Milestone1_Calendar_Large - Milestone1_Charts_GVMilestones - Milestone1_Charts_GVTasks - Milestone1_Charts_GanttMilestones - Milestone1_Charts_GanttTasks - Milestone1_Clone_Milestone - Milestone1_Clone_Project - Milestone1_Export_Project - Milestone1_GettingStarted - Milestone1_Import_Project - Milestone1_Move_Milestone - Milestone1_Move_Milestone_Detail - Milestone1_Move_Task - Milestone1_Move_Task_Detail - Milestone1_One_Line_Create - Milestone1_Post_Install_Instruction - Milestone1_SinglePageMenu - Milestone1_Summary2 - Milestone1_TestProjectPage - Milestone1_Timeline - Milestone1_TimelineData - ApexPage - - - Milestone1_Expense_Trigger - Milestone1_Milestone_Trigger - Milestone1_Project_Trigger - Milestone1_Task_Trigger - Milestone1_Time_Trigger - ApexTrigger - - - Project_Mgmt_Labs - CustomApplication - - - Milestone1_Expense__c.Amount__c - Milestone1_Expense__c.Date_Incurred__c - Milestone1_Expense__c.Description__c - Milestone1_Expense__c.Incurred_By__c - Milestone1_Expense__c.Project_Task__c - Milestone1_Log__c.Detail__c - Milestone1_Log__c.Project_Expense__c - Milestone1_Log__c.Project_Milestone__c - Milestone1_Log__c.Project_Task__c - Milestone1_Log__c.Project_Time__c - Milestone1_Log__c.Project__c - Milestone1_Log__c.Subject__c - Milestone1_Log__c.Type__c - Milestone1_Milestone__c.Actual_Expense_From_Sub_Milestones__c - Milestone1_Milestone__c.Actual_Expense_From_Tasks__c - Milestone1_Milestone__c.Actual_Hours_From_Sub_Milestones__c - Milestone1_Milestone__c.Actual_Hours_From_Tasks__c - Milestone1_Milestone__c.Alias__c - Milestone1_Milestone__c.Blocked_Tasks_in_Sub_Milestones__c - Milestone1_Milestone__c.Blocked_Tasks_in_Tasks__c - Milestone1_Milestone__c.Complete_Tasks_in_Sub_Milestones__c - Milestone1_Milestone__c.Complete_Tasks_in_Tasks__c - Milestone1_Milestone__c.Complete__c - Milestone1_Milestone__c.Deadline__c - Milestone1_Milestone__c.Description__c - Milestone1_Milestone__c.Duration__c - Milestone1_Milestone__c.Estimated_Expense_From_Sub_Milestones__c - Milestone1_Milestone__c.Estimated_Expense_From_Tasks__c - Milestone1_Milestone__c.Estimated_Hours_From_Sub_Milestones__c - Milestone1_Milestone__c.Estimated_Hours_From_Tasks__c - Milestone1_Milestone__c.Expense_Budget__c - Milestone1_Milestone__c.Expense_Budget_from_Sub_Milestones__c - Milestone1_Milestone__c.Hours_Budget__c - Milestone1_Milestone__c.Hours_Budget_from_Sub_Milestones__c - Milestone1_Milestone__c.ImportID__c - Milestone1_Milestone__c.Kickoff__c - Milestone1_Milestone__c.Late_Tasks_in_Sub_Milestones__c - Milestone1_Milestone__c.Late_Tasks_in_Tasks_2__c - Milestone1_Milestone__c.Late_Tasks_in_Tasks__c - Milestone1_Milestone__c.NameClean__c - Milestone1_Milestone__c.Okay_to_Reparent__c - Milestone1_Milestone__c.Open_Late_Blocked_Tasks__c - Milestone1_Milestone__c.Open_Tasks_in_Sub_Milestones__c - Milestone1_Milestone__c.Open_Tasks_in_Tasks__c - Milestone1_Milestone__c.Open_vs_Complete_Tasks__c - Milestone1_Milestone__c.Parent_Milestone__c - Milestone1_Milestone__c.Predecessor_Milestone__c - Milestone1_Milestone__c.Project_Kickoff_Offset__c - Milestone1_Milestone__c.Project__c - Milestone1_Milestone__c.Total_Actual_Expense__c - Milestone1_Milestone__c.Total_Actual_Hours__c - Milestone1_Milestone__c.Total_Blocked_Tasks__c - Milestone1_Milestone__c.Total_Complete_Tasks__c - Milestone1_Milestone__c.Total_Estimated_Expense__c - Milestone1_Milestone__c.Total_Estimated_Hours__c - Milestone1_Milestone__c.Total_Expense_Balance__c - Milestone1_Milestone__c.Total_Expense_Budget__c - Milestone1_Milestone__c.Total_Hours_Balance__c - Milestone1_Milestone__c.Total_Hours_Budget__c - Milestone1_Milestone__c.Total_Late_Tasks__c - Milestone1_Milestone__c.Total_Open_Tasks__c - Milestone1_Nag__c.Assigned_To_Running_User__c - Milestone1_Nag__c.Assigned_To__c - Milestone1_Nag__c.Deadline__c - Milestone1_Nag__c.Description__c - Milestone1_Nag__c.Link__c - Milestone1_Nag__c.Nag_Reason__c - Milestone1_Nag__c.Nag_Status__c - Milestone1_Nag__c.Parent_ID__c - Milestone1_Nag__c.Parent_Name__c - Milestone1_Nag__c.Parent_Owner_Id__c - Milestone1_Nag__c.Parent_Status__c - Milestone1_Nag__c.Parent_Type__c - Milestone1_Nag__c.Project_Milestone__c - Milestone1_Nag__c.Project_Task__c - Milestone1_Nag__c.Project__c - Milestone1_Project__c.Deadline__c - Milestone1_Project__c.Description__c - Milestone1_Project__c.Duration__c - Milestone1_Project__c.GoogleGanntUrl__c - Milestone1_Project__c.ImportID__c - Milestone1_Project__c.Kickoff__c - Milestone1_Project__c.Next_Project_Milestone_Due_Date__c - Milestone1_Project__c.Next_Project_Top_Milestone_Due_Date__c - Milestone1_Project__c.Number_of_Incomplete_Milestones__c - Milestone1_Project__c.Number_of_Incomplete_Top_Milestones__c - Milestone1_Project__c.Status_BudgetExpenseSummary__c - Milestone1_Project__c.Status_BudgetMiletoneEstimate__c - Milestone1_Project__c.Status_Image_HoursSummary__c - Milestone1_Project__c.Status_Image_OpenVComplete__c - Milestone1_Project__c.Status_Img_OpenLateBlocked__c - Milestone1_Project__c.Status_TasksOpenBlockedLate__c - Milestone1_Project__c.Status_TasksOpenComplete__c - Milestone1_Project__c.Status__c - Milestone1_Project__c.Total_Blocked_Task_Count__c - Milestone1_Project__c.Total_Complete_Task_Count__c - Milestone1_Project__c.Total_Expense_Budget__c - Milestone1_Project__c.Total_Expense_Budget_from_Milestones__c - Milestone1_Project__c.Total_Expense_Estimate__c - Milestone1_Project__c.Total_Expense_Incurred__c - Milestone1_Project__c.Total_Hours_Budget__c - Milestone1_Project__c.Total_Hours_Budget_from_Milestones__c - Milestone1_Project__c.Total_Hours_Estimate__c - Milestone1_Project__c.Total_Hours_Incurred__c - Milestone1_Project__c.Total_Late_Task_Count__c - Milestone1_Project__c.Total_Open_Task_Count__c - Milestone1_Settings__c.Auto_Follow_Complete_Task__c - Milestone1_Settings__c.Auto_Follow_Task__c - Milestone1_Settings__c.Auto_Unfollow_Reassignment__c - Milestone1_Settings__c.Default_Milestone_Alias__c - Milestone1_Settings__c.Report_Id_Blocked_Tasks_by_Project__c - Milestone1_Settings__c.Report_Id_My_Blocked_Tasks__c - Milestone1_Settings__c.Report_Id_My_Late_Tasks__c - Milestone1_Settings__c.Report_Id_My_Tasks_By_Priority_Project__c - Milestone1_Settings__c.Report_Id_My_Tasks_By_Project_Milesto__c - Milestone1_Settings__c.Report_Id_My_tasks_by_project__c - Milestone1_Settings__c.Report_Id_Open_Task_Status_by_Project__c - Milestone1_Settings__c.Report_Id_Overdue_Tasks_by_Project__c - Milestone1_Settings__c.Report_Id_Project_Milestone_Open_Task__c - Milestone1_Settings__c.Report_Id_Task_Status_By_Project__c - Milestone1_Task__c.Assigned_To__c - Milestone1_Task__c.Blocked_Reason__c - Milestone1_Task__c.Blocked__c - Milestone1_Task__c.Class__c - Milestone1_Task__c.Complete__c - Milestone1_Task__c.Days_Late_Formula__c - Milestone1_Task__c.Days_Late__c - Milestone1_Task__c.Description__c - Milestone1_Task__c.Due_Date__c - Milestone1_Task__c.Email_GUID__c - Milestone1_Task__c.Estimated_Expense__c - Milestone1_Task__c.Estimated_Hours__c - Milestone1_Task__c.Expense_Balance__c - Milestone1_Task__c.Hours_Balance__c - Milestone1_Task__c.ImportID__c - Milestone1_Task__c.Index_Helper__c - Milestone1_Task__c.Index__c - Milestone1_Task__c.Last_Email_Received__c - Milestone1_Task__c.Milestone_Grandparent__c - Milestone1_Task__c.Overall_Status__c - Milestone1_Task__c.OwnerId__c - Milestone1_Task__c.Predecessor_Task__c - Milestone1_Task__c.Priority__c - Milestone1_Task__c.ProjectId__c - Milestone1_Task__c.ProjectStatus__c - Milestone1_Task__c.Project_Milestone__c - Milestone1_Task__c.Project__c - Milestone1_Task__c.Short_ID__c - Milestone1_Task__c.Start_Date__c - Milestone1_Task__c.Task_Number__c - Milestone1_Task__c.Task_Stage__c - Milestone1_Task__c.Total_Expense__c - Milestone1_Task__c.Total_Hours__c - Milestone1_Time__c.Date__c - Milestone1_Time__c.Description__c - Milestone1_Time__c.Hours__c - Milestone1_Time__c.ImportID__c - Milestone1_Time__c.Incurred_By__c - Milestone1_Time__c.Project_Task__c - Project_Snapshot__c.Blocked_Task_Count__c - Project_Snapshot__c.Complete_Task_Count__c - Project_Snapshot__c.Date__c - Project_Snapshot__c.Expense_Budget__c - Project_Snapshot__c.Expense_Estimate__c - Project_Snapshot__c.Expense_Incurred__c - Project_Snapshot__c.Hours_Budget__c - Project_Snapshot__c.Hours_Estimate__c - Project_Snapshot__c.Hours_Incurred__c - Project_Snapshot__c.Incomplete_Milestones__c - Project_Snapshot__c.Incomplete_Top_Milestones__c - Project_Snapshot__c.Late_Task_Count__c - Project_Snapshot__c.Open_Task_Count__c - Project_Snapshot__c.Project_Name__c - Project_Snapshot__c.Status__c - CustomField - - - Milestone1_Expense__c - Milestone1_Log__c - Milestone1_Milestone__c - Milestone1_Nag__c - Milestone1_Project__c - Milestone1_Settings__c - Milestone1_Task__c - Milestone1_Time__c - Project_Snapshot__c - CustomObject - - - Milestone1_Getting_Started - CustomPageWebLink - - - Milestone1_Expense__c - Milestone1_Getting_Started - Milestone1_Import_Project_Template - Milestone1_Log__c - Milestone1_Milestone__c - Milestone1_Project__c - Milestone1_Summary - Milestone1_Task__c - Milestone1_Time__c - Milestone_Calendar - CustomTab - - - Milestones_PM_Dashboards - Milestones_PM_Dashboards/Milestones_PM_Individual_Dashboard - Milestones_PM_Dashboards/Milestones_PM_Project_Snapshots - Dashboard - - - Project_Management_Folder - Project_Management_Folder/LPM1_Starter_Project.xml - Project_Management_Folder/Starter_Project_LPM1a.xml - Document - - - Add A Task - Add A Task %28alias---task%29 - HomePageComponent - - - Milestone1_Expense__c-Project Expense Layout - Milestone1_Log__c-Project Log Layout - Milestone1_Milestone__c-Project Milestone Layout - Milestone1_Nag__c-Project Nag Layout - Milestone1_Project__c-Project Layout - Milestone1_Task__c-Project Task Layout - Milestone1_Time__c-Project Time Layout - Project_Snapshot__c-Project Snapshot Layout - Layout - - - Milestone1_Expense__c.All - Milestone1_Log__c.All - Milestone1_Milestone__c.All - Milestone1_Milestone__c.My_Milestones - Milestone1_Project__c.All - Milestone1_Task__c.All - Milestone1_Time__c.All - ListView - - - Milestone1_Milestone__c.nf_01I300000022xdvEAA_00N30000007czjLEAQ - Milestone1_Task__c.nf_01IU00000000WpxMAE_00NU0000000IK2lMAG - NamedFilter - - - Milestone_Project_Management - Milestone_Project_Management/Active_Projects_Open_Milestones - Milestone_Project_Management/Blocked_Task_Report - Milestone_Project_Management/Blocked_Tasks_by_Project - Milestone_Project_Management/Milestone_Task_Expenses_Summary - Milestone_Project_Management/Milestone_Times_Summary - Milestone_Project_Management/Milestones_and_Open_Tasks_by_Proj_LPM1 - Milestone_Project_Management/My_Blocked_Tasks_DB - Milestone_Project_Management/My_Incomplete_Tasks_By_Priority - Milestone_Project_Management/My_Incomplete_Tasks_By_Project - Milestone_Project_Management/My_Late_Tasks_DB - Milestone_Project_Management/My_Project_Hours_Week_DB - Milestone_Project_Management/My_Project_Tasks - Milestone_Project_Management/Open_Tasks_By_Project_LPM1 - Milestone_Project_Management/Overdue_Tasks_by_Project - Milestone_Project_Management/Project_Snapshot - Milestone_Project_Management/Project_Snapshot_List - Milestone_Project_Management/Project_Tasks_By_Assignee - Milestone_Project_Management/Snapshot_Matrix_Open_Tasks_by_Day - Milestone_Project_Management/Snapshot_Project_Date_Open_Tasks_DB - Milestone_Project_Management/Snapshots_Active_Project_Count_DB - Milestone_Project_Management/Snapshots_Total_Estimated_Task_Hours - Milestone_Project_Management/Summary_My_Blocked_Tasks_LPM1 - Milestone_Project_Management/Summary_My_Late_Tasks_LPM1 - Milestone_Project_Management/Tasks_By_Project_LPM1 - Milestone_Project_Management/User_Expense_Incurred - Milestone_Project_Management/User_Time_Incurred - Report - - - Milestone1_Milestones_Tasks - Milestone1_Projects - Milestone1_Projects_Milestones - Milestone1_Tasks - MilestoneTaskExp - Milestones_with_Tasks_with_Expenses - Milestones_with_Tasks_with_Times - Projects_Milestones_Tasks - ReportType - - - Milestone1_Charts - Milestone1_Resource_Bundle - Milestone1_Timeline - StaticResource - - - Milestone1_Milestone__c.Alias_must_not_contain_spaces - Milestone1_Milestone__c.CanNotAddSubmilestoneToParentCompleted - Milestone1_Milestone__c.CannotBeCompleteWithOpenTasks - Milestone1_Milestone__c.Deadline_within_project_boundaries - Milestone1_Milestone__c.KickoffDeadlineWithinParentBoundaries - Milestone1_Milestone__c.Kickoff_after_Predecessor_Deadline - Milestone1_Milestone__c.Kickoff_before_deadline - Milestone1_Milestone__c.Milestone_between_Project_duration - Milestone1_Milestone__c.Milestone_must_have_parent_record - Milestone1_Nag__c.Must_have_a_parent - Milestone1_Nag__c.Only_one_parent_allowed - Milestone1_Project__c.Kickoff_before_deadline - Milestone1_Project__c.Total_Expense_Budget_Negative_Numbers - Milestone1_Project__c.Total_Hours_Budget_Negative_Numbers - Milestone1_Task__c.CannotBeBlockedIfComplete - Milestone1_Task__c.CannotBeCompleteIfBlocked - Milestone1_Task__c.Due_Date_Greater_Than_Milestone_Deadline - Milestone1_Task__c.Due_Date_Smaller_Than_Milestone_Kickoff - Milestone1_Task__c.Must_be_blank_if_not_blocked - Milestone1_Task__c.Must_not_be_blank_if_blocked - Milestone1_Task__c.Start_Date_More_Than_Due_Date - Milestone1_Time__c.Hours_Not_Negative - Milestone1_Time__c.Validation_Time_Hours_Less_Than_24_Hours - ValidationRule - - - Milestone1_Milestone__c.Change_Project - Milestone1_Milestone__c.Move_to_New_Project - Milestone1_Project__c.Export_Template - Milestone1_Project__c.Import_Template - Milestone1_Project__c.Update - Milestone1_Task__c.Change_Milestone - Milestone1_Task__c.Move_to_New_Milestone - WebLink - 20.0 diff --git a/src/pages/Milestone1_Calendar_Large.page b/src/pages/Milestone1_Calendar_Large.page index becc973..f9183a3 100644 --- a/src/pages/Milestone1_Calendar_Large.page +++ b/src/pages/Milestone1_Calendar_Large.page @@ -27,7 +27,7 @@ OF THE POSSIBILITY OF SUCH DAMAGE. --> - + \ No newline at end of file diff --git a/src/pages/Milestone1_Charts_GanttMilestones.page b/src/pages/Milestone1_Charts_GanttMilestones.page index 91ae8cf..dcedbba 100644 --- a/src/pages/Milestone1_Charts_GanttMilestones.page +++ b/src/pages/Milestone1_Charts_GanttMilestones.page @@ -29,9 +29,9 @@ OF THE POSSIBILITY OF SUCH DAMAGE. Back + rendered="{!!allowView}" >{!$Label.Back} [Full View] + rendered="{!allowView}">{!$Label.FullView} \ No newline at end of file diff --git a/src/pages/Milestone1_Charts_GanttTasks.page b/src/pages/Milestone1_Charts_GanttTasks.page index 7b2d6df..d3aec99 100644 --- a/src/pages/Milestone1_Charts_GanttTasks.page +++ b/src/pages/Milestone1_Charts_GanttTasks.page @@ -29,10 +29,10 @@ OF THE POSSIBILITY OF SUCH DAMAGE. Back + rendered="{!!allowView}" >{!$Label.Back} [Full View] + rendered="{!allowView}">{!$Label.FullView} - + \ No newline at end of file diff --git a/src/pages/Milestone1_Clone_Milestone.page b/src/pages/Milestone1_Clone_Milestone.page index 1c1ca64..a4d14be 100644 --- a/src/pages/Milestone1_Clone_Milestone.page +++ b/src/pages/Milestone1_Clone_Milestone.page @@ -29,7 +29,7 @@ OF THE POSSIBILITY OF SUCH DAMAGE. extensions="Milestone1_Clone_Milestone_Controller"> - + @@ -39,7 +39,7 @@ OF THE POSSIBILITY OF SUCH DAMAGE. - - + - - - - + @@ -38,25 +38,25 @@ OF THE POSSIBILITY OF SUCH DAMAGE. - + - + - + - +
Your project could not successfully be exported to an XML document.{!$Label.YourProjectCouldNotSuccessfully}
The XML file for your project has been successfully created, and can be found in the My Personal Documents folder.{!$Label.TheXMLFileForYourProjectHasBeenSuccessfully}

Click here to view the XML file in the My Personal Documents folder.{!$Label.ToViewXML_FirstHalf} {!$Label.ToViewXML_SecondHalf}

Click here to return to your project.{!$Label.ToYourProject_FirstHalf} {!$Label.ToYourProject_SecondHalf}
diff --git a/src/pages/Milestone1_GettingStarted.page b/src/pages/Milestone1_GettingStarted.page index 970b295..0263563 100644 --- a/src/pages/Milestone1_GettingStarted.page +++ b/src/pages/Milestone1_GettingStarted.page @@ -29,37 +29,32 @@ OF THE POSSIBILITY OF SUCH DAMAGE. - + -

Next Steps

+

{!$Label.NextSteps}

-

Important: you must deploy Milestones before continuing. - If you have not done this, please visit Setup > App Setup > View Installed Packages, - click on Milestones PM and click on the deploy button.

+

{!$Label.Important}:

- +

{!$Label.YourNextFewSteps}

-

Your next few steps are easy.

+

1. {!$Label.InitializeYourConfiguration}

-

1. Initialize your configuration using the button below.

+

2. {!$Label.ViewTheGettingStartedProject}

-

2. View the "Getting Started" project created as part of your initial configuration.

- -

3. Start creating your first project.

+

3. {!$Label.StartCreatingYourFirstProject}

 

-

Getting Help

+

{!$Label.GettingHelp}

-

Milestones PM is unsupported. For community assistance with Milestones PM, please visit Salesforce Answers. - To submit ideas or issues, please visit Milestones PM on Github.

+

 

-

Community

+

{!$Label.Community}

-

Milestones PM is Open Source software. We welcome your issue reports, ideas, documentation, code tweaks and all other participation. - Learn more.

+

 

@@ -67,7 +62,7 @@ OF THE POSSIBILITY OF SUCH DAMAGE. -

Initial Configuration

+

{!$Label.InitialConfiguration}

 

@@ -79,18 +74,18 @@ OF THE POSSIBILITY OF SUCH DAMAGE. - +

 

-

Clicking the button will:

+

{!$Label.ClickingTheButtonWill}:

    -
  • Initialize custom app settings.
  • -
  • Import a default project that will help you with your next steps.
  • +
  • {!$Label.InitializeCustomAppSettings}
  • +
  • {!$Label.ImportDefaultProject}
@@ -100,15 +95,15 @@ OF THE POSSIBILITY OF SUCH DAMAGE.

 

-

Initialization Complete!

+

{!$Label.InitializationComplete}

-

You can now go to your project summary page to see the sample project we installed.
 

+

{!$Label.YouCanNowGoTo}
 

-

IMPORTANT

+

{!$Label.ImportantUpper}

-

Be sure to explore the sample project, "HOWTO: Get Started with Milestones PM". This sample project includes the remaining configuration steps as well as ideas on how you can get the most out of Milestones PM.

+

{!$Label.BeSureToExploreTheSampleProject} {!$Label.ThisSampleProjectIncludes}

-

Click Here: Project Summary Page to start using Milestones PM.

+

{!$Label.ClickHere}: {!$Label.ProjectSummary_FirstHalf} {!$Label.ProjectSummary_SecondHalf}

 

diff --git a/src/pages/Milestone1_Import_Project.page b/src/pages/Milestone1_Import_Project.page index 7f55f08..ff0ad95 100644 --- a/src/pages/Milestone1_Import_Project.page +++ b/src/pages/Milestone1_Import_Project.page @@ -31,17 +31,17 @@ OF THE POSSIBILITY OF SUCH DAMAGE. - + - + - + - + - + diff --git a/src/pages/Milestone1_Move_Milestone.page b/src/pages/Milestone1_Move_Milestone.page index ac48c4f..7fdfeb6 100644 --- a/src/pages/Milestone1_Move_Milestone.page +++ b/src/pages/Milestone1_Move_Milestone.page @@ -34,12 +34,12 @@ OF THE POSSIBILITY OF SUCH DAMAGE. - + - - @@ -49,7 +49,7 @@ OF THE POSSIBILITY OF SUCH DAMAGE. required="true"/>
- diff --git a/src/pages/Milestone1_Move_Milestone_Detail.page b/src/pages/Milestone1_Move_Milestone_Detail.page index 12ec9f1..fc52339 100644 --- a/src/pages/Milestone1_Move_Milestone_Detail.page +++ b/src/pages/Milestone1_Move_Milestone_Detail.page @@ -33,12 +33,12 @@ OF THE POSSIBILITY OF SUCH DAMAGE. - + - - @@ -48,7 +48,7 @@ OF THE POSSIBILITY OF SUCH DAMAGE. required="true"/>
- diff --git a/src/pages/Milestone1_Move_Task.page b/src/pages/Milestone1_Move_Task.page index 4e82792..e95d036 100644 --- a/src/pages/Milestone1_Move_Task.page +++ b/src/pages/Milestone1_Move_Task.page @@ -34,12 +34,12 @@ OF THE POSSIBILITY OF SUCH DAMAGE. - + - - @@ -49,7 +49,7 @@ OF THE POSSIBILITY OF SUCH DAMAGE. required="true"/> - - + - - @@ -48,10 +48,10 @@ OF THE POSSIBILITY OF SUCH DAMAGE. required="true"/> - - diff --git a/src/pages/Milestone1_One_Line_Create.page b/src/pages/Milestone1_One_Line_Create.page index c29f23f..cb2e70c 100644 --- a/src/pages/Milestone1_One_Line_Create.page +++ b/src/pages/Milestone1_One_Line_Create.page @@ -43,7 +43,7 @@ OF THE POSSIBILITY OF SUCH DAMAGE. - + @@ -56,7 +56,7 @@ OF THE POSSIBILITY OF SUCH DAMAGE. - + diff --git a/src/pages/Milestone1_Post_Install_Instruction.page b/src/pages/Milestone1_Post_Install_Instruction.page index aa4839c..1ae1d69 100644 --- a/src/pages/Milestone1_Post_Install_Instruction.page +++ b/src/pages/Milestone1_Post_Install_Instruction.page @@ -26,16 +26,16 @@ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISE OF THE POSSIBILITY OF SUCH DAMAGE. --> -

Milestone Application Post Installation Instructions

-

To configure the Email To Task Service:

-1. Go to Setup -> Develop -> Email Services -2. Click "New Email Service". -3. Give a Email Service Name "Email To Milestone Task". -4. Select the Apex Class "Milestone1_Email_Handler". -5. Set "Accept Attachments" to "All". -6. Set "Accept Email From" to "All Email Addresses". -7. Check "Active" -8. Set All Failure Response options to 'Bounce Message'. -9. Click "Save and New Email Address". -10. Setup A New Email Address. +

{!$Label.MilestoneApplicationPostInstallation}

+

{!$Label.ToConfigureTheEmail}:

+

1. {!$Label.GoToSetupDevelopEmailServices}

+

2. {!$Label.ClickNewEmailService}

+

3. {!$Label.GiveEmailServiceName}

+

4. {!$Label.SelectTheApexClass}

+

5. {!$Label.SetAcceptAttachmentsToAll}

+

6. {!$Label.SetAcceptEmailFromToAllEmail}

+

7. {!$Label.CheckActive}

+

8. {!$Label.SetAllFailureResponseOptions}

+

9. {!$Label.ClickSaveAndNewEmailAddress}

+

10. {!$Label.SetupNewEmailAddress}

\ No newline at end of file diff --git a/src/pages/Milestone1_SinglePageMenu.page b/src/pages/Milestone1_SinglePageMenu.page index ccf65d5..95c49df 100644 --- a/src/pages/Milestone1_SinglePageMenu.page +++ b/src/pages/Milestone1_SinglePageMenu.page @@ -1,18 +1,18 @@ - +
    -
  • Getting Started
  • -
  • Summary
  • -
  • Projects
  • -
  • Milestones
  • -
  • Tasks
  • -
  • Times
  • -
  • Expenses
  • -
  • Logs
  • -
  • Calendar
  • -
  • Import Template
  • +
  • {!$Label.GettingStarted}
  • +
  • {!$Label.Summary}
  • +
  • {!$Label.Projects}
  • +
  • {!$Label.Milestones}
  • +
  • {!$Label.Tasks}
  • +
  • {!$Label.Times}
  • +
  • {!$Label.Expenses}
  • +
  • {!$Label.Logs}
  • +
  • {!$Label.Calendar}
  • +
  • {!$Label.ImportTemplate}
diff --git a/src/pages/Milestone1_Summary2.page b/src/pages/Milestone1_Summary2.page index 8e1b65f..600500d 100644 --- a/src/pages/Milestone1_Summary2.page +++ b/src/pages/Milestone1_Summary2.page @@ -87,7 +87,7 @@ jQuery(document).ready(function() { -

No projects!

+

{!$Label.NoProjects}

@@ -100,7 +100,7 @@ jQuery(document).ready(function() { - + @@ -110,7 +110,7 @@ jQuery(document).ready(function() { - + @@ -149,18 +149,20 @@ jQuery(document).ready(function() { - + + + - +   - +   - +   - + @@ -178,31 +180,32 @@ jQuery(document).ready(function() { + - +   - +   - +   - +   - +   - + diff --git a/src/pages/Milestone1_TestProjectPage.page b/src/pages/Milestone1_TestProjectPage.page index 35055c7..c137c0e 100644 --- a/src/pages/Milestone1_TestProjectPage.page +++ b/src/pages/Milestone1_TestProjectPage.page @@ -29,12 +29,12 @@ OF THE POSSIBILITY OF SUCH DAMAGE. -

Milestones:

-

Tasks / Milestone:

+

{!$Label.TestProjectMilestones}:

+

{!$Label.TasksMilestone}:

-

+

-

+

diff --git a/src/pages/Milestone1_Timeline.page b/src/pages/Milestone1_Timeline.page index 3efb4cb..a37f475 100644 --- a/src/pages/Milestone1_Timeline.page +++ b/src/pages/Milestone1_Timeline.page @@ -38,7 +38,7 @@ OF THE POSSIBILITY OF SUCH DAMAGE.
Loading, please wait...
+ style="height:250px; border: 1px solid #aaa" >{!$Label.Loading}