10
10
import com .topcoder .direct .services .view .action .AbstractAction ;
11
11
import com .topcoder .direct .services .view .action .FormAction ;
12
12
import com .topcoder .direct .services .view .action .ViewAction ;
13
+ import com .topcoder .direct .services .view .dto .ActivityDTO ;
13
14
import com .topcoder .direct .services .view .dto .TcJiraIssue ;
14
15
import com .topcoder .direct .services .view .dto .contest .ContestBriefDTO ;
15
16
import com .topcoder .direct .services .view .dto .contest .ContestHealthDTO ;
@@ -235,6 +236,11 @@ public class ProjectOverviewAction extends AbstractAction implements FormAction<
235
236
*/
236
237
private boolean export = false ;
237
238
239
+ /**
240
+ * The member profile url base.
241
+ */
242
+ private String memberProfileUrlBase ;
243
+
238
244
/**
239
245
* Gets the project service facade.
240
246
*
@@ -497,6 +503,23 @@ public String getProjectStatsAjax() {
497
503
498
504
// get and set dashboard stats
499
505
setDashboardProjectStat ();
506
+
507
+ Map <String , Object > result = new HashMap <String , Object >();
508
+ result .put ("draftContestsNumber" , projectStats .getDraftContestsNumber ());
509
+ result .put ("pipelineContestsNumber" , projectStats .getPipelineContestsNumber ());
510
+ result .put ("runningContestsNumber" , projectStats .getRunningContestsNumber ());
511
+ result .put ("finishedContestsNumber" , projectStats .getFinishedContestsNumber ());
512
+ result .put ("cancelledNumber" , viewData .getDashboardProjectStat ().getCancelledNumber ());
513
+ result .put ("completedNumber" , viewData .getDashboardProjectStat ().getCompletedNumber ());
514
+ result .put ("totalMemberCost" , viewData .getDashboardProjectStat ().getTotalMemberCost ());
515
+ result .put ("averageMemberCostPerContest" , viewData .getDashboardProjectStat ().getAverageMemberCostPerContest ());
516
+ result .put ("totalContestFee" , viewData .getDashboardProjectStat ().getTotalContestFee ());
517
+ result .put ("averageContestFeePerContest" , viewData .getDashboardProjectStat ().getAverageContestFeePerContest ());
518
+ result .put ("totalProjectCost" , viewData .getDashboardProjectStat ().getTotalProjectCost ());
519
+ result .put ("averageContestDuration" , viewData .getDashboardProjectStat ().getAverageContestDuration ());
520
+ result .put ("averageFulfillment" , viewData .getDashboardProjectStat ().getAverageFulfillment ());
521
+
522
+ setResult (result );
500
523
} catch (Throwable error ) {
501
524
if (getModel () != null ) {
502
525
setResult (error );
@@ -557,6 +580,28 @@ public String getProjectActivitiesAjax() {
557
580
LatestProjectActivitiesDTO latestActivities
558
581
= DataProvider .getLatestActivitiesForProject (DirectUtils .getTCSubjectFromSession ().getUserId (), getFormData ().getProjectId ());
559
582
viewData .setLatestProjectActivities (latestActivities );
583
+
584
+ Map <String , List <Map <String , Object >>> m = new HashMap <String , List <Map <String , Object >>>();
585
+ for (Map .Entry <ContestBriefDTO , List <ActivityDTO >> entry : latestActivities .getActivities ().entrySet ()) {
586
+ List <Map <String , Object >> activities = new ArrayList <Map <String , Object >>();
587
+ for (ActivityDTO activityDTO : entry .getValue ()) {
588
+ Map <String , Object > activity = new HashMap <String , Object >();
589
+ activity .put ("title" , entry .getKey ().getTitle ());
590
+ activity .put ("typeShortName" , activityDTO .getType ().getShortName ());
591
+ activity .put ("typeName" , activityDTO .getType ().getName ());
592
+ activity .put ("typeActionText" , activityDTO .getType ().getActionText ());
593
+ activity .put ("contestId" , activityDTO .getContest ().getId ());
594
+ activity .put ("originatorId" , activityDTO .getOriginatorId ());
595
+ activity .put ("originatorHandle" , activityDTO .getOriginatorHandle ());
596
+ activity .put ("date" , activityDTO .getDate ());
597
+ activity .put ("memberProfileUrlBase" , getMemberProfileUrlBase ());
598
+
599
+ activities .add (activity );
600
+ }
601
+ m .put (Long .toString (entry .getKey ().getId ()), activities );
602
+ }
603
+
604
+ setResult (m );
560
605
} catch (Throwable error ) {
561
606
if (getModel () != null ) {
562
607
setResult (error );
@@ -674,7 +719,7 @@ private void setProjectGeneralInfo(ProjectData project) throws Exception {
674
719
675
720
676
721
getViewData ().getProjectGeneralInfo ().setActualCost (actualCost );
677
-
722
+
678
723
DataProvider .setProjectGeneralInfo (getViewData ().getProjectGeneralInfo ());
679
724
// set project permission info
680
725
setProjectPermissionInfo ();
@@ -696,11 +741,11 @@ private void setProjectPermissionInfo() throws Exception {
696
741
final List <Permission > permissionsByProject = getPermissionServiceFacade ().getPermissionsByProject (currentUser , getFormData ().getProjectId ());
697
742
698
743
ProjectPermissionInfoDTO permissionInfo = new ProjectPermissionInfoDTO ();
699
- boolean hasFullPermission = false ;
700
-
744
+ boolean hasFullPermission = false ;
745
+
701
746
if (permissionsByProject != null ) {
702
- for (Permission p : permissionsByProject ) {
703
-
747
+ for (Permission p : permissionsByProject ) {
748
+
704
749
if (p .getPermissionType ().getPermissionTypeId () == PermissionType .PERMISSION_TYPE_PROJECT_REPORT ) {
705
750
permissionInfo .setReportPermissionNumber (permissionInfo .getReportPermissionNumber () + 1 );
706
751
} else if (p .getPermissionType ().getPermissionTypeId () == PermissionType .PERMISSION_TYPE_PROJECT_READ ) {
@@ -709,10 +754,10 @@ private void setProjectPermissionInfo() throws Exception {
709
754
permissionInfo .setWritePermissionNumber (permissionInfo .getWritePermissionNumber () + 1 );
710
755
} else if (p .getPermissionType ().getPermissionTypeId () == PermissionType .PERMISSION_TYPE_PROJECT_FULL ) {
711
756
permissionInfo .setFullPermissionNumber (permissionInfo .getFullPermissionNumber () + 1 );
712
- if (p .getUserId () == currentUser .getUserId ())
713
- {
714
- hasFullPermission = true ;
715
- }
757
+ if (p .getUserId () == currentUser .getUserId ())
758
+ {
759
+ hasFullPermission = true ;
760
+ }
716
761
}
717
762
}
718
763
}
@@ -757,4 +802,22 @@ public UserService getUserService() {
757
802
public void setUserService (UserService userService ) {
758
803
this .userService = userService ;
759
804
}
805
+
806
+ /**
807
+ * Gets the memberProfileUrlBase.
808
+ *
809
+ * @return the memberProfileUrlBase.
810
+ */
811
+ public String getMemberProfileUrlBase () {
812
+ return memberProfileUrlBase ;
813
+ }
814
+
815
+ /**
816
+ * Sets the memberProfileUrlBase.
817
+ *
818
+ * @param memberProfileUrlBase the memberProfileUrlBase.
819
+ */
820
+ public void setMemberProfileUrlBase (String memberProfileUrlBase ) {
821
+ this .memberProfileUrlBase = memberProfileUrlBase ;
822
+ }
760
823
}
0 commit comments