---
title: "Documents"
description: "Pliki i foldery. Każda aplikacja jest modułem na jednym modelu danych."
canonical: "https://obop-platform.sliplane.app/pl/apps/documents/"
lang: "pl"
---

# Documents

## Do czego służy

A register of business documents with folder, kind, owner, expiry and confidentiality. It stores references to documents, not the file contents.

## Co pakiet robi, a czego nie robi

A register of business documents: folders, document records with kind, owner, expiry and confidentiality, and a draft, published and archived flow. It stores references, not file contents.

## Modele

### `documents_folder`

A folder that groups documents

Grupa odczytu: `documents.user`. Grupa zapisu: `documents.manager`.

| Pole | Rodzaj | Klasa danych | Dane osobowe | Grupa | Agenci widzą | Opis |
|---|---|---|---|---|---|---|
| `name` | text | `none` | nie | `documents.user` | jawnie | Folder name |
| `parent_id` | ref → documents_folder | `none` | nie | `documents.user` | jawnie | The folder this one sits in |
| `description` | longtext | `none` | nie | `documents.user` | jawnie | What belongs in the folder |

### `documents_document`

A contract, policy, certificate or other document on record

Grupa odczytu: `documents.user`. Grupa zapisu: `documents.user`.

| Pole | Rodzaj | Klasa danych | Dane osobowe | Grupa | Agenci widzą | Opis |
|---|---|---|---|---|---|---|
| `title` | text | `none` | nie | `documents.user` | jawnie | Document title |
| `folder_id` | ref → documents_folder | `none` | nie | `documents.user` | jawnie | The folder the document is filed in |
| `kind` | select (contract, invoice, policy, report, certificate, other) | `none` | nie | `documents.user` | jawnie | Type of document: contract, invoice, policy, report, certificate, other |
| `confidentiality` | select (public, internal, confidential, restricted) | `none` | nie | `documents.user` | jawnie | Who should see it, as a label for readers: public, internal, confidential, restricted |
| `owner` | text | `internal` | tak | `documents.user` | zamaskowane | Name of the person responsible for the document |
| `reference` | text | `none` | nie | `documents.user` | jawnie | Reference number, for example a contract number |
| `location` | text | `none` | nie | `documents.user` | jawnie | Where the file is stored, such as a link or archive box |
| `expires_on` | date | `none` | nie | `documents.user` | jawnie | Date after which the document is no longer valid (YYYY-MM-DD) |
| `summary` | longtext | `none` | nie | `documents.user` | jawnie | What the document says, in a few lines |
| `state` | select (draft, published, archived) | `none` | nie | `documents.user` | jawnie | Document status: draft, published, archived |

## Przepływy pracy

### `documents_document`

| Akcja | Przenosi | Kto może uruchomić | Zatwierdzenie |
|---|---|---|---|
| `documents_document.publish` | state: draft → published | `documents.user` | nie |
| `documents_document.archive` | state: published → archived | `documents.manager` | nie |

## Grupy uprawnień

Grupy używane przez tę aplikację:

- `documents.manager`
- `documents.user`

## Kroki zatwierdzania

Żaden krok w tej aplikacji nie wymaga zatwierdzenia, poza usuwaniem rekordów.

## Co agenci mogą, a czego nie mogą

Agent może odczytywać, wyszukiwać, tworzyć i aktualizować rekordy tej aplikacji oraz uruchamiać akcje niewymagające zatwierdzenia, w ramach grup uprawnień swojego tokenu.

Te kroki może tylko zaproponować, a człowiek musi je zatwierdzić: `documents_folder.delete`, `documents_document.delete`.

Dane osobowe są maskowane jako tokeny zastępcze: `documents_document.owner`.

## Zależności

Brak.

## Instalacja

Zainstaluj ją w aplikacji Customize (Marketplace) lub z wiersza poleceń:

```bash
obop modules install-from documents
```

Wymaga bazy danych i uprawnień administratora.

## Zbuduj własną

[Przewodnik po modułach pokazuje, jak pisze się takie aplikacje](/pl/docs/reference/module-manifest/)
