Commit 54a04408 authored by okhin's avatar okhin

Slighty better feedback form

parent eec240d6
Pipeline #728 failed with stage
...@@ -11,15 +11,15 @@ class Api { ...@@ -11,15 +11,15 @@ class Api {
$client = new Client(['base_uri' => API_BASE, 'defaults' => [ 'headers' => [ 'Content-type' => 'applications/json']]]); $client = new Client(['base_uri' => API_BASE, 'defaults' => [ 'headers' => [ 'Content-type' => 'applications/json']]]);
$url = API_BASE . $url . "/?format=json"; $url = API_BASE . $url . "/?format=json";
$result = $client->request('GET', $url); $result = $client->request('GET', $url);
return $result->getBody(); return $result->getBody();
} }
// Generic post function for REST API // Generic post function for REST API
static function post($url, $data) { static function post($url, $data) {
$client = new Client(['base_uri' => API_BASE, 'defaults' => [ 'headers' => [ 'Content-type' => 'applications/json']]]); $client = new Client(['base_uri' => API_BASE, 'defaults' => [ 'headers' => [ 'Content-type' => 'applications/json']]]);
$url = API_BASE . $url . "/?format=json"; $url = API_BASE . $url . "/?format=json";
$result = $client->request('POST', $url, array(), $data); $result = $client->request('POST', $url, array(), $data);
return $result->getBody(); return $result->getBody();
} }
...@@ -37,8 +37,8 @@ class Api { ...@@ -37,8 +37,8 @@ class Api {
// Asking for a single contact // Asking for a single contact
static function get_contact($id) { static function get_contact($id) {
$json = Api::get("campaigns/" . CAMPAIGN_ID . "/contacts/" . $id); $json = Api::get("campaigns/" . CAMPAIGN_ID . "/contacts/" . $id);
return json_decode($json, true); return json_decode($json, true);
} }
// Asking for complete list of groups // Asking for complete list of groups
...@@ -49,7 +49,7 @@ class Api { ...@@ -49,7 +49,7 @@ class Api {
// Asking for complete list of feedback categories // Asking for complete list of feedback categories
static function get_feedback_categories() { static function get_feedback_categories() {
$json = Api::get("campaigns/" . CAMPAIGN_ID . "/feedback/categories"); $json = Api::get("campaigns/" . CAMPAIGN_ID . "/categories");
return json_decode($json, true); return json_decode($json, true);
} }
......
...@@ -18,7 +18,7 @@ class Main extends Controller { ...@@ -18,7 +18,7 @@ class Main extends Controller {
$contacts = $f3->get('contacts'); $contacts = $f3->get('contacts');
$f3->set('contact', $contacts[$rand_id]); $f3->set('contact', $contacts[$rand_id]);
$f3->set('random', rand(0, 2)); $f3->set('random', rand(0, 2));
$f3->set('block_content', 'home.html'); $f3->set('block_content', 'home.html');
} }
/* /*
...@@ -31,11 +31,14 @@ class Main extends Controller { ...@@ -31,11 +31,14 @@ class Main extends Controller {
//GET //GET
if ($f3->get('VERB') == 'GET'){ if ($f3->get('VERB') == 'GET'){
$categories = Api::get_feedback_categories(); $categories = Api::get_feedback_categories();
$f3->set('feedback_categories', $categories['categories']); $f3->set('feedback_categories', $categories);
$contact_id = $f3->get('POST.contact_id'); $contact_id = $f3->get('POST.contact_id');
$f3->set("contact_id", $contact_id); $f3->set("contact_id", $contact_id);
$arguments = Api::get_arguments();
$f3->set('arguments', $arguments);
$f3->set('block_content', 'feedbackform.html'); $f3->set('block_content', 'feedbackform.html');
} }
//POST //POST
...@@ -74,29 +77,29 @@ class Main extends Controller { ...@@ -74,29 +77,29 @@ class Main extends Controller {
// Create the call // Create the call
// Generate a jwt token // Generate a jwt token
$token = JWT::encode(array('api' => JWT_TOKEN), JWT_KEY); $token = JWT::encode(array('api' => JWT_TOKEN), JWT_KEY);
// To get the callee, we have the callee_id in the form. Using that // To get the callee, we have the callee_id in the form. Using that
// to load the callee and retrieve its number. // to load the callee and retrieve its number.
$contact = Api::get_contact($args['id']); $contact = Api::get_contact($args['id']);
$f3->set('contact', $contact); $f3->set('contact', $contact);
$data = array('api' => 'piphone', 'caller' => $f3->get('POST.phone'), 'callee' => $contact['phone'], 'token' => $token); $data = array('api' => 'piphone', 'caller' => $f3->get('POST.phone'), 'callee' => $contact['phone'], 'token' => $token);
// We want to generate a UNIQUE-ID (doesn't need to be cryptogaphically unique though // We want to generate a UNIQUE-ID (doesn't need to be cryptogaphically unique though
$call_id = uniqid(); $call_id = uniqid();
$f3->set('CALL_ID', $call_id); $f3->set('CALL_ID', $call_id);
// Create the call // Create the call
$client = new GuzzleHttp\Client(['base_uri' => SIP_API]); $client = new GuzzleHttp\Client(['base_uri' => SIP_API]);
try { try {
$res = $client->post("calls/$call_id", ['query' => $data]); $res = $client->post("calls/$call_id", ['query' => $data]);
$f3->set('call', json_decode($res->getBody())); $f3->set('call', json_decode($res->getBody()));
$f3->set('VERB', 'GET'); $f3->set('VERB', 'GET');
$this->feedbackform($f3, $args); $this->feedbackform($f3, $args);
} catch (RequestException $e) { } catch (RequestException $e) {
echo Psr7\str($e->getRequest()); echo Psr7\str($e->getRequest());
if ($e->hasResponse()) { if ($e->hasResponse()) {
echo Psr7\str($e->getResponse()); echo Psr7\str($e->getResponse());
} }
} }
} }
} }
function contactslist($f3, $args) { function contactslist($f3, $args) {
......
...@@ -15,4 +15,3 @@ DEBUG=3 ...@@ -15,4 +15,3 @@ DEBUG=3
LANGUAGE='fr' LANGUAGE='fr'
; Global variables of website ; Global variables of website
<h2>{{ _("Sale Form") }}</h2> <h2>{{ _(@campaign.title) }}</h2>
<!-- Add here the Sale form your campaign --> <include href="argumentation.html">
<p>{{ _("Here is some argument in order to help you talking with your interlocutor.") }}</p>
<h2>{{ _("Feedback Form") }}</h2> <h2>{{ _("Feedback Form") }}</h2>
...@@ -13,8 +11,8 @@ ...@@ -13,8 +11,8 @@
<input type="text" id="contact_id" name="contact_id" hidden="hidden" value="{{ @contact_id }}" /> <input type="text" id="contact_id" name="contact_id" hidden="hidden" value="{{ @contact_id }}" />
<repeat group="{{ @feedback_categories }}" value="{{ @feedback_category }}"> <repeat group="{{ @feedback_categories }}" value="{{ @feedback_category }}">
<input type="radio" name="feedback_category" value="{{ @feedback_category }}" /> <input type="radio" name="feedback_category" value="{{ @feedback_category.id }}" />
{{ @feedback_category }} {{ @feedback_category.name }}
</repeat> </repeat>
<p> <p>
<textarea id="feedback" name="feedback"></textarea> <textarea id="feedback" name="feedback"></textarea>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment