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 *sub_action = argv[0 + initial_argc];
|
||||||
const char *queue_name = argv[1 + initial_argc];
|
const char *queue_name = argv[1 + initial_argc];
|
||||||
const char *status = NULL;
|
const char *status = NULL;
|
||||||
|
const char *state = NULL;
|
||||||
struct list_result cbt;
|
struct list_result cbt;
|
||||||
|
|
||||||
/* queue list agents */
|
/* queue list agents */
|
||||||
|
@ -3227,7 +3228,13 @@ SWITCH_STANDARD_API(cc_config_api_function)
|
||||||
if (argc-initial_argc > 2) {
|
if (argc-initial_argc > 2) {
|
||||||
status = argv[2 + initial_argc];
|
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);
|
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 {
|
} else {
|
||||||
sql = switch_mprintf("SELECT agents.* FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q'", queue_name);
|
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 *sub_action = argv[0 + initial_argc];
|
||||||
const char *queue_name = argv[1 + initial_argc];
|
const char *queue_name = argv[1 + initial_argc];
|
||||||
const char *status = NULL;
|
const char *status = NULL;
|
||||||
|
const char *state = NULL;
|
||||||
char res[256] = "";
|
char res[256] = "";
|
||||||
|
|
||||||
/* queue count agents */
|
/* queue count agents */
|
||||||
|
@ -3273,7 +3281,13 @@ SWITCH_STANDARD_API(cc_config_api_function)
|
||||||
if (argc-initial_argc > 2) {
|
if (argc-initial_argc > 2) {
|
||||||
status = argv[2 + initial_argc];
|
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);
|
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 {
|
} else {
|
||||||
sql = switch_mprintf("SELECT count(*) FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q'", queue_name);
|
sql = switch_mprintf("SELECT count(*) FROM agents,tiers WHERE tiers.agent = agents.name AND tiers.queue = '%q'", queue_name);
|
||||||
|
|
Loading…
Reference in New Issue