Index: Themes/default/Trunk/stylesheets/project/calendar.css =================================================================== --- Themes/default/Trunk/stylesheets/project/calendar.css (revision 0) +++ Themes/default/Trunk/stylesheets/project/calendar.css (revision 0) @@ -0,0 +1,39 @@ +.calendar th { + width: 14%; + text-align: center; +} + +.calendar th.weekend { + background-color: #c8d7ff; +} + +.calendar td { + background-color: #eee; +} + +.calendar .date { + margin-bottom: 4px; + padding-right: 4px; + text-align: right; + font-weight: bold; +} + +.calendar td.weekend .date { + background-color: #c8d7ff; +} + +.calendar td.weekday .date { + background-color: #d9e8ff; +} + +.calendar .month-nav { + font-weight: bold; +} + +.calendar .month-nav .prev-month { + float: left; +} + +.calendar .month-nav .next-month { + float: right; +} Index: ProjectPier/Trunk/language/en_us/errors.php =================================================================== --- ProjectPier/Trunk/language/en_us/errors.php (revision 145) +++ ProjectPier/Trunk/language/en_us/errors.php (working copy) @@ -12,6 +12,7 @@ // General 'invalid email address' => 'Email address format is not valid', + 'id missing' => 'required id value is missing', // Company validation errors 'company name required' => 'Company / organization name is required', @@ -32,7 +33,7 @@ 'invalid upload type' => 'Invalid file type. Allowed types are %s', 'invalid upload dimensions' => 'Invalid image dimensions. Max size is %sx%s pixels', 'invalid upload size' => 'Invalid image size. Max size is %s', - 'invalid upload failed to move' => 'Failed to move uploaded file', + 'invalid upload failed to move' => 'Failed to move uplaoded file', // Registration form 'terms of services not accepted' => 'In order to create an account you need to read and accept our terms of services', @@ -42,8 +43,8 @@ 'failed to load project' => 'Failed to load active project', // Login form - 'username value missing' => 'Please enter your username', - 'password value missing' => 'Please enter your password', + 'username value missing' => 'Please insert your username', + 'password value missing' => 'Please insert your password', 'invalid login data' => 'Failed to log you in. Please check your login data and try again', // Add project form @@ -82,7 +83,7 @@ // Validate project folder 'folder name required' => 'Folder name is required', - 'folder name unique' => 'Folder name needs to be unique in this project', + 'folder name unique' => 'Folder name need to be unique in this project', // Validate add / edit file form 'folder id required' => 'Please select folder', @@ -101,7 +102,7 @@ // Mass mailer 'massmailer subject required' => 'Message subject is required', 'massmailer message required' => 'Message body is required', - 'massmailer select recipients' => 'Please select users that will receive this email', + 'massmailer select recepients' => 'Please select users that will receive this email', ); // array Index: ProjectPier/Trunk/language/en_us/general.php =================================================================== --- ProjectPier/Trunk/language/en_us/general.php (revision 145) +++ ProjectPier/Trunk/language/en_us/general.php (working copy) @@ -117,6 +117,14 @@ 'month 10' => 'October', 'month 11' => 'November', 'month 12' => 'December', + + 'dow 1' => 'Monday', + 'dow 2' => 'Tuesday', + 'dow 3' => 'Wednesday', + 'dow 4' => 'Thursday', + 'dow 5' => 'Friday', + 'dow 6' => 'Saturday', + 'dow 7' => 'Sunday', ); // array ?> Index: ProjectPier/Trunk/language/en_us/actions.php =================================================================== --- ProjectPier/Trunk/language/en_us/actions.php (revision 145) +++ ProjectPier/Trunk/language/en_us/actions.php (working copy) @@ -63,6 +63,7 @@ 'add milestone' => 'Add milestone', 'edit milestone' => 'Edit milestone', 'delete milestone' => 'Delete milestone', + 'view calendar' => 'View calendar', // People 'update people' => 'Update', Index: ProjectPier/Trunk/application/controllers/MilestoneController.class.php =================================================================== --- ProjectPier/Trunk/application/controllers/MilestoneController.class.php (revision 145) +++ ProjectPier/Trunk/application/controllers/MilestoneController.class.php (working copy) @@ -362,6 +362,31 @@ $this->redirectToReferer($milestone->getViewUrl()); } // open + /** + * Show calendar view milestone page + * + * @access public + * @param void + * @return null + */ + function calendar() { + $this->addHelper('textile'); + + $project = active_project(); + $id = get_id(); + if (strlen($id) == 0) { + $id = gmdate('Ym'); + } + if (preg_match('/^(\d{4})(\d{2})$/', $id, $matches)) { + tpl_assign('year', $matches[1]); + tpl_assign('month', $matches[2]); + } else { + flash_error(lang('id missing')); + $this->redirectToReferer(get_url('milestone')); + } + tpl_assign('milestones', $project->getMilestones()); + } // calendar + } // MilestoneController ?> Index: ProjectPier/Trunk/application/views/milestone/calendar.php =================================================================== --- ProjectPier/Trunk/application/views/milestone/calendar.php (revision 0) +++ ProjectPier/Trunk/application/views/milestone/calendar.php (revision 0) @@ -0,0 +1,135 @@ +getName())) + )); + if (ProjectMilestone::canAdd(logged_user(), active_project())) { + add_page_action(lang('add milestone'), get_url('milestone', 'add')); + } // if + add_stylesheet_to_page('project/calendar.css'); + +?> + +
| + | + | + | + | + | + | + |
|---|---|---|---|---|---|---|
| + + |
+
+
+
|
+
+
+ |||||
| + + |