fix FS-7049 - Count and list agents based on their state
This commit is contained in:
parent
35558993c9
commit
80649df65c
|
@ -3220,6 +3220,7 @@ SWITCH_STANDARD_API(cc_config_api_function)
|
|||
const char *sub_action = argv[0 + initial_argc];
|
||||
const char *queue_name = argv[1 + initial_argc];
|
||||
const char *status = NULL;
|
||||
const char *state = NULL;
|
||||
struct list_result cbt;
|
||||
|
||||
/* queue list agents */
|
||||
|
@ -3227,7 +3228,13 @@ SWITCH_STANDARD_API(cc_config_api_function)
|
|||
if (argc-initial_argc > 2) {
|
||||
status = argv[2 + initial_argc];
|
||||
}
|
||||
if (status) {
|
||||
if (argc-initial_argc > 3) {
|
||||
state = argv[3 + initial_argc];
|
||||
}
|
||||
if (state) {
|
||||
sql = switch_mprintf("SELECT agents.* FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q' AND agents.status = '%q' AND agents.state = '%q'", queue_name, status, state);
|
||||
}
|
||||
else if (status) {
|
||||
sql = switch_mprintf("SELECT agents.* FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q' AND agents.status = '%q'", queue_name, status);
|
||||
} else {
|
||||
sql = switch_mprintf("SELECT agents.* FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q'", queue_name);
|
||||
|
@ -3266,6 +3273,7 @@ SWITCH_STANDARD_API(cc_config_api_function)
|
|||
const char *sub_action = argv[0 + initial_argc];
|
||||
const char *queue_name = argv[1 + initial_argc];
|
||||
const char *status = NULL;
|
||||
const char *state = NULL;
|
||||
char res[256] = "";
|
||||
|
||||
/* queue count agents */
|
||||
|
@ -3273,7 +3281,13 @@ SWITCH_STANDARD_API(cc_config_api_function)
|
|||
if (argc-initial_argc > 2) {
|
||||
status = argv[2 + initial_argc];
|
||||
}
|
||||
if (status) {
|
||||
if (argc-initial_argc > 3) {
|
||||
state = argv[3 + initial_argc];
|
||||
}
|
||||
if (state) {
|
||||
sql = switch_mprintf("SELECT count(*) FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q' AND agents.status = '%q' AND agents.state = '%q'", queue_name, status, state);
|
||||
}
|
||||
else if (status) {
|
||||
sql = switch_mprintf("SELECT count(*) FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q' AND agents.status = '%q'", queue_name, status);
|
||||
} else {
|
||||
sql = switch_mprintf("SELECT count(*) FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q'", queue_name);
|
||||
|
|
Loading…
Reference in New Issue