{% extends "base.html.twig" %} {% block newStyles %} {% endblock %} {% block title "Manage Project" %} {% block content %}
{% if project is not null %}

{{ project.name }}

{% set id = project.id %} {% set currency = project.currency %}
Edit {% if project.getStatusLabel() == "Open" %} Close {% endif %}
{% if organtype == ORGAN_TYPE_FRONTLINE %}
Period {{ project.getStartsOn|date(date_format) ~ ' to ' ~ project.getEndsOn|date(date_format) }}
Currency{{ currency }}
Exchange Rate{{ project.exchangeRate|number_format(2) }}
Mode of Operation{{ project.getModeLabel() }}
Team {% for member in team %} {{ member.member.fullname }}
{% endfor %}
Status {{ project.getStatusLabel() }}
{% for id, detail in data %} {% endfor %}
Expected vs Received
ClientExpected ({{ currency }}) Received ({{ currency }}) Balance ({{ currency }})
{{ detail.name }} {{ detail.exp|number_format(2) }} {{ detail.rec|number_format(2) }} {{ detail.bal|number_format(2) }}
{% else %}
Client(s){{ project.getClientDetails() }}
Project Title{{ project.name }}
Project Number{{ project.number }}
Country{{ project.getCountryName() }}
Budget{{ currency ~ ' ' ~ project.budget|number_format }}
Status{{ project.getStatusLabel() }}
Tender Type{{ project.getTenderTypeLabel() }}
Grant Role{{ project.getGrantRoleLabel() }}
Expected Duration (in Years){{ project.duration }}
Expected Start Date {% if project.startsOn is not null %} {{ project.startsOn|date(date_format) }} {% endif %}
Deadline {% if project.extDeadline is not null %} {{ project.extDeadline|date(date_format) }} {% endif %}
Internal Deadline {% if project.intDeadline is not null %} {{ project.intDeadline|date(date_format) }} {% endif %}
Timesheet Template{{ project.getTsTemplateLabel() }}
Description{{ project.description|raw }}
Reference Number{{ project.notes }}
{% endif %} {{ include('AlsuiteFinanceBundle:Project:del.html.twig', {'id': id, 'action': 'Delete', 'object': 'Project', 'route': path('project_del', {'id': id})}) }}
{% if organtype == ORGAN_TYPE_FRONTLINE %}
Add
{% for deadline in deadlines %} {% set did = deadline.id %} {% endfor %}
DateDetailsAlert Days
{{ deadline.deadline|date(date_format) }} {{ deadline.details }} {{ deadline.daysOfAlerts }} Edit Delete {{ include('AlsuiteComBundle:Deadline:del.html.twig', {'id': did, 'action': 'Delete', 'object': 'Project Deadline', 'route': path('deadline_delete', {'id': did}), 'modal': 'date'}) }}
Add
{% for fundsExpected in project.getContacts() if fundsExpected.type == TYPE_FUNDS_EXPECTED %} {% set fid = fundsExpected.id %} {% else %} {% endfor %}
ClientTotal Expected ({{ currency }})NotesDue DateActions
{{ fundsExpected.contact.getName() }} {{ fundsExpected.amount|number_format(2) }} {{ fundsExpected.notes }}{{ fundsExpected.dueDate|date(date_format) }} Edit Delete {{ include('AlsuiteFinanceBundle:Project:delFundsExpected.html.twig', {'id': fid, 'action': 'Delete', 'object': 'Funds Expected', 'route': path('funds_expected_del', {'id': fid}), 'modal': 'fundsExp'}) }}
No funds expected records have been added yet.
Add
{% for invoice in project.getInvoices() %} {% set invId = invoice.id %} {% else %} {% endfor %}
ClientDue Date Amount ({{ currency }}) Paid ({{ currency }})Status Terms & NotesActions
{{ invoice.client.getName() }} {{ invoice.dueDate|date(date_format) }} {{ invoice.getTotalAmountWithTaxes()|number_format(2) }} {{ invoice.getTotalAmountPaid()|number_format(2) }} {{ invoice.getStatusLabel() }} {% if invoice.terms is not null %} {{ invoice.terms }}

{% endif %} {{ invoice.notes }}
View
No invoices have been created yet.
Receive Funds
{% for contributor in project.getContributors() %} {% set cid = contributor.getId() %} {% else %} {% endfor %}
ClientReceived OnAmount ({{ currency }})Actions
{{ contributor.getDonor().getName() }} {{ contributor.getReceivedOn()|date(date_format) }} {{ contributor.getAmount()|number_format(2) }} Edit Delete {{ include('AlsuiteFinanceBundle:Project:delContributor.html.twig', {'id': cid, 'action': 'Delete', 'object': 'contributor', 'route': path('contributor_del', {'id': cid}), 'modal': 'client'}) }}
No funds receipt records have been added yet.
Add
{% for budget in project.getBudgets() %} {% set bid = budget.getId() %} {% else %} {% endfor %}
Start DateEnd DateStatusAmountActions
{{ budget.getStartsOn()|date(date_format) }} {{ budget.getEndsOn()|date(date_format) }} {{ budget.getStatus() }} {{ organCurrency }} {{ budget.getAmount()|number_format(2) }} Edit Delete {{ include('AlsuiteFinanceBundle:Budget:del.html.twig', {'id': bid, 'action': 'Delete', 'object': 'budget', 'route': path('budget_del', {'id': bid}),'modal': 'budget'}) }}
No budgets have been created under this project yet.
{% else %}
{% if budget is not null %}
{% else %}
Create
{% endif %} {% for cat,items in spreads.items %} {% for item in items %} {% endfor %} {% else %} {% endfor %} {% for item in spreads.indirectCostItems %} {% else %} {% endfor %}
DetailsUnitUnitsRate ({{ currency }})Margin (%)Unit Sale ({{ currency }})Effort (%)Total Cost ({{ currency }})Total Margin ({{ currency }})Total Sale({{ currency }})
{{ cat }}
{{ item.details }} {{ item.unit }} {{ item.units }} {{ item.rate|number_format }} {{ item.marginPerUnit|number_format }} {{ item.salePerUnit|number_format }} {{ item.loe }} {{ item.itemCost|number_format }} {{ item.itemMargin|number_format }} {{ item.itemSale|number_format }}
No budget lines have been created under this project yet.
Totals (excl Indirect Costs) {{ spreads.ettls.ttlCost|number_format() }} {{ spreads.ettls.ttlMargin|number_format() }} {{ spreads.ettls.ttlSale|number_format() }}
Indirect Costs
{{ item.details }} {{ item.unit }} {{ item.marginPerUnit|number_format }} {{ item.itemCost|number_format }} {{ item.itemSale|number_format }}
There are no indirect cost items at the moment
Totals (incl Indirect Costs) {{ spreads.ittls.ttlCost|number_format() }} {# spreads.ettls.ttlMargin|number_format() #} {{ spreads.ittls.ttlSale|number_format() }}
Add Expert Position
{% for position in project.positions %}

{% if position.budgetLine is not null %} {{ position.budgetLine.details }} {% else %} {{ position.title }} {% endif %}

Edit Search & Add Experts
{% for linked in position.experts %} {% set expert = linked.expert %}
{{ linked.getStatusLabel() }}
{{ expert.getTitleLabel() ~ ' ' ~ expert.firstname ~ ' ' ~ expert.lastname }}
E-Mail: {{ expert.email }}
Mobile: {{ expert.phone }}
Skype: {{ expert.skype }}
Change Status View Expert Details {% if linked.status == EXPERT_CONTRACTED %} Add Contract {% endif %}
{% else %} Please search and add experts for this position. {% endfor %}
{% else %} There are no positions highlighted under this project currently. {% endfor %}
{% if message is null %} {% set note = constant('Alsuite\\ExpertsBundle\\Entity\\ExpertMessage::TYPE_NOTE') %} {% set email = constant('Alsuite\\ExpertsBundle\\Entity\\ExpertMessage::TYPE_EMAIL') %}
Add Note Send Email
{% for com in coms %} {% else %} {% endfor %}
TypeExpertSubjectLast ContactLast Update
{{ com.getTypeLabel() }} {{ com.expert.fullname }} {{ com.subject }} {{ com.getLastContactBy() }} {{ com.getLastContactOn()|date(date_format) }}
There are currently no messages or notes.
{% else %}
Back to List
 

{{ message.subject }}


({{ message.counter ~ ' messages' }})
{% if message.isANote() %}
{{ message.addedOn|date(date_format) }}
{{ message.getTypeLabel() }}
Author: {{ message.addedBy.getFullname() }}

{{ message.details|raw }}
{% else %} {% for child in message.children %} {% endfor %}
  Write a Reply
{{ child.addedOn|date(date_format) }}
{{ child.getTypeLabel() }}
From: {% if child.addedBy is null %} {{ child.sender }} {% else %} {{ child.addedBy.fullname }} {% endif %}
Sent: {{ child.addedOn|date('d-M Y H:i:s') }}

{{ child.details|raw }} {% for doc in child.attachments %} {% set filepath = app.request.schemeAndHttpHost ~ '/uploads/' ~ doc.path %} {{ doc.name }}
{% endfor %}
{{ message.addedOn|date(date_format) }}
{{ message.getTypeLabel() }}
From: {{ message.addedBy.fullname }}
Sent: {{ message.addedOn|date('d-M Y H:i:s') }}

{{ message.details|raw }} {% for doc in message.attachments %} {% set filepath = app.request.schemeAndHttpHost ~ '/uploads/' ~ doc.path %} {{ doc.name }}
{% endfor %}
{% endif %} {% endif %}
{% for comment in comments %} {% else %} {% endfor %}
  Write a new Comment
{{ comment.createdOn|date(date_format) }} Expert: {{ comment.expert.fullname }}
Author: {{ comment.author.fullname }}
{# if comment.project is not null %} Project: {{ comment.project.name }}
{% endif #}
{{ comment.comment|raw }} {% if comment.isCommentCreator(app.user) %} Edit {% endif %}
  There are no comments currently.
Add
{% for outcome in project.outcomes %} {% set oid = outcome.id %} {% endfor %}
Description
{{ outcome.outcome }} Edit Delete Add Outputs {{ include('AlsuiteProjectBundle:Outcome:del.html.twig', {'id': oid, 'action': 'Delete', 'object': 'Outcome', 'route': path('outcome_del', {'id': oid}), 'modal': 'outcome'}) }}
Add
{% for output in outputs %} {% set opid = output.id %} {% endfor %}
OutcomeOutputWeightPeriod
{% if output.outcome is not null %} {{ output.outcome.outcome }} {% endif %} {{ output.output }} {{ output.weight }} Edit Delete Add Indicators Add Activity Blocks {{ include('AlsuiteProjectBundle:StrategicPlanOutput:del.html.twig', {'id': opid, 'action': 'Delete', 'object': 'Output', 'modal': 'output', 'route': path('output_del', {'id': opid})}) }}
{% for output in outputs %} {% for ind in output.indicators %} {% set oind = ind.id %} {% endfor %} {% endfor %}
Output NameTracked WeightBaseline Target
{{ output.output }} {{ ind.details }} {{ ind.getTrackingTypeLabel() }} {{ ind.weight }} {{ ind.baseline }} {{ ind.target }} Edit Delete {{ include('AlsuiteProjectBundle:OutputIndicator:del.html.twig', {'id': oind, 'action': 'Delete', 'object': 'Indicator', 'modal': 'inddel', 'route': path('output_ind_del', {'id': oind})}) }}
Add
{% for actBlock in actBlocks %} {% set aid = actBlock.id %} {% endfor %}
OutputActivity Block Details Status
{% if actBlock.output is not null %} {{ actBlock.output.output }} {% endif %} {{ actBlock.details }} {{ actBlock.getStatus() }} Edit {% if actBlock.isActive() %} Deactivate {{ include('AlsuiteProjectBundle:ActivityBlock:deactivate.html.twig', {'id': aid, 'action': 'Deactivate', 'object': 'Activity Block', 'modal': 'deact', 'route': path('act_block_deactivate', {'id': aid})}) }} {% else %} Activate {{ include('AlsuiteProjectBundle:ActivityBlock:activate.html.twig', {'id': aid, 'action': 'Activate', 'object': 'Activity Block', 'modal': 'act', 'route': path('act_block_activate', {'id': aid})}) }} {% endif %} Delete {{ include('AlsuiteProjectBundle:ActivityBlock:del.html.twig', {'id': aid, 'action': 'Delete', 'object': 'Activity Block', 'modal': 'actdel', 'route': path('act_block_delete', {'id': aid})}) }}
{% endif %}
{% else %} We are sorry, but we cannot find the selected project. Please try again. {% endif %}
{% endblock %} {% block javascripts %} {% endblock %}