Zarządzanie sprawami

Sprawa to zbiór wszystkich danych związanych z określonym tematem, na przykład postępowanie sądowe lub dochodzenie. Sprawa obejmuje:

  • Zapisane zapytania
  • Blokady
  • Konta, którym udostępniono sprawę
  • Eksportowanie zbiorów
  • Rejestr kontrolny

Aby pracować z zasobami Vault, konto musi mieć wymagane uprawnienia Vault i dostęp do sprawy. Aby uzyskać dostęp do sprawy, konto musi być jej twórcą, sprawa musi być udostępniona temu kontu lub konto musi mieć uprawnienie Wyświetlanie wszystkich spraw.

Sprawa może mieć te stany:

StanOpis
OtwórzSprawa jest aktywna, więc możesz tworzyć blokady, wykonywać wyszukiwania i eksportować dane.
ZamknięteZwykle po zakończeniu dochodzenia sprawa jest zamknięta.

Zamknięte sprawy można otworzyć ponownie w każdej chwili.

UsuniętoSprawę można usunąć, aby stała się całkowicie niedostępna.

Usunięta sprawa pozostanie w koszu przez około 30 dni. W tym czasie można ją przywrócić. Po tym czasie dane są trwale usuwane.

cykl życia sprawy

Tworzenie sprawy

W tym przykładzie tworzymy nową sprawę o określonej nazwie i opisie.

Java

Matter matter = new Matter();
matter.setName("Matter Name");
matter.setDescription("Matter Description");
Matter createdMatter = client.matters().create(matter).execute();
 

Python

def create_matter(service):
  matter_content = {
      'name': 'Matter Name',
      'description': 'Matter Description',
  }
  matter = service.matters().create(body=matter_content).execute()
  return matter

Rozpatrywanie sprawy

Dostępne są 2 widoki sprawy: PODSTAWOWY (domyślny) i PEŁNY. Widok PEŁNY dodaje do widoku PODSTAWOWEGO uprawnienia do treści.

W tym przykładzie zwracamy określony temat.

Java

client.matters().get(matterId).execute(); // Returns BASIC view.
client.matters().get(matterId).setView("BASIC").execute();
client.matters().get(matterId).setView("FULL").execute();

Python

matter_id = getMatterId()
service.matters().get(matterId=matter_id).execute(); // Returns BASIC view.
service.matters().get(matterId=matter_id, view='BASIC').execute();
service.matters().get(matterId=matter_id, view='FULL').execute();

Wyświetlanie spraw

Ten przykład pokazuje, jak wyświetlić wszystkie sprawy otwarte, zamknięte i usunięte (domyślnie maksymalnie 100 stron na żądanie).

Java

List mattersList = client.matters().list().execute().getMatters();

Python

mattersList = client.matters().list().execute()

W tym przykładzie pokazujemy, jak wyświetlić wszystkie otwarte, zamknięte i usunięte sprawy z różnych żądań.

Java

ListMattersResponse firstPageResponse = client.matters().list().setPageSize(20).execute();
 
String nextPageToken = firstPageResponse.getNextPageToken());
if (nextPageToken != null) {
  client.matters().list().setPageToken(nextPageToken).setPageSize(20).execute();
}

Python

list_response1 = service.matters().list(
        view='FULL', pageSize=10).execute()
for matter in list_response1['matters']:
    print(matter)

if ‘nextPageToken’ in list_response1:
    list_response2 = service.matters().list(
        pageSize=10, pageToken=list_response1['nextPageToken']).execute()
    for matter in list_response2['matters']:
      print(matter)

Ten przykład pokazuje, jak wyświetlić sprawy w określonym stanie.

Java

// Only get open matters.
List openMattersList = client.matters().list().setState("OPEN").execute().getMatters();

// Only get closed matters.
List closedMattersList = client.matters().list().setState("CLOSED").execute().getMatters();

// Only get deleted matters.
List deletedMattersList = client.matters().list().setState("DELETED").execute().getMatters();

Python

# Only get open matters.
openMattersList = client.matters().list(
    state='OPEN').execute()

# Only get closed matters.
closedMattersList = client.matters().list(
    state='CLOSED').execute()

# Only get deleted matters.
deletedMattersList = client.matters().list(
    state='DELETED').execute()

Aktualizowanie sprawy

W tym przykładzie zmieniamy nazwę i opis sprawy.

Java

String matterId = "matterId";
Matter matter = new Matter().setName("New Name").setDescription("New Description");
vault.matters().update(matterId, matter).execute();

Python

def update_matter(service, matter_id):
    wanted_matter = {
        'name': 'New Matter Name',
        'description': 'New Description'
    }
    updated_matter = service.matters().update(
        matterId=matter_id, body=wanted_matter).execute()
    return updated_matter

Zamykanie sprawy

Z tego przykładu dowiesz się, jak zamknąć sprawę.

Java

String matterId = "matterId";
// If the matter still has holds, this operation will fail.
client.matters().close(matterId, new CloseMatterRequest()).execute();
 

Python

def close_matter(service, matter_id):
    close_response = service.matters().close(
        matterId=matter_id, body={}).execute()
    return close_response['matter']
 

Usuwanie, przywracanie i ponowne otwieranie sprawy

Z tego przykładu dowiesz się, jak usunąć, przywrócić lub ponownie otworzyć sprawę.

Java

Matter matter = client.matters().get(matterId).execute();
 
// Delete the matter.
client.matters().delete(matter.getMatterId());
// Undelete the matter.
client.matters().undelete(matter.getMatterId(), new UndeleteRequest());
// Reopen the matter.
client.matters().reopen(matter.getMatterId(), new ReopenMatterRequest());
 

Python

def reopen_matter(service, matter_id):
    reopen_response = service.matters().reopen(
        matterId=matter_id, body={}).execute()
    return reopen_response['matter']

def delete_matter(service, matter_id):
    service.matters().delete(matterId=matter_id).execute()
    return get_matter(matter_id)

def undelete_matter(service, matter_id):
    undeleted_matter = service.matters().undelete(
        matterId=matter_id, body={}).execute()
    return undeleted_matter

 

Uprawnienia dotyczące Matter

Każda sprawa ma zestaw uprawnień określający, kto może ją wyświetlać lub edytować. Możesz to sprawdzić, wyświetlając pełną wersję sprawy.

Java

String matterId = "Matter Id";
String accountId = "Account Id";
 
// List permissions for a matter.
Matter matter = client.matters().get(matterId).setView("FULL").execute();
List matterPermissions = matter.getMatterPermissions();
 
// Add a user to the permission set.
client
    .matters()
    .addPermissions(matterId)
    .setMatterPermissionAccountId(accountId)
    .setMatterPermissionRole("COLLABORATOR")
    .execute();
 
// Remove a user from the permission set.
client
    .matters()
    .removePermissions(matterId)
    .setAccountId(accountId)
    .execute();

Python

def list_matter_permission(service, matter_id):
    matter = service.matters().get(matterId=matter_id, view='FULL').execute()
    return matter['matterPermissions']
 
def add_matter_permission(service, matter_id, account_id):
    permission = service.matters().addPermissions(
        matterId=matter_id,
        matterPermission_accountId=account_id,
        matterPermission_role='COLLABORATOR',
        sendEmails='False',
        ccMe='False').execute()
    return permission

def remove_matter_permission(service, matter_id, account_id):
    service.matters().removePermissions(
        matterId=matter_id, accountId=account_id).execute()