aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2012-11-22 16:08:42 +0000
committerStruan Donald <struan@exo.org.uk>2012-11-22 16:08:42 +0000
commit9ad3b72c6177216022d3ec4747ef0d7ffcd3dbb9 (patch)
tree281d526ba9b22eef0dbaaf6b498448806ae0a00a
parent0754d06f830c9eaf148ee276def1a80cbc04e83b (diff)
parent8db5951dee5a41ae6dbe428f779f01d94c3b079b (diff)
Merge remote-tracking branch 'origin/master'
-rw-r--r--perllib/FixMyStreet/SendReport/Open311.pm7
-rw-r--r--templates/web/fixmybarangay/header.html6
-rw-r--r--templates/web/fixmybarangay/report/_message_manager.html2
-rw-r--r--web/cobrands/fixmybarangay/message_manager_client.js28
4 files changed, 35 insertions, 8 deletions
diff --git a/perllib/FixMyStreet/SendReport/Open311.pm b/perllib/FixMyStreet/SendReport/Open311.pm
index 70bce3d47..8d7a418af 100644
--- a/perllib/FixMyStreet/SendReport/Open311.pm
+++ b/perllib/FixMyStreet/SendReport/Open311.pm
@@ -96,7 +96,7 @@ sub send {
if ($row->cobrand eq 'fixmybarangay') {
# FixMyBarangay endpoints expect external_id as an attribute
- $row->extra( [ { 'name' => 'external_id', 'value' => $row->id } ] );
+ $row->extra( [ { 'name' => 'external_id', 'value' => $row->id } ] );
}
my $resp = $open311->send_service_request( $row, $h, $contact->email );
@@ -109,6 +109,11 @@ sub send {
if ( $resp ) {
$row->external_id( $resp );
$row->send_method_used('Open311');
+ if ($row->cobrand eq 'fixmybarangay') {
+ # currently the only external body using Open311 is DPS
+ # (this will change when we have 'body' logic in place, meanwhile: hardcoded)
+ $row->external_body("DPS");
+ }
$result *= 0;
$self->success( 1 );
} else {
diff --git a/templates/web/fixmybarangay/header.html b/templates/web/fixmybarangay/header.html
index 2557a26cb..911a72022 100644
--- a/templates/web/fixmybarangay/header.html
+++ b/templates/web/fixmybarangay/header.html
@@ -25,10 +25,8 @@
[% allow_creation = !c.cobrand.only_authed_can_create || (c.user && c.user.from_council); %]
[% IF allow_creation %]
-
- <link rel="stylesheet" href="[% version('/js/fancybox/jquery.fancybox-1.3.4.css') %]">
- <script src="[% version('/js/fancybox/jquery.fancybox-1.3.4.pack.js') %]" charset="utf-8"></script>
-
+ <link rel="stylesheet" href="[% version('/js/fancybox/jquery.fancybox-1.3.4.css') %]">
+ <script src="[% version('/js/fancybox/jquery.fancybox-1.3.4.pack.js') %]" charset="utf-8"></script>
<script src="[% version('/cobrands/fixmybarangay/message_manager_client.js') %]" charset="utf-8"></script>
<script>
$(document).ready(function() {
diff --git a/templates/web/fixmybarangay/report/_message_manager.html b/templates/web/fixmybarangay/report/_message_manager.html
index 41544a754..04ffb0f42 100644
--- a/templates/web/fixmybarangay/report/_message_manager.html
+++ b/templates/web/fixmybarangay/report/_message_manager.html
@@ -34,7 +34,7 @@
</ul>
<script type="text/javascript">
-
+
$(document).ready(function() {
var $mm_message_list = $('#mm-message-list');
var mm_url = "[% c.config.MESSAGE_MANAGER_URL %]"; // from config
diff --git a/web/cobrands/fixmybarangay/message_manager_client.js b/web/cobrands/fixmybarangay/message_manager_client.js
index fa04063c8..ba7383933 100644
--- a/web/cobrands/fixmybarangay/message_manager_client.js
+++ b/web/cobrands/fixmybarangay/message_manager_client.js
@@ -133,12 +133,36 @@ var message_manager = (function() {
}
};
- // btoa doesn't work on all browers?
var make_base_auth = function(user, password) {
var tok = user + ':' + password;
- var hash = btoa(tok);
+ var hash = encodeBase64(tok); // window.btoa(tok) doesn't work on all browers
return "Basic " + hash;
};
+
+ function encodeBase64(input) {
+ var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',
+ INVALID_CHARACTER_ERR = (function () {
+ // fabricate a suitable error object
+ try {
+ document.createElement('$');
+ } catch (error) {
+ return error;
+ }
+ }()),
+ block, charCode, idx, map, output;
+ // encoder (with wee change by mhl Mark to satisfy jslint)
+ // [https://gist.github.com/999166] by [https://github.com/nignag]
+ for (idx = 0, map = chars, output = '';
+ input.charAt(idx | 0) || ((map = '=') && (idx % 1));
+ output += map.charAt(63 & block >> 8 - idx % 1 * 8)) {
+ charCode = input.charCodeAt(idx += 3/4);
+ if (charCode > 0xFF) {
+ throw INVALID_CHARACTER_ERR;
+ }
+ block = block << 8 | charCode;
+ }
+ return output;
+ }
var get_current_auth_credentials = function() {
var base_auth = "";