1
0
mirror of https://github.com/altlinux/admc.git synced 2025-01-09 17:18:15 +03:00

todo review

remove outdated todo's
policy results widget todo: dont need to sync policy results widget with
\ group policy tab because policy results always fetches fresh state
\ on selection
some todo's became notes
some old todo's were deleted because they were old
This commit is contained in:
Dmitry Degtyarev 2021-11-10 12:41:36 +04:00
parent 7554b1c030
commit 723d28d439
14 changed files with 11 additions and 35 deletions

View File

@ -106,8 +106,6 @@ void get_auth_data_fn(const char *pServer, const char *pShare, char *pWorkgroup,
AdInterface::AdInterface() {
d = new AdInterfacePrivate(this);
// TODO: this is very bug-prone, error returns should
// set this to false or return false
d->is_connected = false;
d->ld = NULL;
@ -1391,7 +1389,7 @@ bool AdInterface::gpo_add(const QString &display_name, QString &dn_out) {
const QHash<QString, QString> attribute_value_map = {
{ATTRIBUTE_DISPLAY_NAME, display_name},
{ATTRIBUTE_GPC_FILE_SYS_PATH, filesys_path},
// TODO: samba defaults to 1, ADUC defaults to 0. Figure out what's this supposed to be.
// NOTE: samba defaults to 1, ADUC defaults to 0. Figure out what's this supposed to be.
{ATTRIBUTE_FLAGS, "1"},
{ATTRIBUTE_VERSION_NUMBER, "0"},
{ATTRIBUTE_SHOW_IN_ADVANCED_VIEW_ONLY, "TRUE"},
@ -1581,9 +1579,6 @@ QString AdInterface::filesys_path_to_smb_path(const QString &filesys_path) const
out.remove(0, sysvol_i);
// TODO: currently using dc that was used for ldap
// connection, but maybe there's some specific dc that's
// supposed to be used for smb connection?
out = QString("smb://%1%2").arg(d->dc, out);
return out;
@ -1959,8 +1954,6 @@ bool AdInterface::logged_in_as_admin() {
QList<QString> get_domain_hosts(const QString &domain, const QString &site) {
QList<QString> hosts;
// TODO: confirm site query is formatted properly, currently getting no answer back (might be working as intended, since tested on domain without sites?)
// Query site hosts
if (!site.isEmpty()) {
char dname[1000];

View File

@ -377,8 +377,11 @@ bool attribute_replace_security_descriptor(AdInterface *ad, const QString &dn, c
return SEC_ACE_TYPE_ACCESS_ALLOWED;
}();
// TODO: these flags should be set to something
// in some cases, for now just 0
// NOTE: in the future, probably when
// adding advanced security dialog,
// these flags will need to be set to
// something in some cases, but for now
// just 0
ace->flags = 0x00;
ace->access_mask = ace_permission_to_mask_map[permission];
ace->object.object.flags = [&]() {

View File

@ -86,7 +86,6 @@ void country_combo_load_data() {
std::sort(all_countries.begin(), all_countries.end());
// Special case for "None" country
// TODO: this seems really easy to break
const QString none_string = QCoreApplication::translate("country_widget", "None");
string_to_code[none_string] = COUNTRY_CODE_NONE;
all_countries.insert(0, none_string);

View File

@ -36,11 +36,10 @@ CreateComputerDialog::CreateComputerDialog(QWidget *parent)
QList<AttributeEdit *> edit_list;
// TODO: "Assign this computer account as a pre-Windows 2000 computer". Is this needed?
// TODO: "The following user or group may join this computer to a domain". Tried to figure out how this is implemented and couldn't see any easy ways via attributes, so probably something to do with setting ACL'S.
// TODO: "This is a managed computer" checkbox and an edit for guid/uuid which I assume modifies objectGUID?
// NOTE: some obscure missing features:
// "Assign this computer account as a pre-Windows 2000 computer". Is this needed?
// "The following user or group may join this computer to a domain". Tried to figure out how this is implemented and couldn't see any easy ways via attributes, so probably something to do with setting ACL'S.
// "This is a managed computer" checkbox and an edit for guid/uuid which I assume modifies objectGUID?
sam_name_edit = new SamNameEdit(ui->sam_name_edit, ui->sam_name_domain_edit, &edit_list, this);

View File

@ -25,8 +25,6 @@
#include "globals.h"
#include "select_container_dialog.h"
// TODO: missing "Entire directory" in search base combo. Not 100% sure what it's supposed to be, the tippy-top domain? Definitely need it for work with multiple domains.
SelectBaseWidget::SelectBaseWidget(QWidget *parent)
: QWidget(parent) {
ui = new Ui::SelectBaseWidget();

View File

@ -67,9 +67,6 @@ const QHash<PolicyResultsColumn, GplinkOption> column_to_option = {
{PolicyResultsColumn_Enforced, GplinkOption_Enforced},
};
// TODO: need to sync this with changes done through group
// policy tab (just call load after properties is closed?)
PolicyResultsWidget::PolicyResultsWidget(QWidget *parent)
: QWidget(parent) {
ui = new Ui::PolicyResultsWidget();

View File

@ -176,8 +176,6 @@ void SelectObjectDialog::on_remove_button() {
}
}
// TODO: can optimize if dialog returns objects
// directly, but will need to keep them around
void SelectObjectDialog::open_advanced_dialog() {
auto dialog = new SelectObjectAdvancedDialog(class_list, this);
dialog->open();

View File

@ -27,7 +27,7 @@
#include <QDebug>
// TODO: missing "comment" and "owner" field, BUT not sure
// NOTE: missing "comment" and "owner" field, BUT not sure
// about their inclusion. They straddle the boundary between
// admc/gpui. On windows they are displayed/editable in both
// GPM(admc equivalent) and GPME(gpui equivalent). Comment

View File

@ -231,7 +231,6 @@ void GroupPolicyTab::reload_gplink() {
return;
}
// TODO: use filter to search only for needed gpo's, not all of them (dn=dn1 or dn=dn2 or ...)
const QString base = g_adconfig->domain_head();
const SearchScope scope = SearchScope_All;
const QString filter = filter_CONDITION(Condition_Equals, ATTRIBUTE_OBJECT_CLASS, CLASS_GP_CONTAINER);

View File

@ -290,8 +290,6 @@ bool MembershipTab::apply(AdInterface &ad, const QString &target) {
}
void MembershipTab::on_add_button() {
// TODO: aduc has "other objects" section in class selection for adding members to groups. No idea what "other objects" are. No results come up when searching for other objects in current test domain.
// TODO: there's also "service account", no idea what that is either.
const QList<QString> classes = [this]() -> QList<QString> {
switch (type) {
case MembershipTabType_Members: return {

View File

@ -30,8 +30,6 @@ ProfileTab::ProfileTab() {
new StringEdit(ui->profile_path_edit, ATTRIBUTE_PROFILE_PATH, &edits, this);
new StringEdit(ui->script_path_edit, ATTRIBUTE_SCRIPT_PATH, &edits, this);
// TODO: verify that local path exists. Also add alternate input method named "Connect"? Has drop-down of disk letters and path input.
new StringEdit(ui->home_dir_edit, ATTRIBUTE_HOME_DIRECTORY, &edits, this);
edits_connect_to_tab(edits, this);

View File

@ -29,8 +29,6 @@
#include <QTreeView>
#include <QVBoxLayout>
// TODO: test primary functionality
// NOTE: there's a primary group by default hence the offset
// by 1 of all row values

View File

@ -29,8 +29,6 @@
#include <QTreeView>
#include <QVBoxLayout>
// TODO: test primary functionality
void ADMCTestMembersTab::init() {
ADMCTest::init();

View File

@ -35,8 +35,6 @@
// and deleting gpo's takes too much time. If we did that
// for every test they would take forever.
// TODO: test modify operations
const QString gpo_name = "test_policy_for_admc_test_results_widget";
void ADMCTestPolicyResultsWidget::initTestCase() {