badchoice / handesk Goto Github PK
View Code? Open in Web Editor NEWA Powerful Laravel Help Desk and Lead Management App
Home Page: https://github.com/BadChoice/handesk
License: MIT License
A Powerful Laravel Help Desk and Lead Management App
Home Page: https://github.com/BadChoice/handesk
License: MIT License
Hi, I'm new to Handesk & Laravel. After hard work, the App is running but it looks like that the password is not accepted (no error is shown). I Use:
User '[email protected]'
Pass 'admin'
.... any idea?
The app runs on an LXD-Container, Ubuntu16.04, Nginx, PHP 7.1 and external MySQL server.
URL: https://stage.staff.smaug-pay.com/login
Thanks
I am getting an error on initial install of the following:
TypeError:
tickets:193
<script> $("#searcher").searcher('tickets/search/'); </script>
Dear all :)
the UI now supports multi languages :) It would be nice to answer in the language the users is writing so the system is multi national.
2 Ideas
a) Email is coming into the system and if the ticked is assigned we can set the language
or
b) the team member can answer and set it own language he will answer with - so we can answer a customer in diffrent languages/templates
What do you think ?
Show the lead details there
I was following https://github.com/rubenwouters/crm-launcher for a while, seemed they never continued development. But, it was a great idea... a twitter or facebook message created a ticket.
It might be over my head to add to handesk, but is it feasable?
Can you please provide a license for use of Handesk? Or have I missed it?
it should be public ticket system however.... to post a ticket one should be registered and.... while registering there seems to be an invitation coupon?? am little wondered! who invited clients for ticket submission?
After I the installation I get the error message "Parse error: syntax error, unexpected '@'".
Full error message can be viewed at http://desk.lhenriksson.se/tickets
Looks like maybe a problem with the blade template?
Or have I made something stupid? :)
If we don't use bitbucket we should remove the button.
I change the issue.blade.php with the following line at the beginning
@if(strcmp(config('issues.credentials.key'),'the-bitbucket-key-if-using-oauth') !== 0)
and ending with an other
@endif
I know that the condition is not really good but when I made the first copy of the .env.example is the string you had inside for credentials.key
Should be better to use a switch inside the .env and issue config file to check if we have any issue addon activated.
As I know that I'm not going to use it for now, I'll let it like that.
I'm not making any PR because It's now an optimal solution but at least my agents are not getting errors when they press the button ;)
Thanks for all!
My mailbox was filling it self with "Ticket updated: #15:" over and over ;)
Not sure why - it looks like the messages send for update trigger them self a the next cron.
I was using the dev branch.
https://github.com/BadChoice/handesk/blob/dev/app/Notifications/NewComment.php
maybe related to
Be able to add private comments to the tickets
It is possible to run the Handesk with a existing Laravel project? As if it was a common package.
I'm asking this because the installation process aims a clean installation.
Add the option to merge tickets
Believe it or not, I'm all #teamBracesInSameLine (second type). Unfortunately that's not the path that PSR-2 chose.
After working with some open sources projects (and Laravel source code itself), I learned to deal with it. PSR-2 does make code more readable from a world-wide perspective. If you get used to reading PSR-2 formatted code, you can read anybody's PSR-2 formatted code in the world.
Anyway, the point of this topic is to say I hope you guys don't mind my PRs with PSR-2 code-style. PHPStorm will automatically format code for me that way.
Our setup
Handesk fetches from helpdesk@domain
We have support@domain
which forwards mail to helpdesk@domain
.
When Handesk fetches from helpdesk@domain
and sees a forwarded email from support@domain
, it does not delete it.
Non-forwarded messages (so an email sent straight to helpdesk@domain
), are deleted.
Could this be an email headers issue?
Hi again,
I think there are a few problems when you attach a file on an issue.
The first one: after uploading the file you are redirected into public/tickets?all=true section and you can lost in which ticket you where working on.
The other problem: the attached file which we can see on the comments doesn't link properly, I think we need to control with mod_rewrite in the .htaccess file but I'm not sure.
Cheers!
To-Reproduce:
Customer sends email
Will get notification about ticket created - fine :)
Supporter is writing answer and mark ticket as solved.
Customer don't think so and will reply
Supporter will not se the reply because it's listed under solved ... this will be a little show stopper ;)
Support will not react ...
Version:
current master
Possible solution:
if ticket is in solved list and customer replys ticket will get back to pending state
Maybe related to issue #22
Hi,
Is there any visual way via UI to delete agent users? Or I need to remove via database?
Thanks!
fr.zip
handesk/resources/lang/fr/
Possible Bug - maybe i can fix it the next days but today im running low in time ;)
Steps to reproduce:
Possible Solution:
App\Jobs\CreateTicketsFromNewEmails while process uses $message-text but
with php-imap library it will be ->textPlain or ->textHtml s. Mailbox.php in vendor folder
if($partStructure->type == 0 && $data) {
if(strtolower($partStructure->subtype) == 'plain') {
$mail->textPlain .= $data;
}
else {
$mail->textHtml .= $data;
}
}
elseif($partStructure->type == 2 && $data) {
$mail->textPlain .= trim($data);
}
Stack-Trace:
Next Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'body' cannot be null (SQL: insert into `tickets` (`title`, `body$
Stack trace:
#0 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php(607): Illuminate\Database\Connection->runQueryCallback('insert into $
#1 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php(450): Illuminate\Database\Connection->run('insert into `ti...', Arra$
#2 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php(404): Illuminate\Database\Connection->statement('insert into `ti...'$
#3 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert('insert $
#4 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2133): Illuminate\Database\Query\Processors\Processor->processIns$
#5 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1251): Illuminate\Database\Query\Builder->insertGetId(Array, '$
#6 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(688): Illuminate\Database\Eloquent\Builder->__call('insertGetId'$
#7 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(653): Illuminate\Database\Eloquent\Model->insertAndSetId(Object($
#8 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(522): Illuminate\Database\Eloquent\Model->performInsert(Object(I$
#9 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php(284): Illuminate\Database\Eloquent\Model->save()
#10 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Support/helpers.php(950): Illuminate\Database\Eloquent\Relations\HasOneOrMany->Illuminate\D$
#11 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php(285): tap(Object(App\Ticket), Object(Closure))
#12 /home/forge/handesk.vikinks.com/app/Ticket.php(33): Illuminate\Database\Eloquent\Relations\HasOneOrMany->create(Array)
#13 /home/forge/handesk.vikinks.com/app/Jobs/CreateTicketsFromNewEmails.php(34): App\Ticket::createAndNotify(Object(App\Requester), 'New ticket: #1:...', NULL, Array)
#14 /home/forge/handesk.vikinks.com/app/Jobs/CreateTicketsFromNewEmails.php(26): App\Jobs\CreateTicketsFromNewEmails->processMessage(Object(PhpImap\IncomingMail))
#15 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Support/Collection.php(287): App\Jobs\CreateTicketsFromNewEmails->App\Jobs\{closure}(Object$
#16 /home/forge/handesk.vikinks.com/app/Jobs/CreateTicketsFromNewEmails.php(28): Illuminate\Support\Collection->each(Object(Closure))
#17 [internal function]: App\Jobs\CreateTicketsFromNewEmails->handle(Object(App\Services\Pop3\Mailbox))
Where the database file format?
.sql ?
Should contributors use dev branch for pull requests and master branch be protected for releases only?
If a customer reciews a email he will get [email protected] and a reply to [email protected] but in this way the suppername email-adress will spread around in the world ;)
Why not use "Supporter name [email protected]" in From and [email protected] in Reply-To field ?
So we have a central account for the world and the support users can login with there emailadresses.
Maybe we can set this a optional flag ?
What do you think ?
Dear @BadChoice ,
i made a fork to add support to laravel swiftmailer to use smtp out on a self signed certificate (have done this for a other project too).
Into to .env i'll add
MAIL_SSLOPTIONS_ALLOW_SELF_SIGNED=true
MAIL_SSLOPTIONS_VERIFY_PEER=true
MAIL_SSLOPTIONS_VERIFY_PEER_NAME=false
Into config/mail.php i'll add (with default secure settings)
'stream' => [
'ssl' => [
'allow_self_signed' => env('MAIL_SSLOPTIONS_ALLOW_SELF_SIGNED', false),
'verify_peer' => env('MAIL_SSLOPTIONS_VERIFY_PEER', true),
'verify_peer_name' => env('MAIL_SSLOPTIONS_VERIFY_PEER_NAME', true),
],
],
So swiftmailer will use this features for open-ssl-socket-connections.
I found this solution on a laravel forum ;)
For my PR should i work an dev or master ? Should i take care about a special workflow ?
Be able to add tasks to leads (with timestamps)
Inspired by the rocket.chat team - the use a tempalte if somebody is filling out an isssue -
makes it easyer for the dev's to reproduce - maybe usefull for handesk too ???
Every time you open an issues in the write-tab you will see the text from the bottom
Hi,
Is there any version with Laravel 5.3 or 5.4? Thanks
Hi,
I set up all steps, but I can't login using default login and password generated in the user factory.
I'm using the dev branch and tested the v1.3.3. And password reset link don't work.
Hi,
I'm trying to make it work behind haproxy, it works if I don't try to make anything strange with the SSL, but when I try to configure the SSL I get mixed content error:
I try to change the assets to secure_asset but nothing, it takes my http url for the css all the time even in my .env I have https:// for the APP_URL parameter.
Maybe someone already look around something similar.
Cheers
Today the polling of emails stopped working.
I checked the log files and found a DB Exception i guess the Email from the customer is correct but it did not contain a Name.
Next Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null (SQL: insert into
requesters (
email,
na
me,
updated_at,
created_at) values ([email protected], , 2017-09-19 07:51:02, 2017-09-19 07:51:02)) in /home/forge/....../vendor/laravel/framework/src/ Illuminate/Database/Connection.php:647
Thanks for your efforts on this - pretty much exactly what I was looking for!
I'm wondering how I would go about keeping handesk up to date once installed? If I make any changes to views etc., will they not be lost/create merge issues if I pull via git?
Not sure how difficult it would be to make this a composer package, which would simplify the process? Or some other route.
When sending the "solved" email, it could add a new line with
Rate this ticket: 1 2 3 4 5
so the customer can rate the support received (showing new page where they can vote and say why)
If you install or use Handesk in PHP 7.2, you need to do composer update
to resolve the count()
error in Laravel Blade Template.
This is due to backward incompatibility with count()
function that Laravel Blade Template uses.
I propose adding composer update
to install instruction.
Hope this helps those who confused when Handesk installed in PHP 7.2 and show count()
exception error after login.
More of PHP 7.2 backward incompatibilities: http://php.net/manual/en/migration72.incompatible.php
Dear Team,
do you have support for attachments / pictures ? I tried to find it in the migrations but i couldn't find it ;)
Thanks
MarcO
It fails in travis CI, but in the local dev machine tests pass
Hi!
I'm interested on this project, and I'm thinking to contribute adding the Brazilian Portuguese language.
Soon I'll send my PR.
Best regards!
UPDATE:
Translate status: ⚫⚫⚫⚫⚫⚫⚫⚫⚫⚫⚫⚫ 100%
Hello :)
i'm using my fork to work on (local pc to my github forke) of your project.
Every thing fine about this.
If i make changes i push them into my forke and than i make a PR at your side - fine too ;)
Problem now is how to update my fork with you latest changes ?
I use this https://stackoverflow.com/questions/3903817/pull-new-updates-from-original-github-repository-into-forked-github-repository/30343766#30343766
But sometimes my forked git does not show "switching the base".
Some idea what i'm doing wrong ? Thx !
p.s. i tried check this too https://www.sitepoint.com/quick-tip-sync-your-fork-with-the-original-without-the-cli/
at the moment my master does not contain app/Language.php for example
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.