Skip to content

Commit

Permalink
Merge pull request #1 from uvdesk/master
Browse files Browse the repository at this point in the history
Updates
  • Loading branch information
brettwilcox authored Apr 14, 2021
2 parents 5f34170 + e5ccaa6 commit 0a2c51d
Show file tree
Hide file tree
Showing 16 changed files with 1,588 additions and 2,598 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ RUN \
exit 1; \
fi; \
# Install composer
php /usr/local/bin/composer.php --quiet --filename=/usr/local/bin/composer \
php /usr/local/bin/composer.php --1 --quiet --filename=/usr/local/bin/composer \
&& chmod +x /usr/local/bin/composer; \
# Assign user uvdesk the ownership of source directory
chown -R uvdesk:uvdesk /var/www; \
Expand Down
24 changes: 22 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
<a href="#backers"><img src="https://opencollective.com/uvdesk/backers/badge.svg" alt="Backers on Open Collective"></a>
<a href="#sponsors"><img src="https://opencollective.com/uvdesk/sponsors/badge.svg" alt="Sponsors on Open Collective"></a>
<a href="https://gitter.im/uvdesk/community"><img src="https://badges.gitter.im/uvdesk/community-skeleton.svg" alt="connect on gitter"></a>
<a href="https://forums.uvdesk.com"><img src="https://img.shields.io/badge/Ask%20me-anything-1abc9c.svg" alt="discuss on uvdesk forum"></a>
<a href="https://github.com/collections/made-in-india"><img src="https://badges.frapsoft.com/os/v3/open-source.png?v=103" alt="Checkout us on open source projects from India"></a>
</p>

[Uvdesk community helpdesk][1] project skeleton packaged along with the bare essential utilities and tools to build and customize your own helpdesk solutions.
Expand Down Expand Up @@ -95,10 +97,10 @@ Requirements
* **OS**: Ubuntu 16.04 LTS or higher / Windows 7 or Higher (WAMP / XAMPP).
* **SERVER**: Apache 2 or NGINX.
* **RAM**: 3 GB or higher.
* **PHP**: 7.2 or higher.
* **PHP**: 7.2 or higher and less than 8.
* **Processor**: Clock Cycle 1 Ghz or higher.
* **For MySQL users**: 5.7.23 or higher.
* **Composer**: 1.6.5 or higher.
* **Composer**: 1.6.5 or higher and less than 2.
* **PHP IMAP** **&** **PHP Mailparse** for [Ubuntu][7], [Windows][23], [Centos][28], [Mac][27].

Installation
Expand Down Expand Up @@ -148,6 +150,24 @@ $ php bin/console uvdesk:configure-helpdesk

#### Using Web Installer Wizard

##### Extract the contents of zip and execute the project in your browser in case of project zip download:

~~~
http(s)://localhost/community-skeleton/public
~~~

##### In case of created project using command, execute the project in your browser:

~~~
http(s)://localhost/helpdesk-project/public
~~~

or

~~~
http(s)://example.com/public
~~~

After opening your project in the web browser, you will be greeted by the web installer which will guide you in configuring your project.


Expand Down
1 change: 1 addition & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"doctrine/doctrine-bundle": "^1.11",
"doctrine/doctrine-fixtures-bundle": "^3.2",
"doctrine/doctrine-migrations-bundle": "^2.0",
"google/recaptcha": "^1.2",
"knplabs/knp-paginator-bundle": "^4.0",
"sensio/framework-extra-bundle": "^5.1",
"symfony/asset": "4.3.*",
Expand Down
12 changes: 10 additions & 2 deletions public/css/wizard.css
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,13 @@ ul.button-groups > li:last-child {
margin-left: 30px;
}

.PHPExtensions-toggle-details, .PHPVersion-toggle-details {
#systemCriteria-PHPExtensions-Details,
#systemCriteria-PHPPermissionConfigfiles-Details {
margin-left: 30px;
}

.PHPExtensions-toggle-details, .PHPVersion-toggle-details, .PHPExeTime-toggle-details,
.PHPPermissionEnvfile-toggle-details, .PHPPermissionConfigfiles-toggle-details {
cursor: pointer;
color: #9272F8;
text-decoration: underline;
Expand All @@ -295,7 +301,9 @@ ul.button-groups > li:last-child {
color: #9272F8
}

.extension-info-container, .version-info-container {

.extension-info-container, .version-info-container, .execution-info-container,
.permission-info-container, .permissionConfigfiles-info-container {
margin-bottom: 10px;
}

Expand Down
211 changes: 204 additions & 7 deletions public/scripts/wizard.js

Large diffs are not rendered by default.

46 changes: 46 additions & 0 deletions src/Controller/ConfigureHelpdesk.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,18 @@ class ConfigureHelpdesk extends Controller
],
];

private static $requiredConfigfiles = [
[
'name' => 'uvdesk',
],
[
'name' => 'swiftmailer',
],
[
'name' => 'uvdesk_mailbox',
],
];

public function load()
{
return $this->render('installation-wizard/index.html.twig', [
Expand All @@ -45,6 +57,7 @@ public function load()

public function evaluateSystemRequirements(Request $request)
{
$max_execution_time = ini_get('max_execution_time');
// Evaluate system specification requirements
switch (strtolower($request->request->get('specification'))) {
case 'php-version':
Expand All @@ -70,6 +83,39 @@ public function evaluateSystemRequirements(Request $request)
'extensions' => $extensions_status,
];
break;
case 'php-maximum-execution':
$response['status' ] = $max_execution_time >= 60 ? true : false;

if ($response['status']) {
$response['message'] = sprintf('Maximum execution time is %s', ini_get('max_execution_time').' sec');
} else {
$response['message'] = sprintf('Please increase your max execution time.' );
$response['description'] = '</span>Issue can be resolved by simply<p><a href="https://www.simplified.guide/php/increase-max-execution-time" target="_blank"> increasing your maximum execution time</a> make it 60 or more and restart your server after making this change, refresh the browser and try again.</p>';
}
break;
case 'php-envfile-permission':
$filename = $this->get('kernel')->getProjectDir().'/.env';
$response['status'] = is_writable($filename) ? true : false;

if ($response['status']) {
$response['message'] = sprintf('Read/Write permission enabled for .env file.');
} else {
$response['message'] = sprintf('Please enable read/write permission for <b>.env</b> file of your project.');
$response['description'] = '</span> Issue can be resolved by simply <a href="https://www.uvdesk.com/en/blog/open-source-helpdesk-installation-on-ubuntu-uvdesk/" target="_blank"><p> enabling your <b>.env</b> file read/write permission</a> refresh the browser and try again.</p>';
}
break;
case 'php-configfiles-permission':
$configfiles_status = array_map(function ($configfile) {
return [
$configfile['name'] => is_writable($this->get('kernel')->getProjectDir().'/config/packages/'.$configfile['name'].'.yaml') ,
];
}, self::$requiredConfigfiles);

$response = [
'configfiles' => $configfiles_status,
'description' => '</span> <br><p> Issue can be resolved by simply <a href="https://www.uvdesk.com/en/blog/open-source-helpdesk-installation-on-ubuntu-uvdesk/" target="_blank"> enabling read/write permissions for your files under config/packages folder of your project.</a></p>',
];
break;
default:
$code = 404;
break;
Expand Down
51 changes: 50 additions & 1 deletion templates/installation-wizard/index.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
<div id="start-installation">
<h2>Welcome</h2>
<p>Welcome to the helpdesk installation wizard</p>
<p>This wizard will help guide you in setting up the UVDesk Community Edition on your system.</p>
<p>This wizard will help you to guide in setting up the UVDesk Community Edition on your system.</p>
<p style="padding: 5px; border: 1px solid black; margin-top: 15pt; font-style: italic;"><b style="font-weight:bold">Note:</b> Please check prerequisite as per your OS before starting installion process <a style="text-decoration:none" href="https://www.uvdesk.com/en/blog/open-source-helpdesk-installation-on-ubuntu-uvdesk/" target="_blank">Ubuntu</a>, <a style="text-decoration:none" href="https://www.uvdesk.com/en/blog/open-source-helpdesk-installation-on-wamp/" target="_blank">Windows</a>, <a style="text-decoration:none" href="https://www.uvdesk.com/en/blog/open-source-helpdesk-installation-centos-uvdesk/" target="_blank">Centos</a> and <a style="text-decoration:none" href="https://www.uvdesk.com/en/blog/installing-open-source-helpdesk-on-your-mac-with-mamp/" target="_blank">Mac.</a>
</p>
<ul class="button-groups">
Expand Down Expand Up @@ -124,6 +124,28 @@
</div>
</script>
<script id="installationWizard-SystemRequirementsTemplate-PHPExecution" type="text/template">
<div class="execution-info-container">
<span class="wizard-svg-icon-execution-criteria-checklist"></span><label class="execution-criteria-label"></label>
<span class="PHPExeTime-toggle-details">Show details</span>
</div>
<div class="systemCriteria-Details">
<span id="systemCriteria-PHPExecution-Details">
</span>
</div>
</script>
<script id="installationWizard-SystemRequirementsTemplate-PHPPermission" type="text/template">
<div class="permission-info-container">
<span class="wizard-svg-icon-permissionEnvfile-criteria-checklist"></span><label class="permission-criteria-label"></label>
<span class="PHPPermissionEnvfile-toggle-details">Show Details</span>
</div>
<div class="systemCriteria-Details">
<span id="systemCriteria-PHPPermission-Details">
</span>
</div>
</script>
<script id="installationWizard-SystemRequirementsTemplate" type="text/template">
<div id="wizard-systemRequirements">
<h2> System Requirements</h2>
Expand All @@ -133,6 +155,33 @@
<span style="color: #6F6F6F !important;">Required</span>
<li id="systemCriteria-PHPVersion" class="fetching-details"></li>
<li id="systemCriteria-PHPExtensions" class="fetching-details"></li>
<li id="systemCriteria-PHPPermissionConfigfiles" class="fetching-details"></li>
<li id="systemCriteria-PHPPermission" class="fetching-details"></li>
<li id="systemCriteria-PHPExecution" class="fetching-details"></li>
</ul>
</div>
</script>
<script id="installationWizard-SystemRequirementsTemplate-PHPPermissionConfigfiles" type="text/template">
<div class="permissionConfigfiles-info-container">
<span class="wizard-svg-icon-permissionConfigfiles-criteria-checklist"></span><label class="permissionConfigfiles-criteria-label"></label>
<span class="PHPPermissionConfigfiles-error-message"></span>
<span class="PHPPermissionConfigfiles-toggle-details">Show details</span>
</div>
<div class="systemCriteria-Details">
<ul id="systemCriteria-PHPPermissionConfigfiles-Details">
<li id="uvdesk-info" class="fetching-details">
<span class="wizard-svg-icon-criteria-checklist"></span>
<label id="uvdesk-label"></label>
</li>
<li id="swiftmailer-info" class="fetching-details">
<span class="wizard-svg-icon-criteria-checklist"></span>
<label id="swiftmailer-label"></label>
</li>
<li id="uvdesk_mailbox-info" class="fetching-details">
<span class="wizard-svg-icon-criteria-checklist"></span>
<label id="uvdesk_mailbox-label"></label>
</li>
</ul>
</div>
</script>
Expand Down
9 changes: 9 additions & 0 deletions translations/messages.ar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,15 @@
"Agent": "المساعد"
"ID": "هوية شخصية"
"Subject": "موضوع"
"Last Reply": "آخر رد"
"Filter View": "عرض التصفية"
"Please select CAPTCHA": "الرجاء اختيار CAPTCHA"
"Warning ! Please select correct CAPTCHA !": "تحذير! الرجاء تحديد CAPTCHA الصحيح!"
"reCAPTCHA Setting": "إعداد reCAPTCHA"
"reCAPTCHA Site Key": "مفتاح موقع reCAPTCHA"
"reCAPTCHA Secret key": "المفتاح السري reCAPTCHA"
"reCAPTCHA Status": "حالة reCAPTCHA"
"reCAPTCHA is Active": "reCAPTCHA نشط"
"Save set of filters as a preset to stay more productive": "احفظ مجموعة الفلاتر كإعداد مسبق للبقاء أكثر إنتاجية"
"Saved Filters": "الفلاتر المحفوظة"
"No saved filter created": "لم يتم إنشاء فلتر محفوظ"
Expand Down Expand Up @@ -538,6 +546,7 @@
"User signature will be append at the bottom of ticket reply box": "سيتم إلحاق توقيع المستخدم أسفل مربع الرد على التذكرة"
"Password": "كلمه السر"
"Password will remain same if you are not entering something in this field": "ستظل كلمة المرور كما هي إذا لم تقم بإدخال شيء في هذا المجال"
"Password must contain minimum 8 character length, at least two letters (not case sensitive), one number, one special character(space is not allowed).": "يجب أن تحتوي كلمة المرور على 8 أحرف على الأقل ، وحرفين على الأقل (غير حساس لحالة الأحرف) ، ورقم واحد ، وحرف خاص واحد (غير مسموح بالمسافة)."
"Confirm Password": "تأكيد كلمة المرور"
"Save Changes": "حفظ التغييرات"
"SAVE CHANGES": "احفظ التغييرات"
Expand Down
9 changes: 9 additions & 0 deletions translations/messages.da.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,15 @@
"Agent": "Agent"
"ID": "ID"
"Subject": "Emne"
"Last Reply": "Sidste svar"
"Filter View": "Filtervisning"
"Please select CAPTCHA": "Vælg CAPTCHA"
"Warning ! Please select correct CAPTCHA !": "Advarsel! Vælg den korrekte CAPTCHA!"
"reCAPTCHA Setting": "reCAPTCHA-indstilling"
"reCAPTCHA Site Key": "reCAPTCHA Site Key"
"reCAPTCHA Secret key": "reCAPTCHA Hemmelig nøgle"
"reCAPTCHA Status": "reCAPTCHA-status"
"reCAPTCHA is Active": "reCAPTCHA er aktiv"
"Save set of filters as a preset to stay more productive": "Gem et sæt filtre som en forudindstilling for at forblive mere produktiv"
"Saved Filters": "Gemte filtre"
"No saved filter created": "Intet gemt filter oprettet"
Expand Down Expand Up @@ -540,6 +548,7 @@
"Password": "Adgangskode"
"Password will remain same if you are not entering something in this field": "Adgangskode forbliver det samme, hvis du ikke indtaster noget i dette felt"
"Confirm Password": "Bekræft kodeord"
"Password must contain minimum 8 character length, at least two letters (not case sensitive), one number, one special character(space is not allowed).": "Adgangskoden skal indeholde mindst 8 tegn, mindst to bogstaver (ikke store og små bogstaver), et tal, et specialtegn (mellemrum er ikke tilladt)."
"Save Changes": "Gem ændringer"
"SAVE CHANGES": "GEM ÆNDRINGER"
"CREATE TICKET": "Opret TICKET"
Expand Down
9 changes: 9 additions & 0 deletions translations/messages.de.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,15 @@
"Agent": "Agent"
"ID": "ID"
"Subject": "Betreff"
"Last Reply": "Letzte Antwort"
"Filter View": "Filteransicht"
"Please select CAPTCHA": "Bitte wählen Sie CAPTCHA"
"Warning ! Please select correct CAPTCHA !": "Warnung! Bitte wählen Sie das richtige CAPTCHA!"
"reCAPTCHA Setting": "reCAPTCHA-Einstellung"
"reCAPTCHA Site Key": "reCAPTCHA Site Key"
"reCAPTCHA Secret key": "reCAPTCHA Geheimer Schlüssel"
"reCAPTCHA Status": "reCAPTCHA-Status"
"reCAPTCHA is Active": "reCAPTCHA ist aktiv"
"Save set of filters as a preset to stay more productive": "Filter als Voreinstellung speichern"
"Saved Filters": "Gespeicherte Filter"
"No saved filter created": "Kein gespeicherter Filter erstellt"
Expand Down Expand Up @@ -540,6 +548,7 @@
"Password": "Passwort"
"Password will remain same if you are not entering something in this field": "Das Passwort bleibt gleich, wenn Sie in dieses Feld nichts eingeben."
"Confirm Password": "Passwort bestätigen"
"Password must contain minimum 8 character length, at least two letters (not case sensitive), one number, one special character(space is not allowed).": "Das Passwort muss mindestens 8 Zeichen lang sein, mindestens zwei Buchstaben (ohne Berücksichtigung der Groß- und Kleinschreibung), eine Zahl und ein Sonderzeichen (Leerzeichen sind nicht zulässig)."
"Save Changes": "Änderungen speichern"
"SAVE CHANGES": "ÄNDERUNGEN SPEICHERN"
"CREATE TICKET": "TICKET ERSTELLEN"
Expand Down
9 changes: 9 additions & 0 deletions translations/messages.en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,15 @@
"Agent": "Agent"
"ID": "ID"
"Subject": "Subject"
"Last Reply": "Last Reply"
"Filter View": "Filter View"
"Please select CAPTCHA": "Please select CAPTCHA"
"Warning ! Please select correct CAPTCHA !": "Warning ! Please select correct CAPTCHA !"
"reCAPTCHA Setting": "reCAPTCHA Setting"
"reCAPTCHA Site Key": "reCAPTCHA Site Key"
"reCAPTCHA Secret key": "reCAPTCHA Secret key"
"reCAPTCHA Status": "reCAPTCHA Status"
"reCAPTCHA is Active": "reCAPTCHA is Active"
"Save set of filters as a preset to stay more productive": "Save set of filters as a preset to stay more productive"
"Saved Filters": "Saved Filters"
"No saved filter created": "No saved filter created"
Expand Down Expand Up @@ -540,6 +548,7 @@
"Password": "Password"
"Password will remain same if you are not entering something in this field": "Password will remain same if you are not entering something in this field"
"Confirm Password": "Confirm Password"
"Password must contain minimum 8 character length, at least two letters (not case sensitive), one number, one special character(space is not allowed).": "Password must contain minimum 8 character length, at least two letters (not case sensitive), one number, one special character(space is not allowed)."
"Save Changes": "Save Changes"
"SAVE CHANGES": "SAVE CHANGES"
"CREATE TICKET": "CREATE TICKET"
Expand Down
9 changes: 9 additions & 0 deletions translations/messages.es.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,15 @@
"Agent": "Agente"
"ID": "CARNÉ DE IDENTIDAD"
"Subject": "Tema"
"Last Reply": "Última respuesta"
"Filter View": "Vista de filtro"
"Please select CAPTCHA": "Seleccione CAPTCHA"
"Warning ! Please select correct CAPTCHA !": "¡Advertencia! ¡Seleccione el CAPTCHA correcto!"
"reCAPTCHA Setting": "Configuración reCAPTCHA"
"reCAPTCHA Site Key": "Clave del sitio reCAPTCHA"
"reCAPTCHA Secret key": "reCAPTCHA Clave secreta"
"reCAPTCHA Status": "Estado de reCAPTCHA"
"reCAPTCHA is Active": "reCAPTCHA está activo"
"Save set of filters as a preset to stay more productive": "Guardar conjunto de filtros como un preajuste para mantenerse más productivo"
"Saved Filters": "Filtros guardados"
"No saved filter created": "No se ha creado un filtro guardado"
Expand Down Expand Up @@ -540,6 +548,7 @@
"Password": "Contraseña"
"Password will remain same if you are not entering something in this field": "La contraseña seguirá siendo la misma si no está ingresando algo en este campo"
"Confirm Password": "Confirmar contraseña"
"Password must contain minimum 8 character length, at least two letters (not case sensitive), one number, one special character(space is not allowed).": "La contraseña debe contener un mínimo de 8 caracteres, al menos dos letras (no distingue entre mayúsculas y minúsculas), un número, un carácter especial (no se permiten espacios)."
"Save Changes": "Guardar cambios"
"SAVE CHANGES": "GUARDAR CAMBIOS"
"CREATE TICKET": "CREAR TICKET"
Expand Down
Loading

0 comments on commit 0a2c51d

Please sign in to comment.