From 4a64ebbf12a88d2c8daf3f3daef8fbefe5c4d808 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 7 Aug 2025 13:29:40 +0200 Subject: [PATCH 1/2] Citycom API WIP --- application/Api/v1/Modules/Operationaldata/SnoppCitycom.php | 5 +++-- lib/Citycom/OanApiHelper.php | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/application/Api/v1/Modules/Operationaldata/SnoppCitycom.php b/application/Api/v1/Modules/Operationaldata/SnoppCitycom.php index 2e690798b..7acdadf96 100644 --- a/application/Api/v1/Modules/Operationaldata/SnoppCitycom.php +++ b/application/Api/v1/Modules/Operationaldata/SnoppCitycom.php @@ -71,11 +71,12 @@ class SnoppCitycom extends Modules\ApiControllerModule $cc_api_client = new \Citycom_OanApiClient(CITYCOM_OAN_API_USER, CITYCOM_OAN_API_PASS); $cc_api = new \Citycom_OanApiHelper($cc_api_client); - if(!$cc_api->orderServices($preorder, $cc_home_id, $data)) { + $services = $cc_api->orderServices($preorder, $cc_home_id, $data); + if(!$services) { return \mfResponse::InternalServerError(["message" => "Error activating service"]); } - return \mfResponse::Ok(); + return \mfResponse::Ok(["message" => "Services ordered successfully", "activation_status" => "active"]); } diff --git a/lib/Citycom/OanApiHelper.php b/lib/Citycom/OanApiHelper.php index bcc958779..ae773fb5c 100644 --- a/lib/Citycom/OanApiHelper.php +++ b/lib/Citycom/OanApiHelper.php @@ -165,6 +165,7 @@ class Citycom_OanApiHelper { } $service_return[] = [ + "service_number" => $new_service->service_number, "sublocation_id" => $sublocation_id, "service_type" => $ctag_service_type, "ctag" => $ctag, @@ -176,6 +177,7 @@ class Citycom_OanApiHelper { $service_return[] = [ "sublocation_id" => $sublocation_id, + "service_number" => "30-fggreger-01", "service_type" => $ctag_service_type, "ctag" => $ctag, "ont" => [ From 2402fd983a9e2ec863ed0d750ed3e9b46af34594 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 7 Aug 2025 13:30:53 +0200 Subject: [PATCH 2/2] Fixed Vodia Identity switching when impersonated --- application/User/UserController.php | 30 ++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/application/User/UserController.php b/application/User/UserController.php index 8f43358ec..18d2ab542 100644 --- a/application/User/UserController.php +++ b/application/User/UserController.php @@ -417,21 +417,23 @@ class UserController extends mfBaseController } protected function apiAction() { - if(!$this->me->is(["Admin"])) { - $this->redirect("Dashboard"); - } $do = $this->request->do; $data = []; + $me = new User(); + $me->load(); + + $return = false; + switch($do) { case "sse": - $return = $this->startSuperexpertApi(); + $me->is(["Admin"]) && $return = $this->startSuperexpertApi(); break; case "ese": - $return = $this->extendSuperexpertApi(); + $me->is(["Admin"]) && $return = $this->extendSuperexpertApi(); break; case "endse": - $return = $this->endSuperexpertApi(); + $me->is(["Admin"]) && $return = $this->endSuperexpertApi(); break; case "getVodiaIdentity": $return = $this->getVodiaIdentityApi(); @@ -457,11 +459,14 @@ class UserController extends mfBaseController return ["enabled" => false]; } + $me = new User(); + $me->loadMe(); + $vodia = new Vodia_Api(VODIA_API_URL, VODIA_API_ADMIN_USER, VODIA_API_ADMIN_PASS); - $domain = $this->me->getFlag("vodia_identity_domain")->value(); - $username = $this->me->getFlag("vodia_identity_username")->value(); - $default = $this->me->getFlag("vodia_identity_default")->value(); + $domain = $me->getFlag("vodia_identity_domain")->value(); + $username = $me->getFlag("vodia_identity_username")->value(); + $default = $me->getFlag("vodia_identity_default")->value(); if(!$domain || !$username || !$default) { @@ -503,8 +508,11 @@ class UserController extends mfBaseController return false; } - $domain = $this->me->getFlag("vodia_identity_domain")->value(); - $username = $this->me->getFlag("vodia_identity_username")->value(); + $me = new User(); + $me->loadMe(); + + $domain = $me->getFlag("vodia_identity_domain")->value(); + $username = $me->getFlag("vodia_identity_username")->value(); if(!$domain || !$username) { return ["enabled" => false];