-
Notifications
You must be signed in to change notification settings - Fork 68
/
Copy pathProjectForm.php
117 lines (108 loc) · 3.92 KB
/
ProjectForm.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?
$project = $project ?? new Project();
$managers = User::GetAllByCanManageProjects();
$reviewers = User::GetAllByCanReviewProjects();
$pastProducers = User::GetNamesByHasProducedProject();
$areFieldsRequired = $areFieldsRequired ?? true;
$isEditForm = $isEditForm ?? false;
?>
<? if(!$isEditForm){ ?>
<input type="hidden" name="project-ebook-id" value="<?= $project->EbookId ?? '' ?>" />
<? } ?>
<datalist id="editors">
<? foreach($pastProducers as $row){ ?>
<option value="<?= Formatter::EscapeHtml($row->ProducerName) ?>"><?= Formatter::EscapeHtml($row->ProducerName) ?></option>
<? } ?>
</datalist>
<label class="icon user">
<span>Producer name</span>
<input
type="text"
name="project-producer-name"
list="editors"
<? if($areFieldsRequired){ ?>
required="required"
<? } ?>
value="<?= Formatter::EscapeHtml($project->ProducerName ?? '') ?>"
/>
</label>
<label>
<span>Producer Email</span>
<input
type="email"
name="project-producer-email"
value="<?= Formatter::EscapeHtml($project->ProducerEmail) ?>"
/>
</label>
<label class="icon user">
<span>Manager</span>
<? if(!$isEditForm){ ?>
<span>Leave blank to auto-assign.</span>
<? } ?>
<span>
<select name="project-manager-user-id">
<? if(!$isEditForm){ ?>
<option value=""> </option>
<? } ?>
<? foreach($managers as $manager){ ?>
<option value="<?= $manager->UserId ?>"<? if(isset($project->ManagerUserId) && $project->ManagerUserId == $manager->UserId){ ?> selected="selected"<? } ?>><?= Formatter::EscapeHtml($manager->Name) ?></option>
<? } ?>
</select>
</span>
</label>
<label class="icon user">
<span>Reviewer</span>
<? if(!$isEditForm){ ?>
<span>Leave blank to auto-assign.</span>
<? } ?>
<span>
<select name="project-reviewer-user-id">
<? if(!$isEditForm){ ?>
<option value=""> </option>
<? } ?>
<? foreach($reviewers as $reviewer){ ?>
<option value="<?= $reviewer->UserId ?>"<? if(isset($project->ReviewerUserId) && $project->ReviewerUserId == $reviewer->UserId){ ?> selected="selected"<? } ?>><?= Formatter::EscapeHtml($reviewer->Name) ?></option>
<? } ?>
</select>
</span>
</label>
<label class="icon meter">
<span>Status</span>
<span>
<select name="project-status">
<option value="<?= Enums\ProjectStatusType::InProgress->value ?>"<? if($project->Status == Enums\ProjectStatusType::InProgress){?> selected="selected"<? } ?>>In progress</option>
<option value="<?= Enums\ProjectStatusType::AwaitingReview->value ?>"<? if($project->Status == Enums\ProjectStatusType::AwaitingReview){?> selected="selected"<? } ?>>Awaiting review</option>
<option value="<?= Enums\ProjectStatusType::Reviewed->value ?>"<? if($project->Status == Enums\ProjectStatusType::Reviewed){?> selected="selected"<? } ?>>Reviewed</option>
<option value="<?= Enums\ProjectStatusType::Stalled->value ?>"<? if($project->Status == Enums\ProjectStatusType::Stalled){?> selected="selected"<? } ?>>Stalled</option>
<option value="<?= Enums\ProjectStatusType::Completed->value ?>"<? if($project->Status == Enums\ProjectStatusType::Completed){?> selected="selected"<? } ?>>Completed</option>
<option value="<?= Enums\ProjectStatusType::Abandoned->value ?>"<? if($project->Status == Enums\ProjectStatusType::Abandoned){?> selected="selected"<? } ?>>Abandoned</option>
</select>
</span>
</label>
<label>
<span>Automatically update status</span>
<input type="hidden" name="project-is-status-automatically-updated" value="false" />
<input
type="checkbox"
name="project-is-status-automatically-updated"
<? if($project->IsStatusAutomaticallyUpdated){ ?>checked="checked"<? } ?>
/>
</label>
<label>
<span>VCS URL</span>
<input
type="url"
name="project-vcs-url"
autocomplete="off"
value="<?= Formatter::EscapeHtml($project->VcsUrl ?? '') ?>"
/>
</label>
<label>
<span>Discussion URL</span>
<input
type="url"
name="project-discussion-url"
autocomplete="off"
value="<?= Formatter::EscapeHtml($project->DiscussionUrl) ?>"
/>
</label>